dioxus-icons-game 0.2.2

Game icons for dioxus framework
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
// Auto Generated! DO NOT EDIT!

use dioxus::prelude::*;

use crate::IconShape;

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ace;

impl IconShape for Ace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.594 20.78c-.507.013-1.026.034-1.53.064-2.695.16-5.362.59-7.94 1.28-10.308 2.763-19.663 9.946-25 19.189L46.75 326.03c-5.336 9.244-6.887 20.974-4.125 31.283 2.762 10.308 9.945 19.663 19.188 25L247.53 489.53c9.244 5.338 20.974 6.89 31.282 4.126 10.31-2.762 19.695-9.944 25.032-19.187L468.22 189.75c5.335-9.243 6.855-20.972 4.092-31.28-2.762-10.31-9.944-19.696-19.187-25.032l-185.72-107.22c-6.498-3.75-14.213-5.615-21.81-5.437zm9.844 28.564c3.917-.088 7.89.866 11.53 2.968 10.595 6.117 14.242 19.658 8.126 30.25-2.82 4.883-7.23 8.286-12.188 9.938l-1.625 39.625-18.655-.78 1.625-39.814-33.688 21.314-10-15.78 33.625-21.283c-1.005-5.078-.26-10.506 2.532-15.343 4.013-6.952 11.238-10.926 18.718-11.093zm70.968 88l.188 19.125c-1 3.73.01 12.74 3.312 23.905 3.302 11.164 8.36 24.527 12.875 38.656 9.032 28.26 16.794 60.82.25 87.5-15.642 25.232-42.36 33.737-64.592 26.783-14.434-4.516-26.79-15.427-33.72-30.657l-2.343 57.094-65.563-37.875 48.407-30.656c-16.727 1.395-32.68-4.01-44.157-14.19-17.73-15.725-24.233-43.607-8.22-69.405 16.875-27.184 48.38-36.36 76.626-42.344 14.122-2.99 27.74-5.21 38.78-7.968 11.04-2.758 18.543-7.15 22.72-9.875l15.436-10.093zm-18.28 32.844L253.53 211.03l15.157 8.75-15.843 27.44c-27.918 4.816-52.84-22.152-35.28-50.44.752-1.212 1.554-2.358 2.405-3.468-13.226 5.49-24.335 13.015-31.25 24.157-11.946 19.242-7.024 35.15 4.75 45.593 11.77 10.442 30.965 14.336 49.843 3.437l14-8.094v16.188c0 22.673 12.26 36.352 26.718 40.875 14.46 4.522 31.303.288 43.126-18.783 6.682-10.776 7.695-24.474 5.656-39.437-.696 1.596-1.53 3.144-2.468 4.656-17.294 27.896-52.04 21.52-61.344-5.28l15.875-27.5 15.156 8.75 8.095-67.69zm-55.563 215.406l18.656.75-1.626 39.812 33.687-21.312 10 15.78-33.624 21.313c.995 5.07.255 10.52-2.53 15.344-6.117 10.594-19.688 14.212-30.282 8.095-10.595-6.117-14.21-19.655-8.094-30.25 2.82-4.883 7.23-8.286 12.188-9.938l1.625-39.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AcidBlob;

impl IconShape for AcidBlob {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.125 99.406c-65.804 0-124.928 29.754-167.656 69.875-42.73 40.122-69.75 90.556-69.75 135.126 0 44.57 29.306 75.8 72.56 93.78 43.257 17.983 101.178 24.845 164.845 24.845s121.588-6.86 164.844-24.842c43.254-17.982 72.53-49.212 72.53-93.782 0-44.57-26.99-95.004-69.72-135.125-42.727-40.12-101.85-69.874-167.655-69.874zm0 18.688c60.148 0 115.033 27.43 154.844 64.812 39.81 37.382 63.842 84.752 63.842 121.5 0 36.748-21.747 60.17-61.03 76.5-39.285 16.33-95.373 23.438-157.657 23.438-62.284 0-118.404-7.107-157.688-23.438-39.283-16.33-61.03-39.752-61.03-76.5s24.032-84.118 63.843-121.5c39.81-37.38 94.727-64.812 154.875-64.812zm-54.72 38.594c-3.344-.012-7.06.508-11.124 1.656-20.917 5.907-33.254 41.475-55.06 62.28-24.13 23.022-62.7 40.588-67.907 72.657-3.98 18.225 7.183 36.783 25.374 41.658 18.726 5.017 38.233-6.243 43.25-24.97.723-2.695 1.083-5.41 1.157-8.093h.156c-1.697-38.35 7.258-90.663 56.03-93.5 39.072-2.273 40.46-51.575 8.126-51.688zm87.345 5.218c-11.417.332-23.452 6.93-23.188 18 .53 22.14 37.174 29.432 42.657 1.53 2.74-13.95-8.053-19.862-19.47-19.53zm60 19.438c-18.423.31-18.102 16.73-8.47 23.062 49.25 32.365 8.474 45.84-16.686 32.03-23.675-12.998-87.44-19.36-111.47 3.94-19.138 18.553-3.26 53.928 26.407 32.78 49.634-35.375 94.1-15.667 113.5 28.78l.064-.03c9.498 21.795 33.91 34.08 57.53 27.75 26.004-6.967 41.594-33.934 34.626-59.937-1.334-4.978-3.41-9.56-6.063-13.69-11.404-37.086-37.062-62.783-77.218-73.03-4.758-1.214-8.808-1.713-12.22-1.656zm47.78 70.75c13.585-.253 25.967 8.665 29.658 22.437 4.353 16.248-5.16 32.71-21.407 37.064-16.247 4.354-32.677-5.128-37.03-21.375-4.353-16.248 5.127-32.71 21.375-37.064 2.03-.544 4.08-.875 6.094-1 .44-.027.873-.054 1.31-.062zm-295.186 32.094c.48-.012.952 0 1.437.03 1.11.072 2.224.263 3.345.563 8.97 2.405 14.153 11.376 11.75 20.345-2.404 8.97-11.374 14.153-20.344 11.75-8.97-2.403-14.152-11.373-11.75-20.344 1.973-7.358 8.378-12.178 15.564-12.342zm179.53 10.562c-15.81.215-34.724 5.274-47.468 12.97-14.87 5.774-25.5 20.262-25.5 37.092 0 21.845 17.907 39.75 39.75 39.75.43 0 .854-.017 1.28-.03 32.518 2.444 76.975-14.784 76.47-31.813-.573-19.364-36.953-.27-38-21.876-.47-9.746 27.4-11.914 21.03-25.5-3.588-7.66-14.52-10.77-27.56-10.594zm-33.218 28.97c11.743 0 21.094 9.35 21.094 21.092 0 11.745-9.35 21.063-21.094 21.063-11.743 0-21.062-9.318-21.062-21.063 0-11.744 9.32-21.093 21.062-21.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Acorn;

impl IconShape for Acorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M422.625 18.28c-24.68.13-51.932 15.455-74.094 36.907 1.868 1.036 3.742 2.07 5.626 3.157 8.05 4.642 15.615 9.363 22.72 14.125 25.19-9.583 55.47-14.465 103.437-2.97-12.036-37.07-33.633-51.345-57.688-51.22zM237.78 40.22l28.97 94.25c12.57 6.443 24.827 13.41 36.813 20.843l-36.625-111.97c-8.476-1.68-16.657-2.662-24.563-3-1.54-.065-3.074-.108-4.594-.124zm-19.218 1.124c-1.602.206-3.202.427-4.78.687-8.815 1.454-17.338 3.755-25.595 6.876l15.688 58.625c13.62 4.75 26.922 10.064 39.906 15.907l-25.218-82.093zm69.875 7.593l40.157 122.876c15.922 11.124 31.32 23.128 46.25 35.906L325.906 64.374c-13.092-6.527-25.568-11.643-37.47-15.438zm-117.5 7.844c-14.657 7.857-28.523 18.348-41.875 31.095 18.42 3.334 36.298 7.632 53.657 12.813L170.937 56.78zm179.25 20.907l53.282 155.97c10.798 10.382 21.322 21.187 31.624 32.374.395-1.174.75-2.332 1.125-3.5L379.843 97.407c-8.84-6.63-18.706-13.185-29.656-19.72zM136.595 108.25c-17.05 11.436-32.43 27.876-45.344 50.22-42.303 73.19-61.83 198.325-24.53 265.717l-.064-.062c.752 23.392-7.597 45.63-17.812 67.594 27.268-12.192 54.897-17.815 82.687-20.783l-.468-.343c87.895 19.01 212.87-49.42 260.688-132.156 13.547-23.44 20.606-46.14 22.28-67.72-77.218-81.572-166.868-139.912-277.436-162.468zm271.469 14L444.188 228c2.638-20.573.96-39.855-5.688-58.25-5.856-16.202-15.717-32.01-30.438-47.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AerialSignal;

impl IconShape for AerialSignal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.188 38.875C67.478 79.483 19.624 155.295 19.624 242.688c0 87.858 48.383 163.966 119.72 204.406-47.45-46.694-78.25-120.545-78.25-204.406 0-83.27 30.218-157.06 77.093-203.813zm237.687 2.313c45.574 46.86 74.75 119.59 74.75 201.5 0 82.128-29.53 154.623-75.313 201.468C444 403.043 490.344 328.56 490.344 242.686c0-85.87-46.022-160.33-114.47-201.5zm-179.28 46.718c-61.425 24.617-105.126 84.56-105.126 154.78 0 70.413 43.995 130.262 105.686 154.75-41.348-30.252-69.47-88.174-69.47-154.748 0-66.367 27.774-124.45 68.908-154.782zm142.5 8.78c35.18 31.963 57.81 85.566 57.81 146 0 61.134-23.1 114.77-58.967 146.595 52.006-28.25 87.593-83.246 87.593-146.592 0-62.886-35.052-117.566-86.436-146zm-115.22 44.064c-42.65 14.34-73.125 54.454-73.125 101.938 0 47.91 30.968 88.504 74.22 102.5-27.047-18.556-45.97-57.28-45.97-102.5 0-44.573 18.457-83.072 44.875-101.938zm78.094 3.344c23.836 19.926 39.342 56.72 39.342 98.594 0 42.514-15.99 79.48-40.437 99.187 38.416-16.463 65.375-54.746 65.375-99.188 0-44-26.476-81.867-64.28-98.593zM262 211.344c-20.3 0-36.75 16.45-36.75 36.75 0 15.484 9.573 28.743 23.125 34.156v213.125h27.25V282.25c13.558-5.41 23.125-18.668 23.125-34.156 0-20.3-16.45-36.75-36.75-36.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AerodynamicHarpoon;

impl IconShape for AerodynamicHarpoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.285 16.297v20.52L127.088 163.57c35.955 91.222 6.358 156.645-59.43 178.098l111.852 34.758c6.88-3.465 12.225-7.756 17.69-12.64 38.677-34.554 39.72-103.556-23.38-190.208 98.413 71.66 174.565 60.578 202.85 5.686L342.545 66.78c-21.29 65.28-86.246 95.3-176.545 60.794L36.908 16.297H18.285zM401.998 221.48c-18.06 55.37-84.184 71.942-172.205 7.846 64.098 88.022 47.94 153.736-7.432 171.79l73.095 22.714c4.504-2.256 8.003-5.05 11.566-8.252l-.002-.006c25.274-22.58 25.955-67.676-15.28-124.302 64.31 46.833 114.076 39.59 132.56 3.716L402 221.48zm41.68 114.366c-10.75 32.968-50 42.71-102.408 4.545 38.163 52.41 28.42 91.66-4.55 102.41l153.8 46.843-46.84-153.797h-.002z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aerosol;

impl IconShape for Aerosol {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M339.28 22.78c-.668-.004-1.33.015-2 .032-38.144 1.024-74.22 38.912-57.31 80.876-26.3 2.354-41.526 27.584-38.345 50.562 10.39 31.44 33.868 44.84 61.625 45-27.346 7.154-55.193 5.523-72.406-17.625L149.5 212.313l108 51.406c11.25-12.602 26.22-17.474 42.375-17.5 8.753-.016 17.863 1.386 26.906 3.75-20.033.113-37.856 7.13-50.124 22.843l.313.156c-1.397 1.52-2.605 3.077-3.658 4.624-.057.084-.13.165-.187.25-.242.38-.482.767-.72 1.156-.412.68-.82 1.387-1.217 2.094-.07.126-.15.247-.22.375-.003.007.005.022 0 .03-11.695 23.346 12.238 46.864 36.938 41.688-22.892 36.36 18.478 64.646 47.688 57.062-10.04-25.77 2.36-50.004 21.75-69.625-14.102 24.75-13.893 52.542 9.906 77.78 26.3 18.466 74.21 15.382 83.094-28.624 5.17 5.78 15.042 10.448 22.687 12.72V71.906c-17.245-40.312-69.907-46.36-98.592-10.25-13.265-27.505-34.395-38.723-55.157-38.875zm42.908 79.876c-26.62 22.628-41.455 30.664-52.657 61.375 1.347-24.357-3.39-39.26-21.936-53.81 24.01 8.668 47.858 8.277 74.594-7.564zm26.875 44.313c-11.567 35.16 22.327 70.176 54.75 63.5-16.33 17.418-37.404 13.692-51.844.968-24.604 6.975-44.02 34.767-34.845 62.656-30.44-27.578-5.184-70.735 24.625-74.97-9.305-15.74-9.998-36.473 7.313-52.155zm-284.157 38.436c-7.5 0-14.256 1.248-18.28 2.78-1.657.632-2.427 1.163-2.94 1.533v46.03c.514.37 1.283.9 2.94 1.53 4.024 1.535 10.78 2.782 18.28 2.782 7.5 0 14.257-1.247 18.28-2.78 1.657-.632 2.427-1.162 2.94-1.532v-11.344c-6.513-.153-11.75-5.537-11.75-12.156 0-6.62 5.237-12.003 11.75-12.156V189.72c-.513-.37-1.282-.902-2.94-1.532-4.024-1.534-10.78-2.782-18.28-2.782zM88.844 247.5c-4.025 1.568-7.708 3.378-10.938 5.406-11.378 7.147-17.156 15.95-17.156 26.656 0 .01-.028.906 2.406 2.938s6.928 4.494 12.875 6.594c11.895 4.2 29.47 7.063 48.876 7.062 19.407 0 36.98-2.863 48.875-7.062 5.95-2.1 10.443-4.562 12.876-6.594 2.434-2.032 2.406-2.93 2.406-2.938 0-9.758-5.77-18.805-17.218-26.156-3.284-2.11-7.013-4.012-11.094-5.656-.45.516-.902 1.004-1.375 1.438-2.818 2.58-6.013 4.22-9.53 5.562-7.037 2.68-15.56 4-24.94 4-9.378 0-17.9-1.32-24.936-4-3.52-1.34-6.715-2.983-9.532-5.563-.55-.502-1.08-1.074-1.594-1.687zm-27.906 55.53v192.533h127.937V303.03c-2.75 1.353-5.706 2.57-8.875 3.69-14.71 5.192-33.905 8.154-55.094 8.155-21.19 0-40.385-2.963-55.094-8.156-3.17-1.12-6.123-2.337-8.874-3.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Afterburn;

impl IconShape for Afterburn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.313 17.78v62.095L170.22 231.75 43 211.625s64.877 30.418 116.344 54.438l-47.375 23.25L279.687 355c-3.582-3.086-7.13-6.347-10.594-9.813-39.543-39.54-54.888-88.3-34.28-108.906 20.605-20.604 69.362-5.26 108.905 34.282 3.355 3.356 6.53 6.754 9.53 10.22l-64.938-167.813L265 162.187c-24.094-51.623-55.03-117.532-55.03-117.532l19.468 122.875L79.655 17.78H18.312zm425.312 243.345l-43.406 46.938-23.595 5.875-33.594-18.344-50.06 50.094 18.31 33.562-5.874 23.563-46.03 42.562 80.093 14.03 28.717 28.72 13.188-13.22-51.5-51.53L469 471.625l-48.656-140.25 52.28 52.28 13.22-13.217-27.97-27.97-14.25-81.343zM392.062 357.5c69.03 70.208 33.083 106.35-37.218 37.22l37.22-37.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AirZigzag;

impl IconShape for AirZigzag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M 185.90107,21.667141 C 273.66638,103.1344 325.90096,190.87541 363.18841,289.15305 275.49038,184.91376 242.31441,163.72278 116.88975,109.32966 208.45258,181.54047 226.10768,200.34679 279.72895,286.04514 209.68602,233.82364 113.352,182.99257 20.763168,155.41009 l 0,85.40121 c 95.446312,24.53997 244.609212,97.10025 311.841382,175.21478 -0.6242,-25.57532 -3.9844,-51.14691 -14.51542,-76.72223 l 108.86098,111.97263 c -6.54474,-34.00574 -20.51072,-67.18544 -41.9895,-99.52977 L 499.0058,468.38214 C 461.7632,292.83657 343.06642,104.33981 185.90294,21.667141z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlienFire;

impl IconShape for AlienFire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.28 21.656c-15.214 146.58-91.146 112.617-109.75 212.906-42.198-38.566-53.434-86.512 10.814-148.937-142.44 81.374-91.17 186.01 13.312 271.813 26.894 32.327 66.16 57.977 85.625 132.78 19.467-74.803 58.734-100.452 85.626-132.78C450.39 271.634 501.66 166.998 359.22 85.625c64.258 62.435 53.03 110.4 10.81 148.97C351.44 134.268 275.5 168.25 260.28 21.654zm0 73.03c5.482 52.788 24.244 66.03 40.595 81.658 21.9 13.69 36.53 38.02 36.53 65.656 0 30.134-17.377 56.306-42.624 69.063-12.9 13.74-26.514 30.443-34.5 61.125-7.884-30.305-21.24-46.98-34-60.625-25.777-12.565-43.593-39.032-43.593-69.563 0-28.21 15.224-52.98 37.875-66.5 16.14-15.277 34.338-28.97 39.72-80.813zm-.25 88.658c-32.51 0-58.655 26.147-58.655 58.656 0 32.512 26.144 58.656 58.656 58.656 32.513 0 58.69-26.144 58.69-58.656 0-32.51-26.177-58.656-58.69-58.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlienSkull;

impl IconShape for AlienSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.656 19.625c-65.485.31-130.968 43.688-156.375 129.563C177.4 179.51 212.086 215.23 208.47 236v.063c-2.34 13.46-20.787 20.62-54.47 16.093-6.255-.098-12.713-1.27-19.094-3.5-11.202-2.527-23.665-6.108-37.344-10.844 24.63 22.796 53.14 39.59 83.47 50.125 5.516 101.8 24.05 168.38 46.437 199.407.95-143.2 15.592-215.647 30.186-216.063 14.642-.425 29.205 71.648 30.063 217.314 22.446-30.322 40.966-96.94 46.436-200.28 28.115-9.725 54.978-25.102 79.03-46.345-9.928 3.08-19.13 5.504-27.592 7.31-5.366 1.7-10.762 2.68-16.03 2.876-33.8 4.578-52.314-2.61-54.658-16.094V236c-2.255-12.955 10.413-31.72 38.72-51.375 15.652-10.87 36.077-22.02 61.437-32.594-24.647-88.774-91.028-132.72-157.407-132.405zM132.47 191.655c-.922.003-1.822.05-2.69.126-6.93.6-11.378 3.226-13.436 6.564-2.058 3.337-2.198 7.545.562 13.156 2.76 5.61 8.615 11.848 16.875 16.313 8.26 4.464 17.1 6.16 24.032 5.562 6.933-.598 11.38-3.225 13.438-6.563 2.058-3.337 2.167-7.545-.594-13.156-2.76-5.61-8.583-11.816-16.844-16.28-7.227-3.908-14.895-5.73-21.343-5.72zm257.467 0c-.924.002-1.877.053-2.843.126-5.796.44-12.305 2.246-18.5 5.595-8.26 4.465-14.115 10.67-16.875 16.28-2.762 5.612-2.622 9.82-.564 13.157 2.058 3.338 6.506 5.965 13.438 6.563 6.932.598 15.77-1.098 24.03-5.563 8.26-4.464 14.084-10.7 16.845-16.312 2.76-5.61 2.65-9.82.592-13.156-2.058-3.338-6.505-5.965-13.437-6.563-.867-.074-1.763-.124-2.688-.124z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlienStare;

impl IconShape for AlienStare {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 21.313c-134.918 0-192.22 105.22-192.22 211.375C63.78 338.841 256 493.656 256 493.656s192.22-154.814 192.22-260.969c0-106.154-57.303-211.375-192.22-211.375zm-.063 74.374c.77.6 1.4 1.12 2.157 1.72 46.445 36.343 46.445 95.154 0 131.5-.755.616-1.385 1.14-2.156 1.718-.77-.598-1.43-1.14-2.188-1.72-46.445-36.344-46.445-95.155 0-131.5.757-.615 1.416-1.12 2.188-1.718zm0 40.72c-14.884 0-26.937 12.052-26.937 26.937 0 14.884 12.053 26.937 26.938 26.937 14.884 0 26.937-12.052 26.937-26.936 0-14.885-12.053-26.938-26.938-26.938zM135.03 203.093c39.988-.483 72.49 27.44 78.94 73.062.11.935.234 1.775.374 2.75-.944.262-1.643.695-2.563 1.03-54.698 22.052-105.62-7.323-113.874-65.717-.168-.973-.266-1.776-.406-2.75.953-.263 1.68-.677 2.594-1.032 11.965-4.824 23.74-7.21 34.937-7.344zm244.126 0c11.196.135 22.973 2.52 34.938 7.344.914.355 1.64.77 2.594 1.03-.14.976-.24 1.78-.407 2.75-8.252 58.395-59.174 87.77-113.874 65.72-.92-.337-1.618-.77-2.562-1.032.14-.975.263-1.815.375-2.75 6.448-45.622 38.95-73.545 78.936-73.062zm-223.937 14.97c-9.102.202-17.867 5.04-22.75 13.5-7.444 12.89-3.017 29.37 9.874 36.81 12.89 7.443 29.37 3.016 36.812-9.874 7.442-12.89 3.016-29.37-9.875-36.813-4.43-2.558-9.294-3.73-14.06-3.625zm203.75 0c-4.768-.108-9.633 1.065-14.064 3.624-12.89 7.442-17.317 23.922-9.875 36.812 7.444 12.89 23.923 17.317 36.814 9.875 12.89-7.442 17.317-23.922 9.875-36.813-4.885-8.46-13.65-13.296-22.75-13.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AllForOne;

impl IconShape for AllForOne {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M173.625 15.72l16.156 53.81-94.374-48.905L158.47 98.25 45.187 117.406l113.28 19.625-59.718 75.19 65.03-33.407-1.78 58.843 19.844-37.344v-64.218l.75-1.75 31.906-74.75-40.875-43.875zm146.25 0L282.97 55.343l33.342 79.03.75 1.75V205.846l15.5 29.187-1.625-54.436 65.532 34.062-63.064-77.625 113.28-19.624-113.28-19.156 63.063-77.625-92.44 47.906 15.845-52.81zM249.28 23.56l-49.186 114.5v153.5L235.03 326.5c2.916-65.435 7.976-128.936 15.25-187.72 7.606 61.433 12.744 128.775 15.532 198l32.625-32.624V138.062l-49.156-114.5zM33.126 206.845l37.344 94.062 193.905 193.938h30.813c-66.34-68.503-128.483-139.002-180.625-205.875 74.705 58.246 155.104 130.333 231.312 205.874h31.063L126.813 244.688l-93.688-37.844zm444.844 0l-93.626 37.812L268.75 360.25l18.156 18.125c36.278-32.102 72.315-62.265 107.125-89.406-27.302 35.015-57.36 71.02-89.31 107.217L325.06 416.5l115.532-115.53 37.375-94.126zM186.06 442.938l-51.906 51.906h28.594c12.596-12.486 25.314-24.875 38.094-37.125l-14.78-14.783zm39.375 39.406c-3.995 4.173-8.003 8.34-12.03 12.5h24.53l-12.5-12.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AlligatorClip;

impl IconShape for AlligatorClip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M493.533 193.153l-342.76-178.4-16.106 16.107c15.92 23.5 10.473 59.73-15.28 85.483-25.753 25.753-62.812 32.066-86.31 16.106l-15.28 15.28L195.785 490.9l152.383-89.612-108.608-8.672 54.51-54.51-91.266-7.022 47.49-47.49-82.178-6.196 39.644-39.645-70.617-5.37 35.514-35.513-61.532-4.543c42.474-7.71 79.37-44.36 87.136-87.135l4.957 61.12 35.103-35.102 5.782 70.203 39.23-39.23 6.607 81.766 47.078-47.08 7.02 91.264 54.51-54.51 8.258 106.545 86.723-147.017z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ammonite;

impl IconShape for Ammonite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.656 18.594c-20.42.244-40.646 3.69-59.78 10l18.655 44.062-17.186 7.313-18.906-44.69c-20.745 9.09-39.768 21.67-55.813 37.314l28.563 27-12.813 13.594L57.97 86.374c-12.95 15.674-23.174 33.727-29.72 53.813l38.188 7.156-3.47 18.375-39.5-7.407c-.324 1.597-.625 3.193-.905 4.812-3.637 21.03-2.63 42.506 2.406 62.78l37.56-11.624 5.532 17.845-37.468 11.625c8.693 22.822 22.683 43.34 41 58.938l19.625-27.282 15.155 10.906-19.72 27.47c13.604 8.55 28.99 14.62 45.876 17.468 2.268.382 4.538.696 6.814.938l.937-32.063 18.69.53-.94 31.97c17.806-1.012 35.196-6.088 50.47-14.594L192.22 293l15.686-10.22 16.125 24.814c18.458-14.83 31.852-35.59 35.876-60.656 1.294-8.06 1.4-16.225.438-24.22l-26.313 6.063-4.218-18.218 26.344-6.062c-6.05-17.766-17.544-33.373-33.187-43.156l-10.595 22.594L195.47 176l10.468-22.375c-3.064-.92-6.238-1.65-9.5-2.156-15.263-2.37-31.01 1.074-43.72 8.905l11.126 15.938L148.5 187l-10.063-14.406c-5.965 7.145-10.122 15.83-11.562 25.687-3.282 22.473 10.78 46.49 33.5 49.657 15.417 2.15 31.817-7.57 33.813-23.03l18.53 2.374c-3.468 26.873-30.073 42.623-54.937 39.157-34.097-4.755-54.066-38.93-49.405-70.843 6.343-43.43 50.054-68.933 90.906-62.594 53.438 8.29 85.36 61.194 79.626 112.063 7.897 7.11 19.648 11.173 33.813 12.093 15.244.99 32.824-1.718 49.186-7 16.362-5.28 31.51-13.155 41.97-21.78 10.22-8.43 15.18-17.07 15.312-23.814-2.385-11.957-5.697-23.664-9.844-35.03L353.594 197l-8.25-16.78 56.906-28.032c-11.99-26.314-28.637-50.273-48.906-70.438L311 124.97l-13.344-13.095 41.938-42.75c-23.064-19.49-49.934-34.32-79.47-42.78L247.25 80.468l-18.188-4.314L241.97 22c-.66-.125-1.31-.256-1.97-.375-12.072-2.175-24.235-3.176-36.344-3.03zm222.313 214.28c-3.027 3.504-6.472 6.816-10.22 9.907-12.892 10.633-29.816 19.29-48.094 25.19-18.278 5.9-37.87 9.03-56.156 7.842-9.14-.593-18.04-2.324-26.188-5.468-.113-.044-.23-.08-.343-.125-.053-.024-.106-.04-.158-.064-6.717-2.94-12.794-6.868-19.562-11.562-1.823.9-2.88 2.076-3.844 3.844-1.453 2.667-2.35 7.186-2.062 13 .392 7.882 2.93 17.736 6.53 27.437 4.83 14.617 13.227 27.775 25.345 39.344 1.522 26.72-9.796 46.69-20.658 53.092-5.828 3.437-10.71 3.766-16.28.657-5.57-3.11-12.282-10.913-17.282-26.126l-17.75 5.812c5.936 18.06 14.68 30.36 25.906 36.625 11.226 6.268 24.463 5.265 34.875-.874 11.48-6.768 20.51-18.812 25.564-34.22.91 13.636-2.12 27.72-8.22 40.97-12.467 27.084-37.9 49.132-66.687 53.094l2.532 18.5c36.393-5.01 66.27-31.514 81.124-63.78 8.842-19.21 12.326-41.012 8.187-61.658 3.793 2.017 7.754 3.957 11.908 5.813 6.152 6.78 8.495 13.016 9.218 19.5 1.007 9.028-1.79 19.49-5.875 31.406-4.084 11.92-9.32 25.09-11.25 39.814-1.324 10.114-.886 21.056 2.658 32.25h19.937c-4.74-10.43-5.356-19.94-4.063-29.813 1.535-11.71 6.14-23.74 10.407-36.186 4.266-12.447 8.315-25.486 6.75-39.53-.28-2.51-.778-5.03-1.47-7.533 6.196 1.96 12.703 3.783 19.5 5.47-.5 34.702 10.603 70.765 32.656 107.594h22.03c-25.564-39.2-37.326-75.627-35.998-110.063 2.185-2.88 4.265-5.748 6.25-8.624 13.3 41.004 45.172 79 88.593 114.563v-24.533c-40.333-35.43-66.745-72.087-74.436-109.375 7.845 14.14 17.875 24.776 28.875 32.438 14.683 10.23 30.8 15.21 45.56 17.344v-18.938c-11.728-2.008-23.968-6.154-34.874-13.75-9.892-6.89-18.843-16.585-25.625-30.72 6.152 3.926 12.774 6.638 19.626 8.127 13.45 2.922 27.412 1.564 40.875-2.438V327.5c-12.877 4.623-25.824 6.22-36.905 3.813-9.384-2.04-17.707-6.62-24.688-15.5 6.53-27.878 4.102-55.51-6.218-82.938zm-26.44 44.095c9.626 0 17.25 7.627 17.25 17.25 0 9.625-7.623 17.217-17.25 17.217-9.625 0-17.217-7.592-17.217-17.218 0-9.627 7.592-17.25 17.218-17.25zm-77.686 22.56c9.624 0 17.22 7.63 17.22 17.25-.002 9.627-7.594 17.22-17.22 17.22-9.626 0-17.25-7.593-17.25-17.22 0-9.625 7.624-17.25 17.25-17.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AmmoniteFossil;

impl IconShape for AmmoniteFossil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M221.75 17.813c-2.866.013-5.723.092-8.594.25C94.004 24.596 10.79 136.428 17.436 251.155 25.995 398.813 164.3 501.693 306.315 492.562h.03c68.975-4.446 134.884-33.45 186.063-79.562l4.344-3.906-1.625-5.625-29.844-102.595-1.217-4.188-3.97-1.75L378 258.594c14.594-24.457 22.398-53.31 21-82.563-4.3-89.976-83.124-154.5-168.656-158.06-2.85-.12-5.728-.17-8.594-.157zm.125 18.687c1.174-.007 2.36.015 3.53.03L218.5 81.28l-.28 1.75.155.626c-26.733 2.106-53.554 11.503-75.875 28.438l-14.375-47.28c25.05-16.172 54.175-26.346 86.063-28.095 2.567-.142 5.13-.205 7.687-.22zm22.25 1.406c38.27 5.08 74 23.623 99.28 51.375l-34 19.94-.374.218c-19.422-15.903-44.874-24.69-71.592-26.063l-.22-.938 6.907-44.53zm-132 38.5l14.344 47.25.624 2.094c-14.64 15.204-26.215 34.55-32.844 58.125-.675 2.4-1.285 4.79-1.875 7.156l-40.47-33.218c13.17-31.817 33.873-60.15 60.22-81.406zM355.25 104.03c14.607 20.833 23.788 45.562 25.094 72.876.025.52.044 1.044.062 1.563l-35.844 2.874c-.124-2.074-.265-4.16-.5-6.25-2.332-20.82-10.02-38.198-21.343-52.03l32.53-19.033zm-116.125 44.94c2.345.038 4.665.25 6.97.593l-1.47 39.28c-4.208.59-8.338 1.873-12.22 3.907l-43.718-17.813c11.268-15.01 28.152-25.316 47.938-25.937.834-.026 1.668-.045 2.5-.03zm25.47 6.843c14.38 7.937 24.832 22.162 25.217 39.343.145 6.436-1.438 13.01-4.218 18.75-1.47-4.27-3.73-8.338-6.813-12-4.44-5.274-10.04-9.043-16.092-11.22l.593.033 1.314-34.907zm-219.44 20.625l43.032 35.375c-3.903 25.766-2.57 49.148 2.97 69.968L39 275.22c-1.418-8.22-2.41-16.602-2.906-25.158-1.455-25.12 1.79-50.093 9.062-73.625zm134.282 14.875l38.032 15.562c-4.74 7.95-6.338 17.343-4.657 26.313l-28.844 25.125c-6.018-10.772-9.68-22.974-10.157-36.188-.384-10.633 1.657-21.176 5.625-30.813zm200.22 5.937c-3.353 28.986-16.63 56.285-36.75 76.22L321 251.56c13.37-13.268 21.052-31.418 23.188-51.437l35.468-2.875zm-159 53.875c7.497 11.248 19.977 18.867 33.124 21.53l2.782 32.376c-23.827-2.664-46.187-14.117-61.656-31.436l25.75-22.47zm85.28 11.813l22.625 22.625c-15.317 10.92-33.362 18.028-53.25 19.656l-2.718-32c12.847-1.323 23.948-4.934 33.344-10.283zM43.22 294.594l54.718 6.875c9.884 23.128 25.378 42.458 44.593 57.75l-53.936 22.405c-20.91-25.13-36.706-54.492-45.375-87.03zM448.06 310.03l.47.22 26.906 92.563c-30.294 26.24-65.746 46.28-103.688 58.406l8.594-87.033.156-1.562c26.19-14.795 49.554-35.547 67.563-62.594zm-287.28 61.876c26.235 15.822 57.278 25.373 89.593 28.156l-44 61c-39.634-13.116-75.807-35.403-104.53-64.718l58.936-24.438zm199.968 10.53l-8.344 84.22c-15.49 3.766-31.305 6.222-47.28 7.25-27.044 1.742-53.936-.874-79.688-7.312l45.656-63.344 1.72-2.375c29.813-.32 60.02-6.33 87.936-18.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Anatomy;

impl IconShape for Anatomy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.656 21.313c-1.14.03-2.302.125-3.437.125-22.398 0-41.926 16.03-51.814 39.624h-32.53V79.75h27.093c-.933 5.287-1.44 10.788-1.44 16.438 0 20.942 7.004 39.835 17.845 53.437-67.073 10.402-81.57 103.76-65.625 188.563h23.03l-1-103.688 18.69-.188 1.25 127.344 8.436 128.188h46.03V316.97h18.69v172.874h43.468L324.53 339.28l1.033-104.967 18.687.187-1 103.688h23.97c9.113-43.9 7.847-88.28-3.5-123h19.186V196.5h-26.75c-12.045-24.34-30.405-41.378-54.97-46 11.33-13.665 18.69-32.84 18.69-54.313 0-38.775-23.07-70.913-52.595-74.75-.49-.074-.994-.11-1.5-.125-.377-.01-.743-.01-1.124 0zM73.812 22c-.322-.002-.636.003-.968.03-28.452 2.43-48.47 32.712-48.47 62.5 0 13.11 11.506 26.28 22.782 21.626 4.204-1.736 8.817-3.14 13.688-4.22 17.36 20.413 34.732 21.21 52.093.5 3.84.998 7.457 2.255 10.72 3.72C134.8 111.16 154.03 97.66 154.03 84.53c0-30.183-19.733-61.27-48.5-62.5-12.25-.522-13.16 16.207-15.155 31.564C88.855 36.41 83.798 22.054 73.812 22zM262.22 40.313c17.675 0 31.81 14.133 31.81 31.812 0 17.677-14.135 31.813-31.81 31.813-15.05 0-27.528-10.236-30.908-24.188h26.594V61.062h-25.562c4.46-12.155 16.1-20.75 29.875-20.75zm169.686 84.437c-4.99 6.646-10.375 13.93-13.75 22.97-.67 1.79-1.223 3.665-1.687 5.593l-.19-.157c-7.495-6.145-15.824-9.786-23.53-13.094l-7.375 17.157c7.48 3.21 14.112 6.346 19.063 10.405.747.613 1.44 1.254 2.125 1.906-.235.36-.472.724-.688 1.095-14.85 25.547 15.84 98.803 45.813 97.906 28.987-.857 54.867-73.634 39.75-97.905-.625-1.002-1.33-1.957-2.094-2.875.39-.75.78-1.492 1.125-2.25 4.004-8.778 5.358-17.74 6.53-25.97l-18.5-2.624c-1.1 7.73-2.36 14.62-4.813 20.25-3.622-1.42-7.537-2.525-11.593-3.28-14.478-.347-19.407 8.584-25.156 22.53 1.648-9.4 1.03-16.346-1.47-21.594.067-.186.12-.375.188-.562 2.202-5.9 6.348-11.836 11.188-18.28l-14.938-11.22zM76.594 136.28v18.657h18.72V136.28h-18.72zm217.03 36.44c14.905 0 27.27 10.03 30.782 23.78H295.5v18.688h28.094c-4.342 12.358-16.043 21.125-29.97 21.125-17.676 0-31.812-14.105-31.812-31.782 0-17.675 14.137-31.81 31.813-31.81zm-217.03.936v17.78h18.72v-17.78h-18.72zm0 36.47V228h18.72v-17.875h-18.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Anchor;

impl IconShape for Anchor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M90.53 23c-18.345 0-36.688 7.002-50.686 21-27.996 27.996-27.994 73.38 0 101.375 21.776 21.776 54.08 26.603 80.53 14.5l53.69 53.688c-21.425 19.696-44 38.257-67.44 55.937l30.126 30.125c18.734-22.545 37.953-44.474 57.844-65.53l169.594 169.593c-51.845 40.444-120.866 53.838-192.813 42.562L173 424.906 72.47 404.47l95.405 88.405 1.97-26c86.593 36.97 177.603 34.61 241.343-11.75l63.062 21.313-21.47-63.594c44.61-63.62 46.408-153.412 9.908-238.875l26.03-1.97-88.406-95.375 20.438 100.53 21.344-1.624c11.278 71.983-2.168 141.017-42.656 192.876l-169.782-169.75c21.075-20.34 42.93-39.665 65.78-57.72l-30.123-30.124c-17.015 24.154-35.673 46.66-55.688 67.813l-53.97-53.97C167.834 98.183 163.032 65.814 141.22 44c-14-13.998-32.343-21-50.69-21zm0 27.03c11.434.002 22.872 4.34 31.595 13.064 17.447 17.447 17.446 45.742 0 63.187-17.446 17.447-45.71 17.447-63.156 0-17.447-17.444-17.448-45.74 0-63.186C67.69 54.37 79.097 50.03 90.53 50.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AndroidMask;

impl IconShape for AndroidMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.344 18.563v302.863h-18.69V18.59c-61.403 3.005-115.44 34.412-149.238 81.336l35.022 60.658c3.862-1.037 7.92-1.598 12.11-1.598 25.747 0 46.62 20.872 46.62 46.62 0 22.556-16.02 41.37-37.3 45.687v174.084c13.712 21.43 27.6 41.98 40.712 60.754V369.01h122.838v117.117c13.11-18.773 27-39.324 40.713-60.754V251.294c-21.282-4.317-37.302-23.13-37.302-45.688 0-25.747 20.873-46.62 46.62-46.62 4.19 0 8.25.562 12.113 1.6l35.13-60.847c-33.74-47-87.758-78.375-149.346-81.175zM426.03 117.47l-29.74 51.52c10.824 8.537 17.782 21.76 17.782 36.615 0 22.54-15.995 41.343-37.254 45.68V395.38c9.833-16.237 19.31-32.676 28.014-48.927 27.3-50.976 46.564-100.37 46.564-132.36 0-35.127-9.22-68.104-25.365-96.622zm-339.973.157c-16.196 28.486-25.46 61.408-25.46 96.465 0 31.992 19.267 81.385 46.567 132.36 8.704 16.253 18.182 32.694 28.016 48.933v-144.1c-21.26-4.336-37.254-23.14-37.254-45.68 0-14.856 6.957-28.08 17.783-36.617l-29.653-51.36zm127.213 270.07V488.98h85.46V387.696h-85.46z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AndromedaChain;

impl IconShape for AndromedaChain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.9 17.42L493.6 278.1v-22.5L138.5 17.42zm78.8 0L493.6 175.8v-21L224.8 17.42zm102.3 0l207.6 72.09V69.76L340.7 17.42c-54.8-.16-54.4-.1-54.7 0zM18.58 19.54v15.07l34.6 38.93c5.84 5.45 13.5 5.63 19 .13 5.63-5.64 5.73-13.28.4-19.03-12.5-11.71-25.02-23.4-37.53-35.1zm70.32 25.6c5.83 8.14 7.33 18.39 4.73 27.68 9.67 7.41 18.77 16.59 28.07 25.03 17.2-1.35 30.1 12.85 39.2 22.25 1-13.2-3-27.4-13.6-37.06-11.1-10.17-24.7-17.9-36.9-26.47-7.1-4.95-13.67-9.94-21.5-11.44zM52.58 114.1c8.8 11.7 18.29 24.2 26.94 36.6 10.54 10.1 24.58 15 37.88 13.9-9.5-11-23.97-24.1-22.07-37.8-8.69-10.7-17.05-20.7-25.31-31.45-9.73 2.17-20.3-.29-28.28-6.97.22 10.43 5.63 18.72 10.84 25.72zm-34.21-5.9v33.5l235.33 353h22.5zm98.93 11.1c-4.9 4.8-4.9 10.9-.4 15.9 22 25.8 44 51.8 66 77.7 7.5 6.8 17.5 7 24.5-.1 7.3-7.2 7.4-17.3.6-24.7-26.8-23.4-52.6-48.6-75.5-68.6-5-4.5-11-4.2-15.2-.2zm70.6 25.2c16.1 13.6 40.3 30.1 43 49.3 16.1 14.9 32.8 30 49.1 44.9 29.1-3.1 46.5 25.3 62 39.5 4.5-25.6-2.1-54.1-22.8-73-19.1-17.5-40-29.7-58.5-43.2-15.6-11.5-32.5-20.3-50.3-20.7-7.7 0-15.9 1.2-22.5 3.2zM18.37 188v41.1L153.1 494.7h21zm123.03 4.8c-6.8 24.2 3 48.3 18.1 70.2 13.9 20.2 29.4 41.6 41.8 59.3 21.9 24.5 51.1 29.5 78.1 22.7-14.4-16.5-35.2-34.4-39.5-55.2-18.3-22.2-29.5-35-46-53.5-21.4 1.3-35.9-22.3-52.5-43.5zm123.8 71.5c-10.9 10.7-7.7 26.6-.3 34.8l108.6 127.7c14.6 13.7 35.3 14 49.3 0 14.3-14.1 14.4-34.8.8-49.3-41.4-37.7-83.2-75.2-124.6-112.9-12.1-9.7-23.5-10.1-33.8-.3zm-246.83 25v57.8l49.87 147.6h19.75zM377.1 310c20.5 17.6 40 36.5 60.1 54.5 8.4 7.5 12.5 18.3 14.1 28.6 4.3 2.1 8.5 5 12.3 8.6l29.8 27.4V325.3c-38.6-23.7-74.4-30.8-116.3-15.3zm-68.3 69.6c-14.1 37.9-8.8 81.4 15.7 115.1h102.2c-29.9-37.3 0 .3-31.9-39.2-12.4-.9-25.2-5.4-34.4-15.3-17.9-19.3-34.5-40.4-51.6-60.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AngelOutfit;

impl IconShape for AngelOutfit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.72 29.094c-54.533 0-98.97 21.704-98.97 48.312 0 26.61 44.437 48.28 98.97 48.28 54.53 0 98.967-21.67 98.967-48.28S315.25 29.094 260.72 29.094zm0 13.25c40.07 0 71.81 15.508 71.81 35.062s-31.74 35.47-71.81 35.47c-40.073 0-72.69-15.916-72.69-35.47 0-19.552 32.617-35.064 72.69-35.062zM86.53 57.187c-13.242-.094-32.234 14.59-42.31 37.688-43.3 99.244-9.583 359.695 87.874 351.97-22.002-50.492-43.8-107.983-56.72-168.75 26.337 72.494 72.33 135.58 117.845 120.186-32.017-40.185-66.048-87.265-90.032-140.342 35.016 59.175 85.37 105.853 123.03 85.5-29.742-26.583-61.568-57.524-88.812-93.25 39.647 37.38 87.092 61.34 112.25 37.75-47.69-21.07-94.37-53.67-125.062-89.75-16.312-19.176-28.195-39.39-32.72-60-2.26-10.306-2.508-20.796-.468-30.938.02-.095.043-.186.063-.28.007-.044.022-.083.03-.126 4.05-21.265 15.043-35.413 4.5-45.97-2.484-2.487-5.76-3.66-9.47-3.687zm347.658 0c-3.71.027-6.954 1.2-9.438 3.688-8.176 8.186-3.416 18.564 1.03 32.72 6.153 14.187 7.144 29.566 3.845 44.593-4.524 20.61-16.44 40.824-32.75 60-30.798 36.206-77.67 68.907-125.53 89.968 25.22 23.208 72.482-.71 112-37.97-27.245 35.728-59.07 66.67-88.814 93.25 37.662 20.355 88.016-26.323 123.033-85.498-23.985 53.077-58.016 100.157-90.032 140.343 45.515 15.395 91.478-47.69 117.814-120.186-12.918 60.768-34.686 118.26-56.688 168.75 97.457 7.726 131.142-252.725 87.844-351.97-10.077-23.097-29.07-37.78-42.313-37.686zm-22.22 73.97c-100.397 68.228-200.733 82.462-301.25 5.468 4.02 15.655 13.89 32.733 28.126 49.47 28.922 34 75.48 66.378 121.906 86.31 46.426-19.932 92.984-52.31 121.906-86.31 14.98-17.613 25.138-35.594 28.72-51.907.223-1.02.416-2.027.593-3.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AngelWings;

impl IconShape for AngelWings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.438 28.97C75.263 47.722 60.826 69.69 49.593 94L167.5 204.656l-12.78 13.625L41.905 112.407c-9.19 24.257-15.377 50.455-18.156 77.844l116.156 58.72-8.437 16.686L22.312 210.47c-.963 24.45.777 49.666 5.437 75.155l100.53 8.313-1.53 18.625-94.97-7.844c.743 3.09 1.515 6.185 2.345 9.28 4.43 16.51 9.94 32.34 16.375 47.438 8.757-1.615 17.808-3.274 27.813-5.157 26.754-5.033 53.093-10.06 53.093-10.06l3.5 18.342s-26.368 5.054-53.156 10.094c-8.012 1.508-15.797 2.97-23.188 4.344 8.65 17.507 18.62 33.887 29.657 49l60.843-34.28L158.22 410l-58.407 32.938c12.202 14.79 25.482 28.186 39.624 40l17.157-20.344c1.38-20.537 4.963-37.725 14.375-51.72 6.338-9.425 15.44-16.826 27.155-21.937C189.86 376.115 183.3 361.62 179 345.594c-14.526-54.15.58-108.49 36.406-138.094L92.436 28.97zm330.843 0L300.314 207.5c35.826 29.604 50.964 83.943 36.437 138.094-4.26 15.877-10.768 30.237-18.938 42.97 12.345 5.384 21.554 13.502 27.5 23.655 7.81 13.333 10.495 29.117 11.407 47.467l19.592 23.25c14.14-11.813 27.423-25.208 39.625-40L357.5 410l9.188-16.28L427.53 428c11.04-15.117 21.006-31.49 29.658-49-7.4-1.374-15.207-2.836-23.22-4.344-26.787-5.04-53.156-10.094-53.156-10.094l3.5-18.343s26.372 5.027 53.125 10.06c9.794 1.844 19.196 3.598 27.813 5.19 6.44-15.105 11.944-30.954 16.375-47.47.83-3.095 1.602-6.19 2.344-9.28L389 312.56l-1.53-18.625L488 285.625c4.66-25.49 6.37-50.705 5.406-75.156L384.25 265.655l-8.438-16.687L492 190.25c-2.783-27.4-8.956-53.61-18.156-77.875L361.03 218.28l-12.81-13.624L466.124 94c-11.236-24.31-25.668-46.277-42.844-65.03zM256.095 290.03c-10.452 0-20.172 5.342-27.78 15.126-7.61 9.784-12.658 23.895-12.658 39.688 0 15.793 5.047 29.903 12.656 39.687 7.61 9.785 17.33 15.158 27.782 15.158 10.452 0 20.14-5.373 27.75-15.157 7.61-9.783 12.656-23.893 12.656-39.686s-5.047-29.904-12.656-39.688c-7.61-9.784-17.298-15.125-27.75-15.125zm39.625 111.19c-10.36 11.14-24.236 18.342-39.626 18.342-14.957 0-28.49-6.798-38.75-17.406-2.662.66-5.147 1.384-7.438 2.188-11.464 4.02-18.388 9.46-23.437 16.97-9.19 13.66-11.542 37.05-11.907 69.248h163.812c-.135-31.55-1.154-55.19-9.188-68.906-4.42-7.55-10.596-12.946-21.562-17.062-3.467-1.302-7.433-2.437-11.906-3.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AnglerFish;

impl IconShape for AnglerFish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M442.906 52.156c-.806.02-1.617.076-2.437.188-13.124 1.79-22.993 13.47-30.47 32.875-5.993 15.552-10.81 37.088-13.938 66.5-32.023-22.095-63.766-29.543-95.28-25.845l-26.97-60.063-24.968 71.282L198.5 107.28l-.813 63.064-46.562 1.75 12.53 30.562c-17.504 16.246-34.963 34.403-52.405 53.844l-92.813-45.375 44.876 75.906-36.47 39.095 36.282 2.78-40.47 59.876 108.064-64.905 87.56 42.53-49.75 17.376 35.564 13.814-32.563 22.22 52.157.967-4.593 46.845 59.312-72.03L365 437.654 496.063 270.47c-3.87-6.63-7.735-12.974-11.594-19.095l-119.376 150.97-4.72 5.967-6.78-3.406-44.344-22.22 8.375-16.717 37.53 18.81L473.69 234.907c-20.158-29.63-40.187-52.59-60.094-69.656 2.96-34.52 8.11-58.353 13.875-73.313 6.36-16.51 12.884-20.706 15.5-21.062 1.306-.178 2.63.047 4.75 1.53 2.118 1.485 4.693 4.293 7 8.19 4.582 7.743 8.005 19.562 8.217 31.686-7.95 3.715-13.437 11.804-13.437 21.157 0 12.878 10.436 23.313 23.313 23.313 12.876 0 23.312-10.435 23.312-23.313 0-9.752-6.002-18.114-14.5-21.593-.284-15.23-4.225-29.62-10.813-40.75-3.322-5.615-7.346-10.478-12.375-14-3.77-2.642-8.322-4.49-13.125-4.875-.8-.065-1.6-.083-2.406-.064zm-52.344 158.156c3.147-.125 6.36.236 9.563 1.094 3.054.82 5.872 2.054 8.438 3.625-.14 0-.268-.03-.407-.03-9.922 0-17.97 6.636-17.97 14.813.002 8.176 8.048 14.812 17.97 14.812 6.503 0 12.16-2.86 15.313-7.125.645 4.24.462 8.684-.72 13.094-4.575 17.074-22.11 27.2-39.188 22.625-17.074-4.576-27.23-22.115-22.656-39.19 3.717-13.872 16.022-23.176 29.656-23.718zm-95.375 11.157l17.907 5.31-12.75 43.064 47.437 38.844-11.842 14.468-52.25-42.78-4.782-3.938 1.75-5.938 14.53-49.03zm-44.937 25.686l17.938 5.313-8.875 29.936 33.437 27.375-11.844 14.47-38.25-31.313-4.812-3.937 1.78-5.97 10.626-35.874z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AngularSpider;

impl IconShape for AngularSpider {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.28 21.75c-5.343 0-10.67.236-14.155.72-23.225 3.215-43.898 13.46-60.313 29.874-13.597 13.597-22.742 29.6-27.468 48.093-12.185 47.68 9.63 97.346 52.812 120.282 2.654 1.408 4.994 2.583 5.22 2.593.224.01 1.975-1.03 3.905-2.313 2.453-1.627 4.98-3.076 7.564-4.375.56-.29 1.12-.568 1.687-.844.125-.057.252-.097.376-.155 9.143-4.377 19.273-6.844 29.97-6.844 4.24 0 8.387.423 12.437 1.157.834.152 1.674.288 2.5.47 1.197.248 2.407.563 3.593.874 7.137 1.874 14.044 4.848 20.47 8.97 4.656 2.987 4.987 3.123 6.968 2.47 1.146-.38 4.913-2.433 8.375-4.532 19.342-11.73 33.51-27.46 42.436-47.125 6.902-15.21 9.464-27.24 9.438-44.25-.017-11.104-.632-16.49-3-25.907-10.44-41.513-45.395-72.45-88.625-78.437-3.485-.484-8.845-.72-14.19-.72zM89.22 52.438l-18.69 4.687 47.25 185.72H72.876l-29.22-119.157-18.093 4.093 30.97 126.75 1.75 7h130.123c2.206-6.69 5.235-12.953 8.94-18.686h-60.376L89.22 52.438zm333.467 0l-48.28 190.406h-55.594c3.757 5.734 6.82 11.994 9.062 18.687H453.06l1.75-7 30.97-126.75-18.126-4.093-29.187 119.157h-44.94l47.283-185.72-18.125-4.687zM257.875 228.094c-31.13 0-55.594 26.746-55.594 59.937 0 6.447.943 12.657 2.657 18.47 14.83.333 27.197 11.853 28.907 26.344.81-.067 1.61-.094 2.437-.094 7.985 0 15.265 3.2 20.595 8.375 5.33-5.176 12.61-8.375 20.594-8.375 1.702 0 3.373.158 5 .438 2.35-13.61 14.06-24.065 28.217-24.5 2.202-6.434 3.407-13.395 3.407-20.657 0-33.19-25.09-59.936-56.22-59.936zm-196.688 63.22l2.907 11.686L97.97 440.813l18.124-4.657L85.124 310h47.907l46.126 184.563 18.094-4.094L152.28 310h34.782c-1.594-5.968-2.568-12.24-2.812-18.688H61.187zm270.938-.002c-.25 6.45-1.252 12.72-2.875 18.688h29.813l-45 180.47 18.125 4.092L378.313 310h47.875L395.25 436.156l18.094 4.656L447.22 303l2.936-11.688h-118.03zm-127.852 33.87c-6.18 0-11.097 4.917-11.097 11.097s4.917 11.095 11.097 11.095 11.096-4.914 11.096-11.096c0-6.18-4.916-11.098-11.097-11.098zm107.332 1.953c-6.18 0-11.087 4.907-11.087 11.086 0 6.18 4.907 11.09 11.087 11.09s11.086-4.91 11.086-11.09c0-6.178-4.904-11.085-11.085-11.085zm-75.31 24.1c-6.18 0-11.088 4.907-11.088 11.085 0 6.18 4.907 11.088 11.088 11.088 6.18 0 11.086-4.907 11.086-11.088 0-6.178-4.905-11.086-11.085-11.086zm41.168 0c-6.18 0-11.086 4.907-11.086 11.085 0 6.18 4.905 11.088 11.086 11.088 6.18 0 11.088-4.907 11.088-11.088 0-6.178-4.907-11.086-11.087-11.086zm-60.557 33.39l8.406 33.406 18.094-4.655-5.437-21.563c-.557.032-1.125.063-1.69.063-7.392 0-14.18-2.738-19.374-7.25zm79.094.656c-5.077 4.11-11.516 6.595-18.53 6.595-.83 0-1.658-.058-2.47-.125l-5.313 21.625 18.094 4.656 8.22-32.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AnimalSkull;

impl IconShape for AnimalSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M187.406 22.22l-41.562 41.843 62.875 29.843-8 16.875-68.845-32.655L59.97 150.53l33.31 96.97 56.876-7.156 10.53-42.47 18.126 4.47-45.843 185.25 55.31-49.656 10-9 4.94 12.5 14.81 37.53 31.25-41.624 8.126-10.844 7.25 11.47 30.406 48.217 22.657-46.75 5.092-10.5 9.125 7.25 62.532 49.782-62.814-182.22 17.656-6.094 12.782 37.063 60.562-.94 26.47-101.874-72.72-62.344-70.125 38.844-9.06-16.375 64.03-35.468-29.75-25.53-144.094-8.813zm190.688 85.5l13.28 67.218-107.28-16.25 94-50.97zm-246.188.936L229.97 160l-116.25 13.47 18.186-64.814zm123.188 122.5l55.844 64.75-36.25 12.875-17.407-42.655-15.374 43.344-35.344-13.564 48.532-64.75zm74.344 126.938L304.53 409.47l-7.342 15.155-8.97-14.25-32.124-50.97-33.156 44.19-10.063 13.342-6.125-15.53-15.97-40.594-30.436 27.312 25.53 66.406 61.407 35.22 98.814-39.563 16.937-65.343-33.592-26.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ankh;

impl IconShape for Ankh {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M79.625 22.03c-16.694.274-31.01 5.33-41.22 15.658C5.743 70.735 27.53 145.313 87.22 204.313c39.992 39.53 91.568 45.025 125.03 56.593-38.19 35.214-80.874 67.594-130.438 99.28l61.594 60.876c33.267-53.395 68.052-99.412 106.406-140.593 66.466 44.55 113.05 126.476 157.594 206.967l85.5-86.5c-82.206-44.252-164.58-88.96-209.25-154.687 41.214-39.214 86.72-74.14 138.656-107.344L360.72 78.03c-30.47 48.903-61.926 91.685-96.845 130.564-11.704-33.438-18.262-84.475-58.28-124.032C164.556 44 116.35 21.43 79.624 22.032zm16.97 47.064c20.94.415 50.89 16.01 77.436 42.25 36.934 36.505 53.305 79.782 36.595 96.687-16.71 16.907-60.194 1.037-97.125-35.468C76.57 136.06 60.165 92.75 76.875 75.844c4.7-4.755 11.525-6.913 19.72-6.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Anthem;

impl IconShape for Anthem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M356.906 49.594c-108.533.34-194.246 85.275-306.719 20.312 17.05 30.293 55.26 55.692 101.47 67.688C127.244 173.63 60.63 189.984 15.75 186c141.27 81.595 210.67-64.442 380.313 29.656l-19.907 48.688H18.312v18.687h350.22l-17.907 43.814H17.78v18.687h325.19l-18.845 46.126H19.937v18.688h304.938c1.4 12.458 8.875 23.708 19.625 31.5 14 10.147 33.528 15.774 55.875 15.812 22.347.04 43.583-5.58 60.438-15.062 16.854-9.482 29.862-23.084 33.156-40 3.293-16.916-5.158-32.884-19.158-43.03-14-10.15-33.527-15.776-55.875-15.814-22.347-.038-43.583 5.55-60.437 15.03-.327.185-.645.377-.97.564L471.345 81l-17.313-7.063-.06.126c-34.838-18.096-66.836-24.564-97.064-24.47zm85.53 41.906c.567-.02 1.122-.022 1.69 0 .864.033 1.728.145 2.593.28l-42.75 104.532c-26.664-27.147 4.468-103.57 38.467-104.812z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Anvil;

impl IconShape for Anvil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.688 115.594v147.75h285v-147.75h-285zm-111.844 20.47c17.374 47.14 54.372 80.413 94.906 93.81v-93.81H16.844zm414.375 12.31v88.657c21.457-9.083 42.92-25.257 64.374-47.374-21.52-22.562-42.633-35.173-64.375-41.28zm-226.25 132.47c-12.15 38.536-33.897 71.5-60.595 100.47l257.844-.002c-28.705-29.016-49.952-62.054-61.5-100.468H204.97zM101.843 400v43.78h337.562V400H101.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AnvilImpact;

impl IconShape for AnvilImpact {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.375 69.906L336.937 191.47l-8.25-32.69-30.218 88.97 62.655-29.375.22 29.438 127.03-50.938-70.813-1.97 47.782-68.686-73.47 39.25 21.5-95.564zM210.22 102.094l-32 14.406 16.874 55.656-177.813 80.03 12.564 27.876L207.656 200l30.406 49.47 49.313-22.19-21.344-70.343-55.81-54.843zM197.593 266.78v20.345h-88.906c15.994 38.807 51.225 65.43 88.906 74.28v32.97h58.562c-12.118 30.528-33.505 55.684-58.47 77.594H172.22v18.686H456.56V471.97h-27.406c-28.734-21.895-50.055-47.018-61.625-77.595h63.658v-29.188c19.748-6.995 39.5-19.51 59.25-36.687-19.812-17.523-39.23-27.25-59.25-31.938v-29.78H197.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AppleMaggot;

impl IconShape for AppleMaggot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.094 19.406l-18.688.313.47 27.468c-11.52.584-23.032 2.315-34.345 5.124l-8.343-29.25-17.968 5.125 8.436 29.532c-10.708 3.84-21.092 8.698-30.97 14.5l-17-28.376-16.03 9.593L117.094 82.5c-9.14 6.74-17.66 14.39-25.375 22.906l-22.657-21.97-13 13.44L79.936 120c-6.268 8.728-11.766 18.15-16.312 28.28L39.72 137.063 31.78 154l25.157 11.813c-3.008 9.477-5.243 19.44-6.593 29.906l-23.282-1.19-.937 18.657 22.813 1.157c-.24 8.777.117 17.857 1.124 27.22l-20.624 1.874 1.687 18.625 20.22-1.844c-.053 6.906.35 13.867 1.25 20.81L36.874 285l4.563 18.125 14.687-3.72c8.055 31.428 26.478 61.905 56.906 87.095.53 4.372 3.31 8.302 7.72 10.188 6.615 2.827 14.01-.142 16.844-6.782 2.833-6.64-.133-14.046-6.75-16.875-1.654-.706-3.364-1.045-5.03-1.06-.314-.004-.63.01-.94.03-.005-.005-.024.005-.03 0-22.936-18.977-38.142-40.818-46.688-63.5-15.91-50.433-.102-86.988 30.22-110.188-12.37-2.92-25.05-8.367-35.282-17.28l12.28-14.095c7.942 6.917 19.41 11.684 30.376 13.844 8.676 1.71 17.147 1.58 22.47.626 8.057-3.338 16.542-6.042 25.31-8.156-.99-.597-1.98-1.213-2.968-1.844-16.615-10.62-32.4-26.322-41.656-46.53l16.97-7.782c7.398 16.155 20.704 29.616 34.75 38.594 11.26 7.198 23.117 11.25 31.5 12.218 8.696-.37 17.41-.205 26 .5-12.34-14.543-22.488-33.296-25.69-54.375l18.5-2.81c2.67 17.568 11.75 34.19 22.783 46.686 6.34 7.185 13.405 12.895 19.78 16.75 7.88 2.2 15.427 4.923 22.5 8.156-5.584-15.06-8.527-32.087-6.594-49.406l18.563 2.063c-1.972 17.66 2.515 36.073 9.936 51 7.422 14.924 18.17 26.132 25.375 29.655l4.876 2.406.344 5.407c1.682 25.836 10.346 49.825 28.906 68.72 15.068 15.338 37.1 27.508 68.28 34-27.347-34.898-47.333-65.726-50.03-102.157l-.437-6.03 5.31-2.876c5.316-2.887 10.85-6.908 16.064-11.938 14.927-14.4 20.86-31.03 20.25-47.187-.772.143-1.56.218-2.375.218-7.122 0-12.908-5.755-12.908-12.875 0-5.796 3.828-10.686 9.094-12.313-.12-.26-.22-.524-.344-.78-3.824-7.99-9.19-15.287-15.812-21.345-2.188 3.98-6.412 6.656-11.28 6.656-7.122 0-12.908-5.753-12.908-12.874 0-2.67.827-5.158 2.22-7.22-8.033-2.987-16.87-4.512-26.282-4.124-8.12.337-17.212 2.52-26.688 6.344L322.75 81.28l-.188-.155.063-.125-.063-.188c.075-.03.145-.064.22-.093l13.437-24.22-16.345-9.063L307.375 70c-8.002-5.064-16.423-9.26-25.156-12.625l6.5-26-18.126-4.53-6.22 24.905c-9.73-2.427-19.725-3.884-29.812-4.47l-.468-27.874zm98.125 116.47c7.12 0 12.905 5.754 12.905 12.874 0 7.12-5.786 12.906-12.906 12.906-7.122 0-12.876-5.786-12.876-12.906 0-7.12 5.754-12.875 12.875-12.875zm113.03 24.343c-.4 15.935-5.573 32.132-16.47 46.5 27.434 13.336 52.025 35.102 61.408 75.5 4.953-50.454-4.958-96.694-44.938-122zm-92.188 13.343c7.12 0 12.875 5.754 12.875 12.875 0 7.12-5.754 12.906-12.875 12.906-7.12 0-12.906-5.786-12.906-12.906 0-7.12 5.786-12.875 12.906-12.875zM214 269.625c-2.285-.01-4.37.135-6.156.344-3.29 22.39-4.268 41.092-3.063 60.686-7.654-4.135-15.73-6.97-23.968-8.312-20.05-3.272-36.837 2.83-49.062 15.375-4.404 4.52-8.177 9.94-11.188 16.124 1.782-.308 3.583-.502 5.407-.5 4.093.003 8.24.8 12.218 2.5 15.912 6.803 23.386 25.487 16.593 41.406-6.438 15.09-23.557 22.61-38.874 17.563 9.237 39.225 38.394 72.143 72.375 77.687 4.746.774 11.172.88 16.69.063 5.515-.817 10.023-2.85 11.28-4l6.094-5.594 6.312 5.405c1.572 1.345 5.7 2.798 11.063 3 5.36.202 11.617-.662 16.56-1.938 39.435-10.158 72.708-58.216 70.72-105.78-1.72-41.132-30.873-67.235-62.97-66.626H264c-4.374.092-9.26.883-14.344 2.19-7.944 2.043-15.61 5.534-22.78 10.217 2.367-15.41 7.606-30.056 15.655-45.875-5.336-11.122-18.628-13.89-28.53-13.937z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AppleSeeds;

impl IconShape for AppleSeeds {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.438 21.22c-15.84.29-39.205 5.187-47.22 24.593 16.916 29.242 27.28 56.103 31.188 86.03-18.24-11.44-37.88-19.485-58.187-23.562-11.477-2.303-22.64-3.514-32.97-3.155-73.71 2.563-136.555 66.652-135.344 158.844 1.39 105.896 79.51 207.666 170.03 225.842 11.483 2.307 25.594 3.514 38.22 2.344 12.626-1.17 23.416-4.88 29.25-10.47l6-5.748 6.406 5.28c5.578 4.59 17.04 8.266 29.97 9.47 12.93 1.203 27.243.23 38.374-2.22 89.895-19.778 157.117-122.258 155.72-228.624-.697-52.98-19.85-96.1-49.5-123.438-22.238-20.503-50.338-32.37-81.97-32.844-10.544-.158-21.47.963-32.72 3.438-17.795 3.915-35.014 10.908-51.123 20.563 1.056-35.043-1.918-67.18-9.844-106.22-1.89-.116-4.02-.166-6.283-.124zm-2.594 157.155c10.815 12.31 14.52 23.08 13.72 33.25-.777 9.853-6.463 20.39-17.033 31.438-23.14-19.986-17.763-52.22 3.314-64.688zm67.062 36.47c3.374-.02 6.886.378 10.5 1.186-2.575 15.077-7.64 25.913-15.094 32.407-7.693 6.705-18.566 10.168-34.906 8.813-2.204-20.99 14.342-41.402 38.063-42.375.475-.02.954-.03 1.436-.03zm-140.812 2.53c19.99-.49 36.904 13.895 39.687 32.406-15.465 5.4-26.843 4.78-35.968.22-8.842-4.42-16.477-13.645-22.75-27.594 5.745-2.945 11.522-4.534 17.094-4.937.65-.048 1.293-.08 1.938-.095zm-7.344 57.438c14.08-.03 27.37 7.438 34 19.75-12.746 10.32-23.678 13.618-33.813 12.406-9.813-1.175-20.107-7.273-30.718-18.283 8.964-9.577 19.954-13.853 30.53-13.875zm140.22 3.656c.754-.003 1.522.02 2.28.06 12.186.67 24.498 6.978 32.72 19.908-12.472 8.847-23.703 12.95-33.564 12.28-10.18-.69-20.303-5.94-30.906-18.437 7.203-8.893 18.14-13.783 29.47-13.81zm-114.75 53.436c4.348.067 8.69.933 12.843 2.563-3.055 16.11-9.266 25.655-17.782 31.28-8.243 5.446-20.044 7.443-35.25 5.906 1.213-24.172 19.444-39.027 38.314-39.72.62-.02 1.253-.04 1.875-.03zm86.968.156c18.88.255 37.48 14.673 39.25 38.813-15.18 1.894-27.034.194-35.407-5.063-8.64-5.424-15.07-14.852-18.5-30.875 4.71-1.98 9.682-2.942 14.658-2.875zm-43.97 16.47c21.083 12.47 26.442 44.702 3.282 64.687-10.564-11.047-16.256-21.59-17.03-31.44-.802-10.17 2.934-20.94 13.75-33.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArcheryTarget;

impl IconShape for ArcheryTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.063 24.22l-9.782 32.624c12.992-2.652 26.423-4.032 40.19-4.032 10.475 0 20.766.82 30.81 2.376l-9.405-30.97h-51.813zm30.406 48.843c-99.627 0-180.19 80.53-180.19 180.156 0 99.624 80.563 180.155 180.19 180.155 99.624 0 180.155-80.53 180.155-180.156 0-99.627-80.53-180.157-180.156-180.157zm0 41.687c76.482 0 138.467 61.985 138.467 138.47 0 76.482-61.985 138.5-138.468 138.5-76.485 0-138.5-62.018-138.5-138.5 0-76.485 62.015-138.47 138.5-138.47zm-.033 38.938c-54.96 0-99.53 44.54-99.53 99.5s44.57 99.5 99.53 99.5 99.5-44.54 99.5-99.5-44.54-99.5-99.5-99.5zm.032 39.687c33.052 0 59.842 26.79 59.842 59.844 0 33.052-26.79 59.843-59.843 59.843-33.055 0-59.845-26.79-59.845-59.844 0-33.055 26.79-59.845 59.844-59.845zm0 30.906c-15.993 0-28.97 12.947-28.97 28.94 0 15.99 12.977 28.968 28.97 28.968 15.99 0 28.936-12.977 28.936-28.97 0-15.99-12.945-28.937-28.937-28.937zM114.905 395l-27.844 92.875h46.876l20.28-62.313c-14.35-8.54-27.56-18.833-39.312-30.562zm277.188 5.688c-11.982 11.026-25.324 20.595-39.72 28.468l19.25 58.72h46.907l-26.436-87.188zm-165.03 50.78v36.407h52.092v-35.53c-7.45.84-15.015 1.28-22.687 1.28-9.99 0-19.81-.74-29.408-2.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArchitectMask;

impl IconShape for ArchitectMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.656 18.906c-76 .73-152 78.23-152 230.313 0 116.987 152 244.155 152 244.155s152.007-127.153 152-244.156c.002-155.008-76-231.045-152-230.314zm-82.812 125.47l13.22 77.843c20.878 3.65 36.813 22.085 36.624 43.936-.143 16.366-9.304 30.634-22.688 38.156l12.344 72.813c-17.1-18.5-30.538-41.915-39.813-67.563-21.673-2.953-38.443-21.77-38.25-44.187.146-16.61 9.572-31.07 23.282-38.5-.354-29.225 4.552-57.82 15.282-82.5zm165.594 0c10.73 24.678 15.635 53.274 15.28 82.5 13.71 7.428 23.138 21.89 23.282 38.5.195 22.415-16.575 41.233-38.25 44.187-9.275 25.647-22.68 49.063-39.78 67.562l12.342-72.78c-13.404-7.518-22.576-21.807-22.718-38.19-.19-21.86 15.762-40.297 36.656-43.936l13.188-77.845zm-159.72 95.874c-14.203-.123-25.626 11.08-25.75 25.28-.122 14.174 11.06 25.578 25.22 25.75h.093c14.205.125 25.597-11.107 25.72-25.31.123-14.206-11.077-25.597-25.28-25.72zm153.845 0c-14.205.123-25.405 11.514-25.282 25.72.125 14.203 11.547 25.435 25.75 25.31 14.205-.122 25.406-11.544 25.283-25.75-.124-14.2-11.547-25.403-25.75-25.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArcingBolt;

impl IconShape for ArcingBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M291 46.438c29.89 36.34 55.086 74.792 74.156 115.062-49.052-38.586-105.036-68.945-168.78-89.344 40.696 29.09 78.052 61.91 110.624 97.188-37.52-20.55-74.29-31.632-107.438-34.938 33.73 14.255 77.803 44.654 111.063 83.03.626 1.004 1.216 2.002 1.78 3 .03.024.066.042.095.064l-.03.03c-.02-.03-.046-.06-.064-.093-19.063-14.253-54.482-30.81-95.312-40.78-50.3-3.666-101.766.18-154.438 11.624 60.61 5.896 118.714 18.332 172.844 37.97-79.658 6.653-155.155 45.72-217.25 121.47C55.795 329.3 101.74 310.78 143.625 302c40.242-11.185 72.465-12.254 95.563-6.5.04-.004.085.004.125 0l-.032.03c-.03-.007-.06-.022-.093-.03-28.123 2.88-74.114 16.98-115.53 40.688-44.49 40.303-83.695 98.33-97.22 158.78h129.657c22.906-37.08 51.314-68.357 82.78-93.5-6.392 18.97-9.292 37.678-9.218 55.438 12.05-31.583 44.076-73.017 86.72-96.344 11.652 22.34 32.257 39.923 58.437 46.938 49.563 13.28 100.75-16.278 114.03-65.844 4.554-16.994 4.068-34.187-.53-49.97 18.47-69.046-6.238-141.86-56.563-200.842 9.922 38.16 12.75 77.235 5.844 114.47C404.774 140.59 355.627 87.993 291 46.436zm-61.344 410.468l-.03.094.03.03v-.124zm-30.094-322.5c-.03-.012-.064-.02-.093-.03l-.032.03c.04.004.084-.004.125 0zm184.75 110.125c25.482 28.396 40.14 73.42 39.438 101.44 15.463-40.44 16.46-62.094 4.97-96.595 13.306 5.783 24.22 15.16 31.936 26.625 3.704 26.134-8.748 63.216-22.375 79.313 14.565-9.242 26.246-21.02 35-35.375-.19 5.586-.987 11.234-2.5 16.875-10.666 39.81-51.348 63.29-91.155 52.625-35.814-9.597-58.406-43.468-54.813-79.157 35.783 4.916 67.725 25.49 83.375 44.876-9.22-30.88-31.59-60.696-69.968-80.72 11.017-15.548 27.573-26.22 46.092-29.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmadilloTail;

impl IconShape for ArmadilloTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M126.75 21.563L115.344 72.28l115.687 58.97 92.407-109.688H126.75zm-111 .593V60.28l81.438 7.69L107.5 22.155H15.75zM321.375 53l-74.313 88.188 65.5 56.187 105.813-67.03-97-77.345zM15.75 79.03v91.407c120.73-24.94 305.18 81.97 378.5 237.188l-1.406-45.75-32.813-74.03-52.592-70.283-1.782-1.53-74.062-63.5-2.438-1.25L103.75 87.343l-88-8.313zm386.78 83.5l-76.624 48.5 45.78 61.19 93.783-34.283-62.94-75.406zm49.97 100.064l-71.656 26.156 27.312 61.594 77.375-2.72-33.03-85.03zm11.53 104.47l-52.28 1.842 2.875 93.188c3.34 12.008 5.99 24.238 7.875 36.625 33.85-37.927 45.03-83.554 41.53-131.658z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmorVest;

impl IconShape for ArmorVest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.22 21.75c-35.407 0-63.024 5.19-82.345 12.844-9.66 3.827-17.072 8.22-22.78 13.437-2.856 2.61-5.355 5.53-7.126 8.75-20.707 18.986-35.955 48.755-45.845 81.72-9.45 31.5-13.837 66.035-11.47 97.563-1.78 22.768 10.688 55.117 24.97 81.03l.063.126.03.03c33.913 34.964 83.458 60.827 135.313 67.563V129.625c3.036.106 6.094.188 9.19.188 3.204 0 6.36-.088 9.5-.22v254.97c61.97-8.614 120.527-44.526 152.592-90.188 6.31-18.61 9.023-38.46 7.344-54.875 2.966-32.438-1.393-68.354-11.187-101-9.96-33.2-25.327-63.16-46.25-82.125-1.754-3.06-4.144-5.847-6.876-8.344-5.71-5.217-13.12-9.61-22.78-13.436-19.323-7.653-46.94-12.844-82.345-12.844zm0 18.688c33.573 0 59.057 5.236 75.342 11.687 8.143 3.224 14.168 6.298 17.5 9.344 3.333 3.043 3.5 5.482 3.5 5.843 0 10.54-8.305 21.148-25.687 29.78-17.382 8.633-42.673 14.032-70.656 14.032-28.098 0-53.343-5.08-70.658-13.438-17.314-8.355-25.718-18.457-25.718-30.374 0-.36.76-2.8 4.094-5.844 3.332-3.047 8.794-6.12 16.937-9.345 16.285-6.45 41.77-11.688 75.344-11.688zm111.374 43.25c11.81 15.68 21.998 36.85 29 60.187 7.59 25.3 11.598 53.038 11.22 78.625-16.25-13.403-28.542-34.667-36.627-57.406-8.665-24.372-12.573-51-8.03-73.844 1.744-2.406 3.22-4.942 4.437-7.563zm-222.875.374c.568 1.294 1.18 2.57 1.874 3.813 5.502 25.973.96 54.837-8.875 80.25-7.943 20.52-19.176 39.02-32.97 51.75-.08-24.852 3.918-51.563 11.25-76 6.946-23.153 17.027-44.17 28.72-59.813zm242.06 269.344c-36.57 28.03-82.68 46.99-130.56 51.063l-.783.06-.812-.06c-47.334-4.036-92.797-22.698-129.125-50.19-.956 3.05-1.438 6.11-1.438 9.158 0 15.545 12.548 31.48 36.438 43.937 23.89 12.458 58.006 20.563 95.78 20.563 37.777 0 71.893-8.105 95.783-20.563 23.89-12.458 36.437-28.392 36.437-43.938 0-3.338-.573-6.697-1.72-10.03zm-275.655 33.28c-17.37 12.854-26.563 27.47-26.563 41.845 0 11.535 10.293 29.294 26.157 43.095 14.044 12.22 31.883 21.216 47.31 23.125 9.7-22.68 20.252-41.555 31.657-56.438-13.913-3.702-26.666-8.546-37.843-14.375-18.425-9.608-33.094-22.287-40.72-37.25zm290.28.095c-7.636 14.925-22.297 27.568-40.686 37.158-11.228 5.854-24.048 10.697-38.033 14.406 11.398 14.872 21.96 33.744 31.657 56.375 14.686-1.997 32.556-10.938 46.72-23.095 16.113-13.833 26.748-31.68 26.748-43.094 0-14.332-9.13-28.923-26.406-41.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArmouredShell;

impl IconShape for ArmouredShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.78 69.53l-8.905 99.97c-14.96 2.794-28.435 6.714-40.656 12.094l-86-42.156 37.124 79.906c-10.847 13.674-20.203 30.584-28.47 51.5-34.747 87.928 181.057 154.78 224.19 154.78 42.057 0 266.232-76.327 224.186-154.78-9.132-17.04-18.732-31.634-29.28-44.063l40.53-87.343-93.906 46.032c-9.932-4.695-20.66-8.54-32.344-11.657L354.937 69.53l-63.25 94.126c-11.52-.58-23.682-.875-36.625-.875-12.02 0-23.45.1-34.343.376L157.78 69.53zm99.47 208.19c79.562 0 125.046 4.568 148.47 13.03 11.71 4.23 17.554 8.966 20.936 14.25 3.382 5.284 4.72 11.997 4.72 21.406 0 4.654-6.346 14.092-19.938 23.688-13.593 9.595-32.873 19.247-53.282 27.625-20.408 8.377-42 15.545-60.406 20.56-18.405 5.017-34.218 7.783-40.5 7.783-7.84 0-24.075-2.773-42.688-7.782-18.612-5.008-40.024-12.164-60.093-20.53-20.07-8.366-38.848-18.025-52.032-27.594-13.185-9.57-19.344-18.904-19.344-23.75 0-9.457 1.294-16.203 4.594-21.47 3.3-5.264 9.008-9.994 20.624-14.217 23.234-8.447 68.738-13 148.938-13zm-62.656 39.217c-16.83 0-30.5 6.806-30.5 15.22 0 8.412 13.67 15.25 30.5 15.25s30.47-6.835 30.47-15.25c0-8.414-13.64-15.22-30.47-15.22zm120.937 0c-16.83 0-30.5 6.806-30.5 15.22 0 8.412 13.67 15.25 30.5 15.25 16.832 0 30.47-6.835 30.47-15.25 0-8.414-13.638-15.22-30.47-15.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowCluster;

impl IconShape for ArrowCluster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.313 15.688l-50.375 87.53 28.156-8.53 22.28-38.72 22.407 38.782 28.126 8.47-50.594-87.532zm-138.938 77.75l18.5 99.28 14.156-22.093L141.595 120l48.97 17.313 23.124-10.157-95.313-33.72zm278.72 0l-95.314 33.718 23.876 10.5L375.562 120l-9.812 52.688 12.844 20.03 18.5-99.28zm-139.72 2.03l-9.344 2.844v104.47l9.69 11.343 9-10.5V98.28l-9.345-2.81zm81.22 52.032l-54.345 63.688.344.28-14.563 17 12.033 14.063 71.093-83.343-4.75-7.375-9.812-4.312zm-161.25.53l-8.595 3.782-5.47 8.532 255.5 299.469L433 447.688l-8.094-9.47 22.688-10.03 11.47-5.063-8.158-9.53-44.125-51.783-2.31-2.718-3.564-.47-49.562-6.655-174-203.94zm56.06 123.22l-62.218 72.688-.125-.094-6.625 7.75-49.718 6.687-3.564.47-2.312 2.72-44.28 51.936-8.158 9.563 11.5 5.06 22.75 10.064-8.187 9.594 14.218 12.156L245.594 285.28l-12.188-14.03zm24.376 28.125l-9.75 11.28v178.75h18.69v-15.092l24.874 7.437 12.03 3.594v-87l-2.374-2.656-34.53-38.47v-47.5l-8.94-10.343zm-111.5 73.5l-42.936 50.375L86.906 416l33.844-39.688 25.53-3.437zm223.22.375l25.406 3.438 33.656 39.468-16.312 7.22-42.75-50.126zm-140.03 4.375l-16.064 18.094-2.344 2.655v87.031l12.063-3.656 6.344-1.906v-102.22zm37.25 7.563l18.217 20.312v54.75l-18.218-5.438v-69.625zm-87.75 5.406l-64.564 74.687 3.5 5.44 6.813 10.592 8.155-9.593 44.28-51.94 2.314-2.686-.064-3.563-.437-22.936zm157.905.156l-.438 22.97-.093 3.53 2.312 2.72 44.125 51.75 8.19 9.592 6.78-10.625 3.53-5.5-64.405-74.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowDunk;

impl IconShape for ArrowDunk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M237.13 18.283c-51.748 0-99.183 27.58-136.067 73.395 11.946-6.97 24.526-11.903 37.51-14.76 8.952-1.97 18.062-2.96 27.25-3 27.562-.123 55.824 8.283 82.636 24.318 70.828 42.362 132.585 137.45 153.704 275.178l-49.44 12.637 74.33 109.74 74.327-147.733-51.84 13.25c.564-8.534.9-17.16.9-25.905 0-175.088-95.847-317.12-213.307-317.12h-.002zm-71.165 74.305c-7.924.04-15.734.9-23.375 2.582-30.47 6.705-58.785 26.48-81.356 61.89C37.996 207.88 24.4 269.28 24.4 335.4c0 15.983 1.35 31.378 2.883 46.73 14.387-135.103 92.702-238.62 187.363-238.62 34.713 0 67.177 13.976 95.083 38.334-21.608-29.968-45.915-52.65-70.863-67.57-24.337-14.556-49.13-21.81-72.902-21.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowFlights;

impl IconShape for ArrowFlights {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.938 17.75l-29.625 112-64.22-64.313-18.218 18.22L480.78 494.124h11.814V469.5L264.72 241.28l29.624-112.124-17.53-17.53-16.783 37.468-.31-54.563-23.564-23.56-12.125 19.75-2.343-34.22-38.75-38.75zM419.875 81l-17.563 66.47-35.406-35.407-14.875 15.156 140.564 140.593V237.75l-20.375-20.375 17.592-66.438L419.875 81zM114.72 154l-92.814 24.53 16.75 16.75 50.97-1-37.19 14.782 39.44 39.438 32.905 2.03-12.874 8.907 20.688 1.282-16.844 11.655 17.594 17.594L226 265.436 114.72 154zm252.936 15.28l-48.97 12.94 25.658 25.655 31.875 2.156-18.408 11.314 30.782 30.78 48.97-12.936-69.908-69.907zM122.78 316.313l-17.56 66.407-35.345-35.47-15.313 15.313 131.594 131.562h30.094l-41.156-41.313 17.594-66.593-13.907-13.908-12.093 19.782-2.343-34.22-41.563-41.562zm188.907 51.594l-10.843 41.063-23.5-23.5-13.22 13.217 23.376 23.344-40.72 10.783 44.814 44.812 40.72-10.78 27.998 28h26.407l-41.095-41.095 10.844-41.03-19.158-19.19-8.562 7.75-3.344-19.624-13.72-13.75zM70.25 404.656L21.562 417.5l54 54h34.094L93.126 487l47.03-12.438-69.906-69.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowScope;

impl IconShape for ArrowScope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.35 18.55v91.552l102.82 58.544-101.203.305 285.76 135.443L170.27 18.637l-2.186 100.974-58.49-101.06H18.35zm285.058 92.75c-21.68 0-43.36 3.692-64.013 11.055l8.02 16.918c5.095-1.76 10.254-3.288 15.464-4.554l11.565 22.577c-5.513 1.186-10.967 2.71-16.34 4.533l8.04 16.96c5.627-1.812 11.348-3.245 17.128-4.263l3.09 6.032 4.385 50.13 10.3 21.726c.782-.038 1.566-.06 2.35-.06 12.445 0 24.89 4.777 34.438 14.326 19.098 19.098 19.1 49.777.002 68.875-19.098 19.097-49.78 19.098-68.877 0-9.797-9.798-14.553-22.644-14.298-35.41l-17.9-8.483c-.332 2.372-.554 4.757-.635 7.147l-51.738 4.778-7.142-2.203c-.048-11.992 1.588-23.986 4.89-35.612l-17.01-8.062c-3.777 12.374-5.898 25.148-6.347 37.972l-26.163-8.078c1.11-13.985 3.942-27.857 8.48-41.284l-16.94-8.03c-23.33 66.74-8.356 143.966 44.923 197.245 74.11 74.11 194.547 74.11 268.656.002 74.11-74.11 74.107-194.546-.002-268.654-37.054-37.054-85.69-55.582-134.326-55.582zm16.244 19.34c38.255 3.63 75.53 20.115 104.87 49.456 22.975 22.975 38.064 50.816 45.275 80.18l-20.453 10.48c-5.624-27.06-18.91-52.83-39.877-73.795-26.918-26.917-61.753-41.19-97.07-42.82l7.255-23.5zm-12.94 41.923c32.42.29 64.75 12.82 89.54 37.61 19.642 19.643 31.567 44.023 35.828 69.427l-2.648 1.357-60.305 5.57c-2.665-12.13-8.68-23.66-18.078-33.058-11.496-11.496-26.173-17.953-41.245-19.376l-4.877-55.754 1.783-5.778zM427.58 299.894l6.277 1.937c-.243 32.483-12.768 64.893-37.605 89.73-19.303 19.304-43.184 31.156-68.113 35.604l-1.745-3.406-5.05-57.74c10.892-2.985 21.176-8.723 29.704-17.25 12.094-12.096 18.6-27.717 19.544-43.612l56.986-5.263zm24.707 7.626l21.955 6.78c-3.005 39.356-19.574 77.878-49.72 108.024-21.934 21.934-48.3 36.682-76.196 44.248l-11.37-22.195c26.588-5.774 51.877-18.967 72.51-39.602 26.965-26.964 41.23-61.875 42.82-97.254zm-214.234 9.88c2.84 11.51 8.735 22.408 17.697 31.37 12.966 12.966 29.982 19.514 47.045 19.666l4.904 56.084-1.436 4.65c-33.04.18-66.134-12.346-91.397-37.61-19.042-19.042-30.832-42.538-35.418-67.103l3.913-2.006 54.69-5.05zm-75.783 15.858c5.885 26.225 19.006 51.14 39.382 71.517 27.385 27.385 62.964 41.667 98.907 42.88l-7.583 24.566c-40.276-2.447-79.86-19.072-110.684-49.898-22.04-22.04-36.823-48.554-44.356-76.6l24.333-12.464z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Arrowed;

impl IconShape for Arrowed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M188.438 24.938l-7.188 17.718-8.78 21.594-23.095-3.22-18.938-2.624L140 74.97l17.72 30.686 2.28 3.97 4.53.624 26.19 3.656 69.843 120.97c6.38-1.674 12.76-3.102 19.125-4.22l-73.032-126.53 9.625-23.75 1.72-4.25-2.28-3.94L198 41.502l-9.563-16.563zM327 33.718l-13.688 13.344-16.718 16.25-19.844-12.218-16.28-10.032 2.092 19.032 3.875 35.218.5 4.532 3.907 2.406 21.844 13.438 12.375 112.093c3.99-.196 7.942-.287 11.843-.218 2.335.042 4.64.142 6.938.282l-12.563-113.75 18.94-18.406 3.28-3.188-.5-4.563-3.875-35.218-2.125-19zM103.344 94.063l-1.563 19.063-1.874 23.25-23 3.875-18.844 3.156 14.094 12.938L98.28 180.28l3.345 3.095 4.53-.75 26.032-4.406 80.875 74.186c1.764-.85 3.53-1.69 5.313-2.5 4.413-2.008 8.888-3.888 13.406-5.656l-87.31-80.125 2.06-25.53.376-4.564-3.375-3.093L117.438 107l-14.093-12.938zm332.53 123c-17.883-.094-38.852 9.04-55.937 26.125-5.31 5.31-9.823 11.023-13.562 16.875-11.6-6.99-25.385-11.1-40.344-12.687l-.03-.25c-3.086-.237-6.222-.397-9.438-.438-.412-.005-.835.002-1.25 0-105.82-2.977-255.813 107.01-127.937 203.125H68.062l-26.468 47.75H298.78l-88.5-103.25c24.272-26.708 67.46-43.704 97-45.062 13.794 45.098 36.266 113.497 71.75 148.313h60.845c-43.07-46.547-76.538-109.09-81.938-179.844 1.616 3.234 3.72 6.187 6.313 8.78 18.664 18.664 55.945 11.617 83.28-15.72 27.337-27.335 34.352-64.616 15.69-83.28-7-7-16.615-10.38-27.345-10.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Arrowhead;

impl IconShape for Arrowhead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M34.22 19.844l-12.407.125.062 30 177.97 177.5c4.98-8.957 12.884-16.088 22.405-20.064L34.22 19.844zm205.436 202.75c-14.946 0-26.844 11.93-26.844 26.875s11.898 26.874 26.844 26.874c14.946 0 26.875-11.93 26.875-26.875 0-14.947-11.928-26.876-26.874-26.876zm150.875 15.75c-15.905 11.413-31.637 18.404-47.467 21.5 29.263 39.57 49.927 71.443 62.28 96 6.804 13.523 11.162 24.788 12.907 34.562 1.745 9.774.876 19.417-5.813 25.906-6.688 6.49-16.216 7.208-26.125 5.532-9.908-1.676-21.394-5.88-35.187-12.438-25.368-12.058-58.377-32.294-99.22-60.906-2.646 16.347-8.904 32.21-19.06 47.53 64.07 43.58 163.496 83.783 246.468 88.783 3.614-85.247-42.328-181.024-88.782-246.47zm-105.655 16.562c-2.375 19.668-17.412 35.58-36.656 39.28 3.07 11 4.776 21.816 5.093 32.44 44.728 31.797 80.314 53.785 105.812 65.905 12.888 6.127 23.263 9.684 30.313 10.876 7.05 1.193 9.577-.12 9.968-.5.392-.38 1.644-2.46.438-9.22-1.207-6.756-4.852-16.84-11.188-29.436-12.4-24.647-34.88-59.106-67.5-102.563-11.922-.288-23.968-2.61-36.28-6.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArrowsShield;

impl IconShape for ArrowsShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.47 26.563v20.875L84.812 81.06l-14.5 30.47 155.968 24.03L109.313 29.626 92.876 64.188 17.47 26.562zm354.842 32.5c-4.43.024-8.844.136-13.218.343-45.09 2.137-86.237 14.54-113.28 38.782.172 77.194 5.056 152.54 23.124 213.687 17.983 60.865 48.327 106.972 99.687 129.906 45.97-20.273 76.837-71.63 95.97-138.56 19.067-66.71 26.205-147.742 26.592-224.126-34.766-12.206-75.27-19.68-114.437-20.03-1.48-.015-2.96-.01-4.438-.002zm-6.5 27.968c1.047-.006 2.107-.008 3.157 0 29.384.265 59.388 6.713 85.03 17.44l5.72 2.405v6.22c0 58.435-4.575 121.105-18.064 173.78-13.488 52.675-35.843 96.5-74.375 113.688l-3.905 1.718-3.844-1.78c-40.63-18.93-63.79-58.79-76.592-107.156-12.803-48.366-15.813-106.07-15.813-164.5v-3.688l2.5-2.687c21.535-23.147 53.538-33.397 86.813-35.157 3.12-.166 6.235-.26 9.375-.282zm3 18.69c-3.82-.04-7.618.05-11.375.25-28.647 1.514-54.426 10.133-71.562 26.81.145 56.383 3.362 111.343 15.125 155.782 11.566 43.697 30.844 76.442 62.5 93 27.89-14.766 47.736-51.3 60.03-99.312 12.383-48.354 17.045-107.17 17.376-162.78-22.038-8.363-47.53-13.5-72.094-13.75zM91.875 162.155l-2.844 33.78-71.56-6.592v18.75l69.968 6.47-2.844 33.624 146.97-30.875-139.69-55.157zm9.97 128.156l8.03 27.532L17.47 344.47v19.467l97.624-28.187 9.437 32.344 118.25-76.688-140.936-1.094zm171.436 85.094l-145.155 44.438 19.03 28.5-70.093 46.78.376.563h32.468l47.625-31.78 19.032 28.53 96.72-117.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Arson;

impl IconShape for Arson {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M292.188 16.22c-111.482 14.198-135.342 99.816-95.063 166.28-43.158-17.874-61.805-44.185-43.656-82.47-41.67 21.616-63.65 64.594-62.72 111 .727 36.28 15.237 64.622 37.72 85.157-11.34-28.98-14.304-59.254-7.064-84.78 35.742 49.33 137.816-19.996 147.125-79.282-.036 63.674 63.968 118.383 112.69 52.406 8.686 35.966 6.747 73.19-2.44 103.157 18.762-19.76 30.682-45.355 31.564-76.656 1.263-44.876-21.042-74.46-72.125-96.06 19.285 27.88 11.738 60.293-8.814 73.843 13.512-68.19-120.605-105.09-37.22-172.532l.002-.06zm21.375 217.093v41.593l-.72-.562H199.72l-97.314 74.437h51.28v141.876H297.72v-68.28h37v68.28H358V348.78h52.156L358 308.876v-75.563h-44.438zM176.72 360.156h37v35.594h-37v-35.594zm59.78 0h37.03v35.594H236.5v-35.594zm60.5 0h37.03v35.594H297v-35.594zm-120.28 61.53l37 .002v35.562h-37v-35.563zm59.78.002h37.03v35.562H236.5v-35.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ArtificialHive;

impl IconShape for ArtificialHive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.313 23.844L49.438 140.25l-.376 233.5 202.625 116.406L453.563 373.75l.375-233.5L251.313 23.844zm-1.407 57.062l52.406 30.25v60.5l-52.406 30.25-52.406-30.25v-60.5l52.406-30.25zm-105.344 60.47l52.407 30.25v60.5l-52.407 30.25 52.406 30.25v60.53l-52.407 30.25-52.407-30.25v-60.53l52.406-30.25-52.406-30.25v-60.5l52.406-30.25zm210.313 0l52.406 30.25v60.5l-52.405 30.25 52.406 30.25v60.53l-52.405 30.25-52.406-30.25v-60.53l52.405-30.25-52.406-30.25v-60.5l52.405-30.25zM249.905 202l52.407 30.25v60.5l-52.28 30.188 52.28 30.156v60.53l-52.406 30.25-52.406-30.25v-60.53l52.28-30.156-52.28-30.188v-60.5L249.906 202z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AssassinPocket;

impl IconShape for AssassinPocket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.56 16.225l-15.535 54.302-79.183-12.79-2.98 18.45L212.85 88.62l-14.92 52.163 17.968 5.14 11.028-38.546c92.558 14.84 177.404 26.687 273.004 16.824-78.98-39.333-166.495-51.603-258.832-66.368l10.43-36.467-17.97-5.14zm-68.695 120.443l-13.482 12.953 69.644 72.493-59.63 34.428 9.347 16.19 44.098-25.46c83.234 86.485 160.743 164.186 267.683 231.242-48.682-97.16-128.987-177.16-212.025-263.375l40.176-23.198-9.346-16.19-63.625 36.734-72.84-75.816zm-87.11 13.424l-17.82 5.646 20.942 66.094-53.99 13.613 4.57 18.125 38.824-9.79c25.36 79.632 50.276 151.825 99.097 222.02 2.31-80.818-23.148-155.34-48.488-234.78l37.794-9.528-4.57-18.125-55.08 13.887-21.28-67.162z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AtSea;

impl IconShape for AtSea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.438 14.188c-132.32 0-239.782 107.46-239.782 239.78S124.118 493.75 256.436 493.75c132.32 0 239.783-107.46 239.783-239.78S388.756 14.187 256.436 14.187zm0 17.906c122.653 0 221.875 99.222 221.875 221.875 0 4.52-.14 9.014-.407 13.468-30.945 8.15-68.07-14.224-85.406-43.844-47.56 66.05-89.736 73.192-129.156-1.563-36.942 67.55-104.172 73.156-137.125 20.064-33.724 45.983-56.65 52.056-91.064 28.562-.408-5.506-.625-11.076-.625-16.687 0-122.654 99.254-221.876 221.907-221.876zm138.5 245.22c20.212 40.226 58.603 27.536 81.968 1.56-4.73 42.46-21.395 81.254-46.594 113-33.743 18.582-58.868 7.2-89.562-45.624-41.883 74.754-109.812 67.614-160.344 1.563-17.546 28.218-62.92 49.844-97.28 44.78-21.883-27.33-37.445-59.944-44.44-95.656 23.49 22.105 63.89 29.177 84.408-3.625 32.368 48.656 100.402 51.536 140.25-5.062 23.826 34.047 85.965 64.59 131.594-10.938zM177.813 401.5c48.48 75.528 137.623 45.016 162.937 10.97 17.197 19.63 37.55 20.796 57.688 12.06-38.462 32.052-87.956 51.345-142 51.345-54.692 0-104.714-19.757-143.375-52.5 24.17 8.208 50.552 4.72 64.75-21.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AtomicSlashes;

impl IconShape for AtomicSlashes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.25 51.813c-59.778.797-102.472 36.19-97.47 91.593-175.105 173.99-42.24 388.292 82.72 301.281 234.398 24.897 320.07-138.203 253.688-215.875-68.157-127.71-166.197-177.97-238.938-177zm35.28 54c59.782-.537 138.234 35.254 194.314 113.593-32.668-28.783-91.096-41.137-175.594-17.906 233.673-4.713 159.012 242.056-65.813 241.094 23.605-17.352 46.84-45.562 67.563-86.97-141.047 157.87-264.124-48.664-152.094-203.78 6.14 35.83 31.486 79.165 83.5 126.5-75.762-109.73-29.625-171.834 48.125-172.53zm20.314 112.03c-28.427-.322-54.126 19.32-60.375 48.188-7.143 32.992 13.82 65.547 46.81 72.69 32.992 7.14 65.516-13.823 72.658-46.814 7.14-32.99-13.822-65.545-46.813-72.687-4.124-.894-8.22-1.33-12.28-1.376z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aubergine;

impl IconShape for Aubergine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M81.156 19.22c-9.98 17.95-11.653 41.482-8.47 63.624 1.683 11.693 4.66 23.045 9.19 33-10.98-2.333-22.86-6.74-35.25-12.063l19.624 36.47c-14.538-7.018-29.415-5.078-43.594-.313 31.984 20.98 18.398 38.788-3.093 59.157 10.004-2.09 20.2-6.646 29.343-9.72-5.812 19.467-6.532 42.407.22 67.814 53.11 199.91 223.06 260.347 345.312 221.375 80.27-25.585 108.82-99.86 95.343-161.938-6.737-31.04-23.74-59.45-49.874-77.625-26.132-18.175-61.312-25.596-102.094-15.47h-.03c-35.654 8.892-64.878 12.25-86 6.532-21.123-5.718-35.554-19.17-45-49.843-3.635-11.8-8.864-21.88-15.282-30.157-.96-18.358 6.62-32.632 21.125-43.594-20.593-4.363-40.967-6.693-58.688 16.31 5.405-13.443-.73-37.854-12.843-44.905-7.468 25.998-20.424 37.084-36.875 39.344-5.926-8.934-10.95-22.564-13.032-37.032-2.755-19.153-.53-39.567 6.312-51.876L81.156 19.22zm74.125 125.624l3.22 1.312c12.98 6.565 24.084 18.935 30.438 39.563 10.698 34.737 31.14 55.11 57.968 62.374 14.837 4.017 31.185 4.424 49.063 2.437-105.218 87.705 83.948 233.89 175.124 125.657-8.69 36.317-34.728 69.418-82.344 84.594-112.234 35.78-270.73-17.073-321.563-208.405-6.915-26.024-5.132-47.923 1.844-65.28 5.14 1.723 8.945 6.424 10.845 16.06 17.377-13.67 29.664-28.077 31.406-43.968 17.52 0 35.045 2.896 52.564 14.22 1.267-10.08-.185-19.735-8.563-28.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Aura;

impl IconShape for Aura {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.938 13.28c-16.646 34.584-38.466 60.157-63.094 60.157-24.522 0-47.035-25.275-63.656-59.593.366 39.358-9.71 90.884-30.938 105.125-21.228 14.24-49.64-12.002-78.844-32.126 17.455 34.04 42.095 67.5 29.78 92.28-12.21 24.576-59.172 35.96-92.874 35.626 29.338 19.29 78.842 45.803 78.844 74.188.002 28.384-49.504 53.71-78.844 73 33.702-.333 80.663 11.612 92.876 36.187 12.227 24.61-9.03 56.31-33.75 85.563 44.826-15.413 65.142-5.735 85.374 10.812h31.75c-42.74-35.413-72.062-107.828-72.062-191.563-.002-118.62 58.92-214.906 131.406-214.906 72.488 0 131.406 96.29 131.406 214.907 0 83.74-29.317 156.153-72.062 191.563h27.313c19.847-14.62 39.796-25.65 89.687-9.28-26.233-30.264-42.2-62.484-29.97-87.095 12.257-24.665 56.658-36.612 90.533-36.188-29.4-19.297-75.344-44.584-75.344-73 0-28.415 45.943-54.89 75.342-74.187-33.874.424-78.273-10.962-90.53-35.625-12.315-24.78 9.982-58.24 27.437-92.28-29.202 20.12-57.583 46.385-78.845 32.124-21.262-14.263-31.382-66.13-30.938-105.69zm-68.97 93.75c-19.56 2.543-37.343 25.564-37.343 55.407 0 16.447 5.67 30.986 14 41.032l10.156 12.218-15.593 2.937c-10.815 2.035-18.743 7.737-25.53 17.063-6.79 9.325-11.984 22.344-15.626 37.343-6.585 27.128-8.078 60.24-8.31 89.47h36.093l.656 8.656 9.124 122.563h76.187l8.095-122.5.563-8.72h34.375c-.026-29.592-.44-63.166-6.407-90.5-3.295-15.095-8.287-28.096-15.156-37.313-6.87-9.216-15.133-14.897-27.28-16.78l-15.94-2.47 10.064-12.593c7.97-9.996 13.375-24.36 13.375-40.406-.002-31.817-19.884-55.313-41.44-55.313-2.54 0-3.96-.103-4.03-.094h-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AutoRepair;

impl IconShape for AutoRepair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241.406 21l-15.22 34.75c-7.864.478-15.703 1.472-23.467 2.97l-23.282-30.064-25.094 8.532-.125 38.25c-10.63 5.464-20.817 12.07-30.44 19.78L88.313 79.25 70.156 98.563 88.312 133c-5.852 8.346-10.925 17.072-15.218 26.094l-38.938 1.062-7.906 25.28 31.438 23.158c-1.505 9.38-2.24 18.858-2.282 28.344L20.5 254.625l3.656 26.25 38.313 7.5c2.284 7.982 5.107 15.826 8.5 23.5L45.72 343.22l14.093 22.436 39.25-9.187c2.47 2.895 5.037 5.757 7.718 8.53 5.643 5.835 11.565 11.206 17.72 16.125l-7.625 39.313 22.938 13.25 29.968-26.094c8.606 3.462 17.435 6.23 26.407 8.312l9.782 38.406 26.405 2.157 15.875-36.22c10.97-.66 21.904-2.3 32.656-4.938l25.22 29.22 24.593-9.844-.72-14.813-57.406-43.53c-16.712 4.225-34.042 5.356-51.063 3.436-31.754-3.58-62.27-17.92-86.218-42.686-54.738-56.614-53.173-146.67 3.438-201.406 27.42-26.513 62.69-39.963 98-40.344 37.59-.406 75.214 13.996 103.438 43.187 45.935 47.512 52.196 118.985 19.562 173.095l31.97 24.25c3.997-6.28 7.594-12.75 10.75-19.375l38.655-1.063 7.906-25.28-31.217-23c1.513-9.457 2.262-19.035 2.28-28.594l34.688-17.625-3.655-26.25-38.28-7.5c-3.196-10.993-7.444-21.762-12.75-32.125l22.81-31.594-15.25-21.657-37.56 10.906c-.472-.5-.93-1.007-1.408-1.5-5.998-6.205-12.33-11.89-18.937-17.064l7.188-37.125L334 43.78l-28.5 24.814c-9.226-3.713-18.702-6.603-28.313-8.75l-9.343-36.688L241.406 21zM183.25 174.5c-10.344.118-20.597 2.658-30 7.28l45.22 34.314c13.676 10.376 17.555 30.095 7.06 43.937-10.498 13.85-30.656 15.932-44.53 5.408l-45.188-34.282c-4.627 24.793 4.135 51.063 25.594 67.344 19.245 14.597 43.944 17.33 65.22 9.688l4.78-1.72 4.03 3.063 135.19 102.564 4.03 3.062-.344 5.063c-1.637 22.55 7.59 45.61 26.844 60.217 21.46 16.28 49.145 17.63 71.78 6.5l-45.186-34.28c-13.874-10.526-17.282-30.506-6.78-44.344 10.5-13.84 30.537-15.405 44.217-5.032l45.188 34.283c4.616-24.784-4.11-51.067-25.563-67.344-19.313-14.658-43.817-17.562-64.968-10.033l-4.75 1.688-4.03-3.063-135.19-102.562-4.03-3.063.344-5.03c1.55-22.387-7.85-45.194-27.157-59.845-12.544-9.516-27.222-13.978-41.78-13.812zm43.563 90.25l163.875 124.344L379.406 404 215.5 279.625l11.313-14.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Autogun;

impl IconShape for Autogun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.563 24.813c-30.575 0-55.344 24.77-55.344 55.343 0 6.072 1.006 11.908 2.81 17.375l-39.28 45.626h51.063v-25.562c10.114 11.014 24.617 17.937 40.75 17.937V88.28h58.593V69.595h-58.594v-44.78zM47.03 161.843v79.563l28.032 16.375c1.528-36.73 31.968-66.217 69.063-66.217 38.065 0 69.125 31.06 69.125 69.125 0 24.73-13.126 46.498-32.75 58.718l26.813 15.656h52.843V161.845H47.03zm330.064 44.813v83.438h62.937v-83.438h-62.936zm-232.97 3.594c-27.964 0-50.436 22.472-50.436 50.438 0 11.272 3.652 21.655 9.843 30.03l-22.593 26.47c5.946 2.36 11.307 5.876 15.844 10.25l20.5-24.032c7.77 4.875 16.95 7.72 26.845 7.72 27.965 0 50.438-22.473 50.438-50.438 0-27.966-22.473-50.438-50.438-50.438zm134.72 12.094v52.062h79.562v-52.062h-79.562zm179.875 0v52.062h25.967v-52.062H458.72zM144.593 228c17.964 0 32.72 14.786 32.72 32.75s-14.755 32.72-32.72 32.72c-17.965 0-32.75-14.756-32.75-32.72S126.63 228 144.594 228zm0 18.688c-7.865 0-14.063 6.197-14.063 14.062 0 7.865 6.2 14.03 14.064 14.03s14.03-6.165 14.03-14.03c0-7.865-6.166-14.063-14.03-14.063zm-81.47 85.78c-16.628 0-29.905 13.278-29.905 29.907 0 16.63 13.276 29.906 29.905 29.906 16.63 0 29.906-13.276 29.906-29.905 0-16.63-13.276-29.906-29.905-29.906zm30.595 67.594c-5.02 4.087-10.88 7.2-17.25 9.032l34.843 36.375c-7.837 8.395-13.984 18.42-17.876 29.5H54.5v18.686h34.688c-.002.01 0 .02 0 .03l19.718.002c4.553-31.235 31.577-55.375 64.03-55.375 32.456 0 59.453 24.14 64 55.375h19.75c0-.01.003-.02.002-.032h35.125V474.97h-39.375c-11.52-32.797-42.69-56.22-79.5-56.22-17.618 0-33.94 5.345-47.438 14.53l-31.78-33.217zM172.937 457c-22.322 0-40.812 15.68-45.094 36.688H218C213.718 472.68 195.26 457 172.937 457z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AutomaticSas;

impl IconShape for AutomaticSas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.607 19.768c-23.41-.103-45.42 3.88-64.998 12.148l59.087 143.24c2.407-3.998 5.27-7.708 8.625-11.062 7.098-7.098 15.763-12.045 25.477-14.955l54.87-113.724c-28.477-10.21-56.66-15.532-83.063-15.648zM83.904 40.39C75.086 45.68 66.918 52 59.53 59.388 36.044 82.87 23.294 114.187 20.5 149.45l136.266 99.38c-5.55-16.14-7.63-32.022-6.002-46.357L83.904 40.39zm182.194 1.885l-50.045 103.717c17.453-.066 36.646 4.868 55.51 14.393l141.17-5.317c-8.735-10.745-18.182-21.25-28.342-31.41C347.888 87.155 307 59.755 266.1 42.275zM20.064 172.245c1.908 51.047 22.71 108.133 60.364 160.892l134.824-5.076c-6.03-4.68-11.91-9.846-17.557-15.494-8.606-8.606-16.102-17.746-22.445-27.144L20.064 172.246zm406.592.987L299.31 178.03c6.005 4.666 11.86 9.814 17.485 15.44 8.67 8.67 16.213 17.88 22.586 27.352l148.39 108.22c-3.41-49.83-24.4-104.89-61.114-155.81zM357.77 257.35c5.548 16.19 7.603 32.117 5.925 46.478l66.084 160.197c6.733-4.518 13.05-9.676 18.88-15.505 24.827-24.828 37.66-58.403 39.41-96.147l-130.3-95.023zm-3.06 73.668c-2.39 3.945-5.227 7.608-8.542 10.923-7.114 7.116-15.803 12.07-25.545 14.978L264.09 474.086c54.68 18.62 107.972 19.073 149.334-.736L354.71 331.018zm-111.68 14.685l-148.805 5.604c9.076 11.28 18.93 22.3 29.574 32.94 37.823 37.825 80.355 65.884 122.73 83.25l51.85-107.454c-17.407.055-36.54-4.86-55.35-14.34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Awareness;

impl IconShape for Awareness {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.406 18.313c-57.98 16.562-98.06 51.613-98.062 92.28-.003 40.518 39.805 75.616 97.437 92.25-33.653-22.005-55.22-55.224-55.218-92.25 0-37.237 21.85-70.277 55.844-92.28zm276.531 0c33.995 22.003 55.844 55.043 55.844 92.28.004 37.026-21.563 70.245-55.217 92.25 57.632-16.634 97.44-51.732 97.437-92.25-.003-40.667-40.082-75.718-98.063-92.28zM163.28 41.656c-43.303 12.368-73.215 38.565-73.218 68.938-.002 30.26 29.707 56.482 72.75 68.906-25.135-16.434-41.25-41.255-41.25-68.906 0-27.813 16.328-52.503 41.72-68.938zm192.782 0c25.39 16.435 41.72 41.125 41.72 68.938 0 27.65-16.115 52.472-41.25 68.906 43.043-12.424 72.752-38.645 72.75-68.906-.004-30.373-29.915-56.57-73.22-68.938zm-101.03 6.813c-23.457 3.027-44.22 30.026-44.22 64.655 0 19.094 6.635 36.007 16.438 47.75l10.22 12.25-15.69 2.938c-12.834 2.4-22.282 9.19-30.25 20.062-7.965 10.872-14 25.903-18.218 43.156-7.727 31.62-9.362 70.17-9.593 103.94h41.655l.625 8.655 10.625 141.375h90.344l9.374-141.313.594-8.718h39.625c-.017-34.152-.373-73.232-7.375-105.095-3.818-17.37-9.612-32.392-17.688-43.156-8.076-10.765-17.99-17.51-32.344-19.72l-16-2.47 10.125-12.624c9.38-11.682 15.69-28.4 15.69-47.03 0-36.92-23.274-64.564-49.095-64.564-2.8 0-4.505-.137-4.844-.093zm-51.438 12.155c-31.38 8.964-53.063 27.96-53.063 49.97 0 21.927 21.53 40.935 52.72 49.936-18.212-11.908-29.875-29.898-29.875-49.936.003-20.153 11.82-38.06 30.22-49.97zm112.156 0c18.398 11.91 30.216 29.816 30.22 49.97 0 20.037-11.664 38.027-29.876 49.936 31.19-9 52.72-28.008 52.72-49.936-.002-22.01-21.686-41.005-53.064-49.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AxeInStump;

impl IconShape for AxeInStump {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.53 19.688V61.03c72.043 13.54 136.044 34.786 205.126 63.907v.032c12.827 4.56 21.984 12.106 26.844 21.186 4.94 9.23 5.268 19.71 1.75 28.563-6.227 15.67-24.807 25.573-45.78 20.374-10.345 19.927-23.93 39.623-42.407 58.937 11.14 7.005 22.513 13.16 34.187 18.532H307.5c20.216-54.396 32.977-109.693 38.344-160.937-104.518-15.22-203.62-46.673-297.813-91.938h-29.5zm317.095 229c-2.58 8.03-5.326 16.08-8.22 24.093h28.94v18.69h-161.69v-.22h-.593l-1.843-.844c-16.61-7.513-32.607-16.53-48.126-27.062l-3.156-2.125c-10.943 4.44-19.705 9.41-25.563 14.342-7.023 5.915-9.563 11.066-9.563 15.594 0 4.53 2.54 9.71 9.563 15.625 7.023 5.916 18.168 11.9 32.313 16.94 28.29 10.075 68.477 16.56 112.906 16.56 44.428 0 84.648-6.485 112.937-16.56 14.146-5.04 25.29-11.024 32.314-16.94 7.023-5.913 9.562-11.095 9.562-15.624 0-4.527-2.54-9.68-9.562-15.594-7.024-5.914-18.168-11.9-32.313-16.937-10.984-3.913-23.774-7.277-37.905-9.938zm-234.03 70.843c-5.044 82.403-40.128 102.984-71.44 125.095 20.57 4.536 43.68 8.43 66.94 7.563 25.204-9.846 51.443-36.288 70.405-57.47-8.154 19.774-19.6 39.024-34.563 58.376L106.97 492.53c44.538-7.387 86.41-17.235 129.25-46.374-7.942-20.833-13.978-41.123-18.22-61.187 16.816 26.81 35.478 52.765 57.125 76.655.03.033.064.06.094.094l31.967 30.655c25.176-31.428 43.748-65.536 58.563-99.875-.153 15.875-1.45 32.3-5 49.594 43.973 9.924 87.933 3.585 131.906 2.53-44.83-18.237-70.754-54.62-75.344-123.093-9.53 7.867-22.24 14.347-37.5 19.783-31.12 11.084-72.99 17.656-119.218 17.656-46.227 0-88.068-6.573-119.188-17.658-15.56-5.542-28.473-12.174-38.062-20.25-.6-.504-1.175-1.01-1.75-1.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct AxeSwing;

impl IconShape for AxeSwing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.97 25.5c-82.09.7-162.87 37.735-213.314 103.625 26.08-22.208 57.052-38.305 90.063-47.5-62.24 53.704-94.583 139.09-79.626 225.28 1.09-28.258 7.8-55.66 19.28-80.655 1.154 51.488 18.492 102.143 52.22 143.344-38.003-76.004-22.756-193.02 39.844-240.313 11.657-5.955 24.047-10.833 37.093-14.436C284.597 85.27 394.467 151.13 423.157 261.5c16.562 63.723 2.315 128.343-33.25 177.313-4.68 4.68-9.852 8.942-15.47 12.875-5.947-1.8-11.324-4.187-16.03-7.22-12.01-7.737-19.51-19.947-20.656-33.624-2.096-24.99 14.13-53.014 46.53-80.53l-29.717-22.095c-16.038 39.73-38.954 61.946-64.188 65.186-13.836 1.777-27.648-2.677-39.03-11.844-8.41-6.77-15.634-16.017-21.5-27.406-16.69 19.306-20.72 43.155-16 67.28 5.483 28.04 23.502 55.683 47.28 72.252 21.973 15.312 49.595 21.202 74.813 16.375 9.043-1.732 17.75-4.832 25.843-9.344 18.055-8.925 34.396-20.126 47.25-35 65.17-57.975 96.26-151.12 72.47-242.658C453.52 95.415 358.743 24.782 255.47 25.875c-1.612.017-3.23.042-4.845.094-6.22-.368-12.44-.523-18.656-.47zm-90.657 145.125c-12.53-.06-18.07 15.934-6.063 23.656l188.688 133.032c4.29-6.45 8.42-14.145 12.25-23.187L150.968 173.53c-3.503-2.022-6.764-2.89-9.655-2.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BackForth;

impl IconShape for BackForth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241.844 28.625l-21.188 5.063L33.25 78.53l-9.594 2.282 2.813 9.47 54.718 184.03 6.156 20.782 10.875-18.75 36.624-63.125 39.344 22.655 9.375-16.188-47.47-27.312L128 187.72l-4.656 8.06-30.406 52.47-45.75-153.844 156.625-37.47-30.344 52.345-4.69 8.126 8.126 4.656L332.75 211.75l-17.594 30.344 16.22 9.312 22.25-38.375 4.687-8.124-8.125-4.656-155.844-89.688 36.594-63.093 10.906-18.845zm-28.25 176.47l-57.438 99.31 155.22 89.5 8.093 4.658-4.69 8.093-44.06 76.25 218.81-52.5-63.874-215.47-44.094 76.25-4.656 8.064-8.094-4.656-155.218-89.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BackPain;

impl IconShape for BackPain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.094 21.094l13.875 143.72L83.72 58.343l72.624 139.906-77.72-29.47 34.282 62.126-82.062-2.062L135.874 297 31.75 327.03l109.438 21.158c8.39-48.802 49.597-85.194 97.75-105.344 28.916-12.1 60.67-18.762 90.75-18.594 19.237.108 37.776 3.024 54.437 9.063l48-119.375L350 196.5l19.22-161.78-41.876 95.968L313.47 92.03l-32.69 83.5-80.686-154.436zm255.78 190.687c-17.883-.093-38.852 9.04-55.937 26.126-5.31 5.31-9.823 11.022-13.562 16.875-29.252-17.627-72.375-16.805-113.28-3.905-9.17 2.484-18.214 5.537-26.94 9.188-43.676 18.277-78.503 49.837-86.218 89.625-6.61 30.108 5.37 63.223 47.438 94.843H88.062l-26.437 47.75H318.78l-88.467-103.25c24.27-26.707 67.457-43.703 97-45.06 13.792 45.096 36.233 113.496 71.718 148.31h60.876c-43.07-46.546-76.57-109.087-81.97-179.842 1.617 3.235 3.72 6.188 6.314 8.78 18.664 18.664 55.945 11.618 83.28-15.718 27.337-27.336 34.384-64.618 15.72-83.28-7-7-16.645-10.382-27.375-10.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BackboneShell;

impl IconShape for BackboneShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M350.1 19.82c-28.8.34-81.1 43.61-70.9 117.38-12.3 7.4-27.7 13.3-40.1 11.1 11.8 18.1 33.6 26.3 56.4 21.8-8.3 4.8-19.4 8.3-27.9 9-11 .7-21.8-1.4-31.5-7.2-16.5-17.3-33.8-51.6-21.3-71.3 10.9-16.5 5.9-35.23-5.4-40.57-25-11.86-83 52.77-46.4 131.67-9.5 11.9-22.7 23-37.8 24.9 14 9.8 36.9 12.5 51 8.7-9.9 6.7-21.4 10.8-32.7 11.6-11.5.8-22.8-1.6-32.8-7.9-12.46-12-25.75-31.7-22.91-47.7 3.71-19.4-8.14-34.8-20.59-35.4-27.66-1.3-56.37 80.9 8.07 139.6-24.89 40.7-43.25 89.9-55.21 149.3-12.747 63.2 35.52 78.3 66.06 18.8 16.28-27.5 32.78-57.8 53.98-77.3 51.4-56.9 124.3-104.7 183.9-130.7 28.9-12.6 54.2-20.4 74.2-20.8 12.9-.2 28.4 5.6 33.6 15.2 4.2 8.4 3.4 18.1-.4 29-3.2-18.4-14.7-23.7-26.8-25.3-6.7-.6-16.6.5-28.4 3.4 30.3 16.3 39.2 42.7 16.1 58.9 9.3-21.2-20.2-43.1-47.4-48.8-6.7 2.6-12.4 5-18.4 7.7 20.6 21.1 24 44.8.9 54.4 10.2-14-.8-32.9-17.6-46.4-7.1 3.6-14.4 7.5-21.7 11.6 9.5 15.2 4.3 29.4-19.7 38.9 9.5-8.8 9-19.2 2.1-28.6-24.2 14.7-48.7 32-71.4 51 32.3-8.4 73.1-10.8 130.2-15.6 211-17.9 207-209.5 48.8-210.8-3.9-.1-7.2.6-10.6-.7 7.5 18.8 28.4 34.2 44.9 38.9-13.1 1.5-26.3-.6-37.5-6-29.9-13.7-36.7-70.53-18.9-87.17 15.4-12.37 16.4-31.74 7.3-40.27-4.2-3-9.1-4.35-13.2-4.34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Backstab;

impl IconShape for Backstab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M180.75 22.97l-17.72 5.968 25.345 75.406 17.72-6.03-25.345-75.345zm73.906 78.56L149.97 137.157l10.155 29.875c8.316-9.75 17.78-17.498 28.125-23.374 7.232 27.494 16.666 54.12 27.813 79.906 13-5.56 26.423-10.197 39.906-13.718-6.967-26.727-15.822-53.187-26.345-79.313 11.295-1.24 23.1-.91 35.22.94l-10.19-29.94zm191.688 88.22c-19.464-.103-42.28 9.843-60.875 28.438-5.778 5.776-10.684 11.978-14.75 18.343-28.734-17.313-69.766-18.263-110.22-7.968-.02-.093-.04-.187-.063-.28-12.357 3.134-24.726 7.248-36.687 12.312l.188.406c-87.328 37.506-151.902 123.99-48.032 202.063H46.03L17.25 495.03h279.875l-96.28-112.374c26.414-29.067 73.41-47.584 105.56-49.062C321.42 382.674 345.85 457.11 384.47 495h66.25c-46.88-50.664-83.318-118.734-89.19-195.75 1.76 3.523 4.022 6.77 6.845 9.594 20.312 20.312 60.906 12.657 90.656-17.094 29.752-29.75 37.407-70.344 17.095-90.656-7.617-7.617-18.103-11.282-29.78-11.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Backup;

impl IconShape for Backup {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.594 21.625c-.537.012-1.068.028-1.563.094-29.656 3.852-52.56 35.847-52.56 74.75 0 21.55 7.307 41.193 18.686 54.905-61.678 11.594-66.563 115.158-66.562 188.063h43.218l11.094 152.437h63.063L168.905 340.03h21.47l11.343 152.158h108.686l10.03-152.157h21.627l-9.907 151.845h63.063l10.53-152.438h40.28c0-73.107 1.407-178.78-65.967-189.218 10.89-13.646 18.093-32.734 18.093-53.75 0-41.496-26.52-74.75-59-74.75-2.03 0-4.43-.263-6.406 0-9.4 1.22-17.562 5.455-25.125 11.686 16.388 13.303 27.468 36.433 27.47 63.063 0 21.016-7.236 40.104-18.126 53.75 67.373 10.438 66 116.11 66 189.218h-21.94c.008-73.086 1.29-178.215-65.905-188.625 10.89-13.647 17.906-32.61 17.906-53.625 0-41.497-26.457-75-58.936-75-2.03 0-4.117-.262-6.094 0-29.657 3.85-52.813 36.095-52.813 75 0 21.547 7.373 40.788 18.75 54.5-61.514 11.563-66.318 114.874-66.343 187.75H126.25c-.002-72.905 4.322-176.47 66-188.063-11.38-13.712-18.687-33.356-18.688-54.906 0-26.575 11.138-49.632 27.438-63.064-9.148-7.425-19.896-11.687-31.53-11.687-1.525 0-3.267-.132-4.876-.095z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BallGlow;

impl IconShape for BallGlow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.508 20.95c-20.294 83.173-71.2 93.138-116.574 21.183 22.312 81.62-20.014 117.135-95.952 75.732 62.942 60.523 46.187 111.364-41.34 113.98 82.154 20.54 93.91 74.45 22.852 120.378 82.168-22.885 115.243 21.042 70.113 101.03 62.48-70.69 116.493-53.202 116.88 42.278 19.073-92.266 71.62-103.97 118.925-23.135-27.222-87.467 16.35-125.63 96.375-80.063-66.397-61.842-50.328-112.95 41.34-113.977-87.137-20.138-96.734-77.174-18.15-124.28-88.478 29.408-125.027-11.343-79.518-93.23-59.8 63.712-112.373 48.707-114.952-39.896zm-6.91 73.575l28.68 33.502c2.66.902 5.298 1.883 7.91 2.952l43.5-8.115 8.484 45.492c.985 1.137 1.953 2.284 2.894 3.444l.01-.025 43.83 15.467-15.484 43.883-.416-.146c.328 1.608.634 3.22.904 4.838l.367-.314 30.14 35.21-35.09 30.036c-.52 1.647-1.08 3.286-1.665 4.916l8.424 45.168-43.078 8.035-4.205 4.204-.334-.334c-.705.615-1.42 1.216-2.132 1.815l-14.606 41.396-38.886-13.72c-4.54 1.19-9.128 2.155-13.746 2.88l-30.9 26.45-24.864-29.048c-6.178-1.572-12.267-3.576-18.22-6.014l-36.946 6.89-6.607-35.433c-.51-.494-1.022-.985-1.526-1.488-5.033-5.034-9.595-10.362-13.687-15.93l-33.38-11.78 11.66-33.046c-2.135-7.746-3.59-15.643-4.355-23.595L90.38 245.37l27.18-23.266c1.96-7.157 4.502-14.184 7.63-21.008l-6.698-35.912 37.555-7.002c4.542-4.28 9.307-8.187 14.254-11.733l12.845-36.4 38.732 13.667c4.34-.92 8.713-1.63 13.107-2.13l31.614-27.062zm-15.87 44.74c-30.553 0-61.104 11.68-84.468 35.046-18.532 18.532-29.706 41.587-33.54 65.577l76.75 10.802 11.577-45.626 43.164 4.795-10.44-70.553c-1.015-.026-2.03-.04-3.043-.04zm22.24 2.09l10.456 70.64 41.367 4.595-41.112 59.387 73.94 36.236c22.43-44.742 14.957-100.52-22.425-137.902-17.667-17.667-39.445-28.65-62.224-32.956zm-37.806 84.086l-11.697 46.095-92.25-12.982c-.06 30.628 11.62 61.273 35.043 84.695 23.006 23.006 52.98 34.677 83.062 35.03l-19.24-57.72 61.51-88.85-56.428-6.267zm37.754 66.08l-22.146 31.992 17.812 53.435c24.36-3.674 47.813-14.902 66.61-33.7 4.718-4.718 8.95-9.732 12.714-14.976l-74.99-36.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BallHeart;

impl IconShape for BallHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M357.764 39.938c-46.68.725-94.32 23.907-122.787 73.214C193.064-4.618 15.5 25.915 19.992 166.705c4.682 146.597 214.475 232.04 237.055 316.313 20.666-77.113 240.768-175.822 236.36-316.313h-.003c-2.512-80.032-65.21-125.75-131.127-126.768-1.503-.023-3.008-.023-4.513 0zM239.09 134.762c7.63 0 15.092.733 22.326 2.117-44.857 20.45-76.123 66.123-76.123 118.995 0 52.848 31.237 98.505 76.06 118.97-7.214 1.377-14.654 2.106-22.263 2.106-66.03 0-119.56-54.215-119.56-121.095s53.53-121.093 119.56-121.093zm51.715 11.884c40.137 19.533 67.847 61.094 67.847 109.21 0 48.14-27.736 89.716-67.904 109.238-49.632-10.863-86.766-55.504-86.766-109.22 0-53.735 37.162-98.387 86.823-109.228z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Balloons;

impl IconShape for Balloons {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153.03 23.656c-7.817.13-15.85 1.054-24 2.875C28.356 49.033 26.89 199.884 165.563 248.595l-24.875 26.125 50.032 23.592 1.78-43.562c29.715 12.604 48.848 25.695 60.563 39 14.296 16.238 18.538 32.814 18.25 52.75-.043 2.955-.21 5.976-.47 9.063-41.823-7.816-76.908 9.98-93.156 36.343-9.494 15.405-12.62 34.01-6.5 51.188 6.12 17.177 21.345 32.088 45.344 40.937L223 466.5c-20.147-7.43-30.196-18.396-34.22-29.688-4.02-11.29-2.144-23.753 4.845-35.093 12.075-19.593 39.196-34.915 74.75-27.72-5.81 33.572-18.25 73.787-19.03 120.844h18.686c.84-42.738 12.676-80.404 18.626-115.375 41.503 15.78 78.795 8.483 102.906-11.626 17.17-14.32 27.544-35.056 28.532-57.28l17.844 30.936 26.375-35.563-40.22-14c93.154-102.85 24.31-230.453-69.906-205.25-95.71 25.604-114.367 160.712 46.97 213.657 2.425 20.61-5.843 40.045-21.563 53.156-18.773 15.656-48.37 22.47-85.063 8.25-1.106-.43-2.21-.826-3.31-1.22.438-4.627.714-9.23.78-13.78.333-23.017-5.476-45.547-22.906-65.344-14.603-16.585-36.784-31.238-69.375-44.78 104.097-113.053 43.227-214.435-44.69-212.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BandageRoll;

impl IconShape for BandageRoll {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M127.188 18.313c-8.222 0-16.5 3.85-25.032 12.437-8.533 8.587-16.84 21.775-23.875 38.5-14.066 33.45-23.093 80.826-23.093 133.156 0 52.33 9.027 99.706 23.094 133.156 7.035 16.726 15.343 29.914 23.876 38.5 8.533 8.587 16.81 12.47 25.03 12.47v-.094l94.376-.313c-18.79-47.396-26.065-99.457-23.562-153.25 3.1-66.628-19.302-124.256-39.97-144.03-5.878-5.628-10.952-7.44-15.655-7.314-4.703.126-9.867 2.34-15.563 7.97-11.39 11.257-22.954 36.056-28.312 72.22-4.08 27.54-3.72 58.607.53 84.874 4.254 26.267 13.205 47.6 21.814 55.25 3.035 2.697 5.07 3.17 6.937 3.03 1.87-.14 4.35-1.137 7.44-4.343 5.937-6.163 12.586-20.27 15.75-41-.034.033-.062.064-.095.095 1.357-6.102 2.156-13.236 2.156-20.906 0-22.24-6.582-40.282-14.686-40.282-7.717 0-14.007 16.364-14.594 37.125-1.525-7.025-2.406-14.984-2.406-23.438 0-28.282 9.638-51.22 21.53-51.22 3.08 0 6.008 1.545 8.657 4.314.024.018.042.042.064.06 10.234 8.79 14.545 23.184 17.375 39.69 2.92 17.036 3.31 36.562.874 54.56-3.327 24.59-10.434 42.807-21.188 53.97-5.377 5.58-12.07 9.44-19.5 10-7.43.56-14.833-2.46-20.72-7.688-15.272-13.57-23.25-37.857-27.842-66.218-4.592-28.362-4.96-60.907-.563-90.594 5.727-38.64 17.375-66.752 33.626-82.813 8.126-8.03 17.88-13.068 28.25-13.343 10.37-.276 20.508 4.343 29.03 12.5 28.06 26.85 49.026 87.37 45.72 158.406-2.993 64.328 8.4 124.96 37.25 177.563 9.598 16.877 21.162 32.794 34.656 47.437.095.103.187.21.282.313l33.03 36.875 13.907-12.5-8.53-9.5 13.594-12.063-14.813-16.656c6.013-2.02 12.352-3.612 18.94-4.97 1.095 1.165 2.424 2.65 4.06 4.438 3.54 3.866 8.06 8.854 12.47 13.78 8.82 9.854 17.28 19.438 17.28 19.438l14-12.375s-8.506-9.59-17.374-19.5c-2.563-2.863-5.104-5.673-7.53-8.374.135.076.205.11.343.188 5.966 3.335 13.645 7.65 21.217 11.937 15.145 8.573 29.875 16.97 29.875 16.97l8.844-15.53c13.01 7.373 26.22 14.874 26.22 14.874l9.28-16.25s-14.762-8.41-29.937-17c-4.854-2.747-9.15-5.17-13.626-7.688 4.505-1.526 8.917-3.26 13.22-5.28l52.217 1.843.626-18.69L456.97 402c-49.716-10.47-87.035-74.35-88.69-145.563 2.41-17.077 3.72-35.217 3.72-54.03 0-51.184-9.69-97.434-24.875-130.532-15.143-33.01-35.198-51.554-54.375-52.938l-165.563-.53v-.095z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bandaged;

impl IconShape for Bandaged {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M243.47 20.938c-.43.002-.78 0-1.064.03-24.635 2.647-45.48 20.252-54.03 44.407l111.81-18C288.274 31.26 269.767 21 249.096 21c-2.406 0-4.337-.07-5.625-.063zm66.093 43.874L184.406 84.94c-.104 1.602-.187 3.21-.187 4.843 0 12.11 3.082 23.387 8.343 33.22l121.312-29.938c.05-1.083.094-2.184.094-3.28 0-8.85-1.583-17.25-4.408-24.97zm.406 48.438L204.5 139.28c.21.217.41.445.625.657l13.063 13.032-18.22 2.81c-11.08 1.724-20.266 5.504-28.124 11.032l179.125 21.032c-2.535-4.082-5.316-7.858-8.376-11.25-10.392-11.523-23.76-19.223-43-21.688l-18.47-2.344 12.907-13.406c6.954-7.205 12.48-16.027 15.94-25.906zm-154.94 70.406c-7.154 9.81-12.79 21.855-17.124 35.375l170.75-17.343-153.625-18.03zM363 214.97l-230.22 23.374c-4.68 21.507-6.833 45.063-7.75 67.906l248.064-28.813c-1.21-19.302-3.536-38.297-8.03-55.312-.645-2.434-1.333-4.816-2.064-7.156zm10.97 81.186L136.81 323.72l186.157 22.905.374-4.594.687-8.624h50.376c-.006-12-.047-24.575-.437-37.25zm-195.283 51.53l6.313 70.44 130.438 23.093 6.062-75.94-142.813-17.592zm8.063 89.752l4.906 54.5h119.72l2.562-32-127.188-22.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedArrow;

impl IconShape for BarbedArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.97 18.22C33.98 35.186 46.79 52.53 60.25 70.187l-20.5 41.156L77.5 92.53c12.847 16.405 26.235 33.033 40.094 49.814L94.03 189.656l44.564-22.22c15.17 17.934 30.83 36.032 46.906 54.158l-28.47 57.156 55.157-27.47c16.596 18.27 33.554 36.568 50.813 54.782l-27.28 54.75 53.968-26.875c21.59 22.316 43.56 44.45 65.75 66.282-38.372 1.44-74.363-2.4-107.125-10.72 65.27 60.235 151.623 99.225 246.593 103.688-4.313-95.196-43.473-181.33-103.687-246.594 7.904 31.405 11.808 65.622 10.874 102.125-5.587-5.622-11.185-11.248-16.844-16.908-15.622-15.62-31.41-31.093-47.28-46.406l26.655-53.5-54.313 27.063c-18.653-17.625-37.395-34.933-56.125-51.876L279.5 156.28l-52.75 26.282c-18.68-16.527-37.304-32.64-55.78-48.218l21.436-43.063-45.75 22.782C129.6 100.008 112.72 86.45 96.062 73.44l18.282-36.688-40 19.938c-17.8-13.548-35.308-26.4-52.375-38.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedCoil;

impl IconShape for BarbedCoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.2 18.34l-6.1 5.71C179.4 64.68 108 67.31 49.08 63.27l-11.43-.78 1.53 11.35c3.18 23.53.14 49.36-6.97 71.46-3.67 11.4-8.49 21.8-13.85 30.3V205c13.92-12.5 24.52-31.8 31.64-53.9 1.84-5.8 3.42-11.7 4.74-17.7l54.06-3 5.3-47.84c28.9-1.87 58.2-7.39 84.3-19.84l39.5 32.35 27-30.09c17 7.66 35.6 12.29 54.4 12.1l13.3 37.22 37.5-2.1c2.6 4.8 5.5 9.5 8.6 14 8.2 12 18.5 22.6 31.6 30.5l-2.2 29.5 22 2.6c.7 11.3 2.4 22.2 5.7 32.6 3.4 10.5 8.5 20.5 15.7 29.4l-20.1 19.7 15.6 11.6c-19.6 25.2-25.9 52.4-22.9 77.6l-20.9 3.1 3.4 23.5c-25.5 7.2-48 24.8-60.7 47.5l-28-14.6L313 444c-21.5-3.4-44.9-2.8-66.5 4.9l-15.7-29-26 22c-11.7-13-26.3-23.1-41.8-30.5-10.7-5.2-21.7-9.1-32.8-11.9l10.5-42.4-37.5 6c1.5-9 2.3-18.4 2-28-.3-12.5-2.7-25.4-8.04-37.6l42.24-27.4-35.6-19.3c17.6-17 28.6-37.4 34.1-57.5l44.2 5.8-6.7-30.7c5.1-.2 10.2-.6 15.3-1.5 11.9-2 23.7-6.4 34.6-13.8l19.4 30.9 18.4-31.9c6.1 2.3 12.2 3.5 18.1 3.9 4.3.4 8.4.3 12.5-.1l6 37.2 24.9-18.4c4.7 6.5 10 11.8 15.8 16 4.2 3.1 8.5 5.6 13 7.7l-12.8 33.8 31.8-3.7c.5 5.1 1.7 9.8 3.4 14.2 1 2.7 2.3 5.4 3.6 7.9l-31.8 14.2 26.9 21.4c-3.2 4.8-5.8 9.8-7.7 15.2-2.2 6.7-3.3 13.7-3.4 20.9l-22.6-8.6 4 34.6c-3.1 1.4-6.1 2.9-9.1 4.6-4.8 2.7-9.5 5.8-13.8 9.4l-21.2-25.9-14.3 32.8c-10.6-2-21.2-1.4-31.1 1.6l-7.8-21.3-20.2 15.1c-7.6-7.8-16.3-14.1-25.3-19.2l20.1-28-37-2.8c1.3-7.5 1.8-15 .9-22.3l27.3-4.4-16.8-19.7c2.7-2 5.2-4.3 7.4-6.8 4.8-5.6 7.6-12.4 9-20.1 6.7 1.5 13.6 1.7 20.2-.2 7.8-2.1 14.8-6.8 20.7-13.4 12.9 10.7 27.1 19.2 42.1 23.4-1.7 6.1-2.8 12.5-2.4 19.2.3 5.5 1.7 11.1 4.3 16.5-10.6 1.6-21.1 4.8-31 10.5-8.8-14.5-21.9-25.3-43.1-29.1 12.7 21.9 26.7 43.4 28.4 69l13.8-16.3c14.4-13 30.4-16.5 49.2-16.7l22.3-.2-15.8-15.8c-7-6.9-9.1-12.6-9.5-19-.4-6.3 1.5-13.6 4.7-21.7l4.4-11.2-11.9-1.5c-16.4-2-34.6-12.6-50.6-27.6l-8.6-8.1-5.8 10.2c-4.7 8.1-10.4 12.2-16.2 13.8-5.7 1.6-12 .9-18.5-2.9l-13.9-8-.1 16c-.1 11.2-1.9 16.4-5.9 20.9-3.9 4.6-11.5 9.1-24.3 14.8l-10 4.4 5.9 9.1c11 17.4 7.7 36.3-3.6 60.3l-5 10.6 11.4 2.5c23.5 5.1 50.3 20.1 63.3 45.3l5.4 10.6 8.9-7.7c18.7-15.9 40.3-18.3 64.6-1.4l9.3 6.6 4.6-10.5c4.1-9.6 13.5-18.3 24.7-24.5 11.1-6.3 23.9-10 32.8-10.7l11.8-1-3.6-11.2c-5-15.1-5.1-27.8-1.4-38.8 3.8-11.1 11.7-20.9 24.8-29.8l8.2-5.5-6-7.9c-7.5-10-14.7-18.9-18.3-28.3-3.5-9.4-4.3-19.1 1.7-33.7l4.3-10.5-11.1-2.2c-14.1-2.9-26.7-6.7-36.7-14-10-7.3-18-18-23.1-37.3l-2.5-9.6-9.4 3c-10.7 3.5-22.3 6.5-33.9 5.7-11.5-.8-23.3-5.1-35.9-18l-7.8-7.8-6.4 8.9c-12.9 17.5-28 25.1-44.8 28-16.9 2.8-35.5.5-52.9-3.3l-12.4-2.6 1.1 12.5c2.6 32.6-14 81.4-65.48 104l-14.86 6.6 13.1 9.5c22.49 16.5 29.74 37.7 30.39 60.5.65 22.8-6.1 46.5-12.52 64.1l-4.71 13 13.76-.4c20.82-.6 48.02 4.4 71.82 15.8 23.7 11.5 43.7 29 52.5 53.2l4.5 12.2h1.9l8.9-8.7c32.3-31.2 84.1-27.8 119.2-14l10.6 4.1 2-11.2c6.5-36.1 49.2-67.6 88-61.8l18.1 2.7-8.5-16.3c-18.2-34.9-17.5-78.3 32.6-117.7l8.9-7V262l-9.5-6.4c-16.6-11-25.4-24-30.5-39.9-5.1-15.9-6-35-5-56.4l.4-7.6-7.4-1.9c-22.2-5.7-36.2-17.7-47.5-34.2-11.4-16.47-19.4-37.6-27.7-59.79l-3.6-9.52-9.2 4.34c-39 18.42-87.2.94-117.9-26.68l-6.3-5.6h-.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedNails;

impl IconShape for BarbedNails {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M14.922 14.21V197.01c105.426 65.67 171.442 156.49 109.213 299.017 71.456-76.97 99.707-180.437 72.418-273.904l-43.217 28.034c-8.593-32.65-25.23-63.915-44.04-88.097-18.808-24.182-35.91-41.747-54.142-58.317l12.57-13.83c26.36 23.958 50.918 50.426 71.26 81.727 122.584 56.688 209.387 144.066 155.1 301.027 65.208-82.512 85.325-187.03 50.81-277.992l-41.466 30.37c-9.225-26.42-23.88-51.128-43.455-74.562-31.626-34.863-68.584-59.443-108.29-79.904l8.56-16.61c46.226 23.82 90.127 53.793 126.312 98.87C399.033 189.56 479.498 260.64 456.44 409.59c49.442-93.163 50.723-200.15.585-283.248l-35.04 38.547C379.276 89.6 288.66 35.463 159.76 14.21H14.924z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedSpear;

impl IconShape for BarbedSpear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.156 14.938l1.188 109.812 19.5 17.22c15.49-23.43 36.69-41.66 65.094-51.47l-80.5-75.563h-5.282zm168.125 53.78c-.396 44.894-10.642 82.204-31.155 111.5C272.262 286.142 455.438 453.28 455.438 464.407c-11.175 0-197.844-161.162-316.75-264.594-25.878 25.887-62.488 43.38-110.313 52 68.746 39.904 126.46 57.79 191.594 69.282-19.723 11.207-43.54 19.43-71.157 24.406 67.254 39.04 123.215 55.186 187.687 65.906-16.78 9.55-36.457 17.074-59.97 21.313C354.206 477.804 413.56 487 498.314 497.5v-.03c-18.824-85.7-40.233-141.38-96.625-209.845-.202 22.858-3.87 42.68-10.594 60.5-19.436-63.145-45.6-114.738-94.438-174.03-.235 26.606-4.35 50.287-12.094 71.093-20.53-63.15-48.564-116.11-98.28-176.47zm-68.936 37.126c-29.56 7.767-49.585 24.63-64.406 48.53l30.312 26.75c7.968-26.825 21.017-51.348 34.094-75.28zm15.062 11.406c-13.92 25.673-26.966 50.952-33.562 77.656l9.844 8.688c19.153-15.05 40.11-42.41 47.906-63.656l-24.188-22.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedStar;

impl IconShape for BarbedStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.352 19.617l-52.18 115.475 27.2.002-24.257 74.123-65.638.156 6.18-19.02L18.69 204.286l93.718 85.324 7.63-23.48 53.017 38.708-21.047 65.28-15.735-11.43-25.652 124.097 110.103-62.744-21.946-15.942 55.584-40.213 60.472 43.748-17.08 12.408 110.102 62.745-25.65-124.098-23.638 17.172-22.898-71.022 53.016-38.707 7.628 23.48 93.717-85.323-125.966-13.935 6.18 19.02-65.64-.155-24.256-74.12 25.205.003-52.2-115.483zm-5.317 115.48h12.654l30.373 92.747 85.253.217 6.288 19.352-68.854 50.29 28.914 89.712-11.94 8.674-76.363-55.233-71.475 51.698-14.977-10.88 27.065-83.972-68.856-50.288 6.287-19.35 85.256-.218 30.375-92.748zm6.338 41.76l-13.69 41.81c4.38-1.018 8.932-1.575 13.614-1.575 4.74 0 9.347.57 13.777 1.615l-13.7-41.85zm-.076 58.93c-23.097 0-41.62 18.52-41.62 41.617 0 23.097 18.523 41.617 41.62 41.617 23.096 0 41.617-18.52 41.617-41.616s-18.52-41.617-41.617-41.617zm-51.518 10.336l-43.878.104 35.336 25.794c.84-9.41 3.85-18.214 8.54-25.897zm103.032 0c4.71 7.712 7.722 16.555 8.55 26.006l35.482-25.903-44.03-.104zm-5.888 70.61c-5.968 6.912-13.462 12.47-21.96 16.12l35.413 25.606-13.453-41.726zm-91.143.13l-13.41 41.596 35.353-25.565c-8.484-3.628-15.97-9.155-21.942-16.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedSun;

impl IconShape for BarbedSun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M296.03 12.742c-8.175 10.024-15.62 32.142-20.735 56.78-3.86-.373-7.738-.633-11.63-.764-1.526-.052-3.054-.086-4.583-.1-19.25-.178-38.79 2.634-57.988 8.69-10.223-23.05-22.23-43.093-32.293-51.176-2.068 12.775 2.546 35.67 10.442 59.578-23.396 10.692-43.644 25.71-60.156 43.73-20.387-14.86-40.818-26.22-53.58-28.19 4.598 12.105 20.058 29.64 38.865 46.405-14.49 20.423-24.804 43.577-30.294 68.008-10.005-1.068-19.74-1.653-28.59-1.67-13.356-.026-24.705 1.234-31.95 4.047 10.033 8.18 32.178 15.633 56.84 20.748-2.36 24.396.04 49.565 7.79 74.172-23.062 10.225-43.112 22.24-51.2 32.31 12.78 2.068 35.683-2.55 59.596-10.45 10.705 23.446 25.752 43.734 43.81 60.27-14.82 20.13-26.266 40.39-28.286 53.474 12.83-4.873 30.2-20.173 46.623-38.682 20.405 14.446 43.53 24.724 67.93 30.193-2.772 24.845-2.557 48.113 2.233 60.455 8.667-10.627 16.056-32.535 21.023-56.754 24.295 2.32 49.352-.082 73.854-7.785 10.018 22.885 21.83 42.907 32.146 51.193 2.192-13.53-2.36-36.185-10.16-59.63 23.44-10.708 43.72-25.754 60.252-43.812 20.11 14.802 40.34 26.226 53.41 28.243-4.868-12.818-20.142-30.167-38.627-46.576 14.454-20.42 24.734-43.56 30.2-67.972 24.82 2.764 48.062 2.546 60.395-2.24-10.62-8.66-32.507-16.04-56.703-21.006 2.314-24.306-.094-49.373-7.81-73.882 22.872-10.016 42.883-21.824 51.166-32.135-2.085-.338-4.385-.515-6.872-.545-13.65-.167-32.907 4.112-52.73 10.705-10.695-23.394-25.72-43.64-43.74-60.15 14.836-20.365 26.175-40.765 28.142-53.512-12.092 4.594-29.603 20.027-46.353 38.808-20.437-14.5-43.61-24.818-68.06-30.303 2.674-25.076 2.296-48.44-2.376-60.473zm-37.032 74.545c1.378.012 2.753.04 4.127.086 2.966.098 5.92.276 8.865.53-1.01 6.593-1.837 13.192-2.447 19.642-2.382-.196-4.77-.356-7.168-.438-1.214-.04-2.43-.066-3.646-.078-14.618-.138-29.444 1.886-44.04 6.255-1.93-6.155-4.115-12.405-6.47-18.603 16.837-5.148 33.936-7.536 50.778-7.395zm36.926 4.42c20.965 4.893 40.844 13.743 58.506 26.055-4.18 5.213-8.204 10.524-11.963 15.814-15.226-10.483-32.288-18.078-50.262-22.394 1.416-6.336 2.655-12.886 3.72-19.475zm-110.326 11.68c2.41 6.177 4.977 12.27 7.658 18.127-17.103 8.11-32.037 19.16-44.432 32.29-4.764-4.38-9.797-8.713-14.953-12.915 14.34-15.316 31.735-28.155 51.728-37.503zm73.047 22.287c1.065.01 2.13.03 3.19.066 2.196.072 4.38.22 6.56.403-.394 15.126.757 28.186 3.943 36.396 5.737-7.035 10.904-19.037 15.19-33.356 15.994 3.776 31.165 10.522 44.667 19.892-7.91 12.912-13.45 24.807-14.793 33.516 8.493-3.226 18.98-11.046 29.862-21.317 11.705 11.02 21.522 24.366 28.697 39.68-13.383 7.34-24.122 14.923-29.517 21.64 8.522 1.38 21.555-.222 36.377-3.777 4.914 16.198 6.533 32.702 5.196 48.74-1.52-.035-3.025-.06-4.498-.062-13.357-.026-24.705 1.234-31.95 4.047 6.7 5.463 18.812 10.602 33.455 14.937-3.765 16.077-10.545 31.324-19.96 44.89-13.068-7.938-25.02-13.45-33.545-14.765 3.07 8.082 10.99 18.586 21.502 29.663-11.06 11.787-24.465 21.674-39.866 28.884-7.34-13.382-14.923-24.11-21.638-29.504-1.38 8.518.22 21.544 3.77 36.358-16.197 4.91-32.7 6.523-48.735 5.182.338-15.28-.865-28.377-3.986-36.415-5.46 6.694-10.59 18.795-14.925 33.422-16.075-3.767-31.318-10.548-44.88-19.96 7.925-13.056 13.425-24.995 14.74-33.512-8.073 3.066-18.565 10.974-29.63 21.47-11.742-11.016-21.6-24.36-28.804-39.687 13.263-7.21 23.97-14.725 29.475-21.578-2.083-.338-4.383-.515-6.87-.545-8.193-.1-18.406 1.4-29.55 4.04-4.9-16.19-6.51-32.68-5.17-48.706 15.12.392 28.176-.76 36.384-3.946-7.033-5.734-19.02-10.905-33.334-15.19 3.778-15.988 10.536-31.15 19.904-44.646 12.9 7.9 24.78 13.43 33.483 14.773-3.223-8.486-11.03-18.962-21.287-29.832 10.976-11.66 24.256-21.448 39.494-28.615 7.213 13.27 14.73 23.98 21.586 29.486 1.45-8.952-.07-21.912-3.512-36.437 12.928-3.92 26.052-5.743 38.977-5.636zm114.623 7.34c15.328 14.347 28.18 31.755 37.53 51.765-6.184 2.44-12.276 5.048-18.124 7.76-8.117-17.15-19.183-32.12-32.344-44.54 4.387-4.774 8.728-9.82 12.938-14.986zm-254.65 26.71c5.203 4.17 10.503 8.188 15.782 11.938-10.48 15.222-18.085 32.28-22.402 50.248-6.324-1.413-12.86-2.658-19.436-3.72 4.898-20.95 13.75-40.816 26.055-58.465zm138.704 30.413c-2.253.01-4.528.133-6.818.375-36.65 3.86-63.052 36.478-59.19 73.127 3.86 36.647 36.477 63.048 73.125 59.188 36.648-3.86 63.05-36.478 59.19-73.127-3.618-34.357-32.512-59.71-66.308-59.563zm162.164 17.258c6.455 21.126 8.57 42.665 6.793 63.587-6.606-.983-13.213-1.775-19.66-2.353 1.475-18.062-.323-36.618-5.776-54.816 6.157-1.92 12.42-4.08 18.642-6.42zM88.754 242.127c6.578 1.006 13.163 1.835 19.598 2.443-1.49 18.07.297 36.64 5.744 54.852-6.152 1.93-12.394 4.1-18.588 6.453-6.464-21.183-8.563-42.776-6.754-63.748zM403.03 291.13c6.33 1.422 12.875 2.69 19.474 3.782-4.874 20.98-13.716 40.877-26.018 58.557-5.238-4.163-10.572-8.156-15.877-11.886 10.51-15.283 18.122-32.412 22.42-50.455zm-280.708 29.716c8.15 17.197 19.268 32.205 32.49 44.642-4.382 4.753-8.736 9.766-12.966 14.916-15.383-14.375-28.274-31.83-37.65-51.9 6.178-2.41 12.27-4.978 18.126-7.658zm243.994 38.478c4.762 4.39 9.783 8.75 14.942 12.987-14.384 15.395-31.85 28.297-51.938 37.674-2.442-6.184-5.048-12.27-7.76-18.117 17.245-8.156 32.292-19.29 44.756-32.543zM172.55 379.78c15.276 10.507 32.4 18.12 50.436 22.42-1.422 6.323-2.69 12.86-3.78 19.45-20.97-4.878-40.852-13.72-58.52-26.017 4.154-5.232 8.14-10.557 11.863-15.854zm127.74 20.25c1.92 6.155 4.077 12.415 6.415 18.636-21.124 6.445-42.656 8.55-63.574 6.766.983-6.6 1.77-13.198 2.347-19.64 18.06 1.48 36.614-.312 54.812-5.76z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BarbedWire;

impl IconShape for BarbedWire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M109.813 23.5l1.468 24.844c-7.493 3.44-14.667 7.408-21.436 11.968C77.932 54.117 29.25 24.376 29.25 24.376l26.438 68.563c-18.827 25.903-24.476 56.148-20.5 87.5-3.977 10.418-6.756 21.36-8.157 32.75-4.28 34.82 4.443 73.208 29.564 111.78-11.01 17.4-35.188 53.344-35.188 53.344l61.22-19.875c1.98 2.18 3.998 4.36 6.093 6.532 31.825 33.022 64.816 56.735 97.343 72.436-1.357 21.98-4.532 59.906-4.532 59.906l40.532-45.656c34.34 10.635 67.452 12.538 97.282 7.22 8.957 1.915 17.79 3.232 26.437 3.874 26.46 1.964 51.463-2.464 72.283-15.5 1.94-1.214 3.83-2.482 5.687-3.844 15.444 4.942 64.094 23.25 64.094 23.25l-34.906-57.062c4.48-8.064 8.3-17.044 11.375-26.97 9.51-30.692 13.66-59.886 13.375-87.374.002-.02-.003-.042 0-.063 4.158-29.67.89-60.38-8.282-89.562-3.357-10.683-7.5-21.157-12.375-31.344 15.212-13.58 32.595-28.75 32.595-28.75l-47.5 2.032c-8.474-13.175-18.222-25.552-29.094-36.843 5.347-17.464 21.908-64.907 21.908-64.907l-55.25 36.343c-.262-.183-.52-.38-.782-.562-24.558-17.015-52.748-28.888-83.125-33.25.924-11.743 1.72-21.625 1.72-21.625l-17.406 19.593c-31.27-10.284-63.304-15.307-93.656-14.47-21.283.588-41.732 4.05-60.532 10.595C117.282 32.32 109.812 23.5 109.812 23.5zm84.75 28.28c8.26.09 16.652.658 25.125 1.626-23.352 6.245-43.81 15.013-61.438 25.75-1.82-1.457-9.677-10.352-18.53-20.594 15.102-4.23 31.386-6.447 48.31-6.75 2.168-.038 4.345-.055 6.532-.03zm68.687 13.5l-11.938 13.44c-11.938-2.62-23.83-4.183-35.562-4.75 4.397-1.344 8.9-2.63 13.563-3.782 11.515-2.845 22.86-4.438 33.937-4.907zM112.5 69.126l1.53 26.344c-3.972 2.043-7.848 4.195-11.624 6.5-19.415 11.843-36.164 27.058-49 44.843 2.444-17.23 9.253-33.295 21.157-47.72C84.933 86.528 97.823 76.6 112.5 69.126zm181.438 3.406c10.36 4.18 20.567 8.97 30.53 14.345l-4.562 19.28c-8.983-5.375-18.067-10.048-27.22-14.03.283-5.274.724-12.21 1.252-19.594zm-81.782 19.69c33.724 1.065 69.257 11.17 103.25 32.874l-4.656 19.594s6.89-5.636 15.22-12.438c21.385 15.353 42.013 35.488 61 61.094 6.913 9.325 12.885 18.596 18.03 27.75-11.63 10.287-22.28 19.594-22.28 19.594l31.5-1.344c7.023 15.705 11.562 31.02 13.905 45.72-16.35 8.71-59 29.373-59 29.373l59.625 13.875c-3.29 23.663-12.567 44.827-26.53 62.375-19.992 15.673-45.71 28.626-78.095 37.625-14.812-16.555-37.688-43.125-37.688-43.125l2.594 45.032c-31.706-11.987-64.888-30.877-95.874-54.283 6.14-19.402 20.97-61.843 20.97-61.843l-53.314 35.062c-26.48-23.94-50.176-50.712-68.562-78.156-.16-.976-.29-1.96-.438-2.938 21.096-4.256 50.813-9.75 50.813-9.75l-52.938-28.75c.747-17.35 3.87-34.413 9.532-50.625l24.186 7.75-17.625-23.718c.764-1.607 1.526-3.2 2.345-4.782 12.316-23.79 30.94-45.024 57.156-61.563 1.988-.446 3.987-.868 6-1.25 15.965 10.75 53.22 37.75 53.22 37.75L212.156 92.22zm144.844 15c31.624 22.824 58.832 52.246 77.188 87.5-3.304 3.178-8.728 8.14-14.907 13.686-5.072-8.723-10.825-17.47-17.31-26.22-18.905-25.494-39.566-45.996-61.158-62.03 5.793-4.68 11.46-9.222 16.188-12.937zm-243.78 10.093c-7.726 9.096-14.342 18.774-19.876 28.906l-6.688-9c7.668-7.166 16.218-13.62 25.5-19.282.35-.214.71-.414 1.063-.626zm-50.876 49.843l19.062 6.094c-6.742 19.452-10.13 39.89-10.53 60.47-.04-.085-.086-.168-.126-.25-8.156-17.232-13.81-34.135-16.53-50.376 2.316-5.497 5.046-10.808 8.124-15.938zm-17.25 53.188c2.547 7.06 5.468 14.125 8.78 21.125 5.833 12.32 12.784 24.582 20.657 36.655 1.037 5.655 2.27 11.273 3.72 16.844 4.947 18.99 12.275 37.433 21.72 54.655-43.19-45.79-58.08-90.447-54.876-129.28zm406.03 17.437c4.823 17.464 7.594 36 7.938 55.532-2.115 14.63-6.24 28.865-12.562 42.375.395-2.295.74-4.602 1.03-6.937 3.503-28.023-.497-58.67-13.374-90.25l16.97-.72zM106.72 320.688c21.512 24.926 46.452 48.21 73 68.5 24.674 18.86 50.713 35.157 76.81 47.625-32.876-2.213-62.096-14.434-86.81-33.28-27.445-20.928-49.14-50.188-63-82.844zM449 368.47c-.796 2.857-1.636 5.734-2.53 8.624-8.284 26.728-21.605 43.83-38.345 54.312-12.555 7.862-27.34 12.04-43.875 12.906 6.02-2.95 11.794-6.245 17.313-9.875 12.958-8.522 24.402-18.87 34.03-30.687 13.3-10.688 24.41-22.53 33.407-35.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barbute;

impl IconShape for Barbute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.406 17.75C189.313 39.42 124.536 85.124 79.03 150.344c21.238 57.44 32.72 94.314 32.72 131.375 0 36.493-11.52 73.723-32.125 129.655 49.72 36.73 100.08 58.95 150.313 64.938-5.052-60.378-9.83-120.748 1.593-181.125-30.644-3.28-61.384-13.286-92.03-30.72v-71.312c80.67 42.255 158.908 41.547 242.063 0v71.313c-30.06 14.376-60.192 24.722-90.25 29.28 8.684 60.46 7.723 120.915 2.03 181.375 46.386-7.335 92.89-28.824 139.032-64.312-33.966-112.954-34.03-145.933.594-260.47C391.162 84.844 317.924 39.89 255.405 17.75zm-75.125 212c-11.16-.13-19.646 3.174-21.25 9.156-2.33 8.7 10.778 19.76 29.282 24.72 18.505 4.957 35.388 1.92 37.72-6.782 2.33-8.7-10.775-19.76-29.282-24.72-5.783-1.55-11.396-2.315-16.47-2.374zm160.69 0c-5.074.06-10.687.825-16.47 2.375-18.507 4.96-31.613 16.018-29.28 24.72 2.33 8.7 19.213 11.738 37.717 6.78 18.505-4.958 31.613-16.018 29.282-24.72-1.604-5.98-10.09-9.286-21.25-9.155z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Barefoot;

impl IconShape for Barefoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M44.156 19.47c40.24 103.666 45.06 254.208 5.22 367.28-28.324 80.378 9.553 105.938 66.25 105.938l31.374.28c63.568-40.225 127.15-23.413 190.72 1.813l110.78 1.033c77.705 0 54.114-80.826-18.594-69.125L278.53 349.5C212.117 277.39 222.04 85.354 241.407 20l-197.25-.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BatBlade;

impl IconShape for BatBlade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.22 13.625L14.28 44.563c39.586 19.998 73.144 48.452 94.032 94.624L48.72 198.75l34.655 34.188C123.503 170.29 172.6 120.353 233.25 81.905l-33.844-33.844-59.562 59.563c-40.364-16.63-71.13-49.256-94.625-94zm388.31 2.656c17.42 49.948-19.026 99.73-74.467 51.407 25.734 56.216-28.74 91.255-66.032 58.532 17.576 57.064-16.684 77.635-51.905 73.593l-60.438-54.438c-11.745 10.696-22.922 22.032-33.593 34.03l56.062 62.407c3.207 35-17.616 68.268-73.78 50.782 32.726 37.702-2.315 92.766-58.532 66.75 48.32 56.05-1.434 92.89-51.375 75.28 97.106 69.59 204.846 89.13 277.436-3.624-77.69-16.78-80.996-84.097-52.656-143.438l106.03 118 38.783 15.47c-11.025 6.88-23.685 12.158-37.97 15.78l143.47 55.594-55.594-143.47c-3.76 14.828-9.293 27.874-16.564 39.19l-15.594-39.095L287.344 241.44c58.87-28.72 125.93-25.695 142.594 52.312 91.744-72.588 72.423-180.36 3.593-277.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BatWing;

impl IconShape for BatWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.25 19.875c38.22 44.005 38.98 90.112 16 132.344 75.61-33.06 158.24-45.382 238.844-45.407 2.933 0 5.854 0 8.78.03 45.98.49 91.18 4.898 133.938 11.626C295.842 26.31 154.954 21.397 23.25 19.874zm251.5 105.75c-75.736.388-152.785 11.91-223.03 41.563 39.527 25.086 44.946 85.016 30.78 130.156 81.86-82.396 213.783-137.65 326.688-161.72-43.14-6.38-88.547-10.234-134.438-10zm139.28 28.094C303.25 177.412 172.427 233.127 94.44 312c59.466-5.64 111.354 40.075 96.25 97.844C256.44 302.84 326.538 224.834 414.03 153.72zm11.126 15.06c-84.76 68.95-152.326 143.842-216.187 247 86.224-47.916 190.35-14.365 189.405 76.126h89.53L362.096 328.78l-3.345-4.31 2.156-5.064 64.25-150.625zm10.313 23.407L380.25 321.72l113.875 147.655V435.03c-59.59-92.815-68.082-170.762-58.656-242.842z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BatteredAxe;

impl IconShape for BatteredAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.47 15.344c62.946 25.422 108.824 61.313 115.843 132.03v.188c52.31 30.132 92.605 72.538 104.28 119.938 1.792 7.272 2.84 14.637 3.126 22.03 31.737-3.283 64-20.935 87.843-46.624 26.42-28.467 42.056-65.91 36.843-103.03-15.205 1.917-30.855.922-46.5-2.314-50.282-10.398-101.7-42.974-148.562-77.875-4.79-4.21-9.93-8.084-15.406-11.656-34.787-22.69-82.864-32.686-137.47-32.686zM234.687 41.25l-15.72 23c19.23 13.107 38.792 25.095 58.126 34.72l13.437-19.25c-12.406-18.774-34.986-32.363-55.842-38.47zm239.375 21.375c-16.886 31.464-37.035 52.625-59.72 64.875-6.702 3.62-13.573 6.434-20.593 8.53 6.67 44.027-11.746 87.505-41.5 119.564-27.275 29.387-64.424 49.947-102.53 52.844-4.482 31.48-23.408 62.858-59.75 90.312 40.743 9.164 78.742 9.05 113.436 1.906l7.72-49.03 2.937-18.595 13.03 13.595L359 379.875c27.795-16.753 64.71-44.308 83.22-67.906L413.31 262l-11.468-19.78 22.03 6.093 47.938 13.25c13.232-23.865 21.327-60.527 21.47-98.875.13-34.855-6.22-70.88-19.22-100.063zM146.092 170.97L20.564 354.75l.812 110.625 175.53-251.5c-13.78-15.612-31.054-30.19-50.81-42.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Batteries;

impl IconShape for Batteries {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.063 21.844c-25.008 0-47.713 5.09-64.97 13.968-16.938 8.716-29.722 21.962-30.187 38.626h-.03v93.625C59.258 180.325 46.9 197.92 37.75 219.032c-9.94 22.934-14.284 45.82-13 65.187 1.25 18.84 8.173 35.74 23 42.905l.344.156c.302.143.598.274.906.408l23.875 10.343v108.814h.03c.675 16.458 13.396 29.547 30.19 38.187 17.257 8.88 39.97 13.97 64.968 13.97 24.996 0 47.71-5.09 64.968-13.97 16.794-8.64 29.515-21.728 30.19-38.186h.03V420.56l42.844 18.563.22.094 74.56 32.31 7.72 3.345.844.375v-.03c15.48 6.212 32.73-.264 47.468-12.345 15.01-12.302 28.71-31.118 38.656-54.063 9.946-22.944 14.315-45.823 13.032-65.187-1.26-19.01-8.33-36.01-23.438-43.063v-.03l-8.562-3.72L382.03 264.5l-118.78-51.47V76.97c.025-.53.03-1.06.03-1.595 0-.315-.02-.625-.03-.938-.465-16.663-13.248-29.91-30.188-38.624-17.256-8.88-39.992-13.97-65-13.97zM140.25 43.062c.03-.005.064.006.094 0-6.743 3.237-10.906 7.637-10.906 12.5 0 9.93 17.292 17.97 38.625 17.97 21.332 0 38.625-8.04 38.625-17.97 0-4.863-4.164-9.263-10.907-12.5 11.11 2.093 20.927 5.366 28.72 9.376 13.818 7.11 20.094 15.646 20.094 22.937 0 7.29-6.276 15.797-20.094 22.906-13.818 7.11-34.028 11.907-56.438 11.907-22.41 0-42.62-4.797-56.437-11.906-13.818-7.108-20.063-15.614-20.063-22.905 0-7.29 6.245-15.828 20.063-22.938 7.772-3.998 17.554-7.28 28.625-9.374zM72.875 195.656v122l-16.438-7.125c-6.678-2.894-12.003-12.02-13.03-27.53-1.03-15.51 2.593-35.983 11.5-56.53 5.082-11.73 11.316-22.17 17.968-30.814zm171.688 1.75V445.47c0 7.278-6.24 15.825-20.063 22.936-13.822 7.112-34.042 11.906-56.438 11.906-22.395 0-42.615-4.794-56.437-11.906-13.822-7.11-20.063-15.658-20.063-22.937V200.31L145.375 280l-36.844 12.875L229.75 420.25l-51.72-105.78 23.907-11.845-40.156-84.188c2.082.073 4.168.125 6.282.125 24.997 0 47.71-5.09 64.97-13.968 4.134-2.128 8.008-4.537 11.53-7.188zm18.687 36l79 34.25-79 14.78v-49.03zm187.97 82.78c2.094.035 3.983.433 5.655 1.158 6.69 2.9 12.035 12.026 13.063 27.53.577 8.715-.333 18.995-2.813 29.97-.305-7.425-2.682-12.95-7.125-14.875-9.11-3.95-23.39 8.707-31.875 28.28-8.484 19.573-7.953 38.645 1.156 42.594 4.45 1.928 10.12-.104 15.75-4.97-6.316 9.33-13.207 17.023-19.967 22.563-12.02 9.85-22.342 12.18-29.032 9.282-6.688-2.9-12.034-12.027-13.06-27.533-1.03-15.505 2.618-35.94 11.53-56.5 8.912-20.56 21.357-37.21 33.375-47.062 9.014-7.388 17.058-10.537 23.344-10.438zm-153.5 8.658c-.9 1.89-1.78 3.8-2.626 5.75-9.94 22.935-14.315 45.79-13.03 65.156.307 4.65.966 9.173 1.998 13.47l-20.812-9v-74.126l34.47-1.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BattleAxe;

impl IconShape for BattleAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240.094 19.594c-56.69.364-110.882 29.054-151.594 72.344-53.428 56.81-81.948 137.907-61.03 210.093 16.33-8.797 32.757-15.987 48.936-21.374-6.327-123.16 89.247-210.922 200.03-210.344 4.255-13.365 10.268-27.308 18.127-41.874-16.323-5.43-32.736-8.36-48.97-8.782-1.833-.047-3.67-.074-5.5-.062zM271.28 88.97C173.724 90.715 91.367 166.07 94.907 275.28c10.986-2.73 21.788-4.582 32.28-5.436 14.59-1.187 28.69-.463 41.783 2.437L278.312 162.94c-5.26-12.1-8.473-25.024-9.344-38.75-.716-11.256.14-22.983 2.592-35.22-.093.002-.187 0-.28 0zm60.845 60.718l-16.875 16.875L345.75 197l16.813-16.813-30.438-30.5zm-37.125 23L175.625 292.063l44.625 44.562 119.313-119.313L295 172.688zm189.875 46.093c-14.466 7.808-28.318 13.807-41.594 18.064.75 111.013-87.243 206.8-210.686 200.28-5.39 16.104-12.552 32.462-21.313 48.72 72.19 20.922 153.313-7.6 210.126-61.03 57.045-53.65 88.516-130.72 63.47-206.033zm-136 15.657L240.687 342.625c3.23 13.563 4.086 28.245 2.844 43.47-.862 10.58-2.752 21.476-5.53 32.56 109.585 3.718 185.128-79.008 186.594-176.905-12.342 2.506-24.16 3.403-35.5 2.688-14.287-.9-27.698-4.347-40.22-10zM169.5 312.313L20.094 461.72V494H48.75l151.188-151.188-30.438-30.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BattleGear;

impl IconShape for BattleGear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.406 17.188c-27.22 8.822-54.017 28.012-72.375 55.53 17.544 47.898 17.544 57.26 0 105.157 19.92 15.463 40.304 24.76 60.782 27.47-2.063-25.563-3.63-51.13 1.125-76.69-13.625-1.483-23.374-5.995-37-13.874V82.563c35.866 19.096 61.84 18.777 98.813 0v32.22c-13.364 6.497-21.886 11.16-35.25 13.218 3.614 25.568 3.48 51.15 1.375 76.72 18.644-3.265 37.236-12.113 55.5-26.845-14.353-47.897-14.355-57.26 0-105.156-16.982-28.008-47.453-46.633-72.97-55.532zm-129.594 8.218c-25.906 110.414-27.35 215.33-27.4 330.922-18.84-1.537-37.582-5.12-56.027-11.12v28.554h69.066c8.715 35.025 6.472 70.052-1.036 105.078h28.13c-7.195-35.026-8.237-70.053-.872-105.078h68.904v-28.555c-18.49 4.942-37.256 8.552-56.097 10.46.082-114.94 2.496-223.068-24.667-330.26zm89.47 202.375c0 117.27 25.517 233.342 120.155 257.97C446.62 464.716 462.72 345.374 462.72 227.78H222.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BattleTank;

impl IconShape for BattleTank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M213.3 91.24l-67.2 24.26v65.7l67.2-24.2zm250.4 8.7L279.4 154.8h-1.3c0 1 0 3.3 1.2 6.3 1.2 3.4 3.5 7.1 6 9.5 2.1 2.1 3.9 2.8 5.2 3.1L470.7 120zm-232 16.86v53l-48.2 17.4-11.4 24.7h178.3l-8.1-33.8-49.6 14.7h-1.4c-7.9 0-14.5-3.9-19.3-8.6-4.8-4.7-8.4-10.5-10.6-16.6-2.3-6-3.5-12.4-1.3-19.1 1.9-6.2 8.6-11.6 15.9-12.5l52.4-15.6-1-3.6zm-136.33 114l-10.71 38h92.64l-5.4 57.1h168l-5.3-57.1h83.8l-10.6-38zm-46.56 56.9l-25.83 76.2H149.3l7.1-76.2zm306.69 0l7.1 76.2H489l-26-76.2zm-184.3 57.1l3 38.1h162.3l2.9-38.1zM61 382.8l10.79 38h86.31l-3-38zm294.6 0l-2.9 38h86.2l10.7-38z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BatwingEmblem;

impl IconShape for BatwingEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M15.406 25.938c41.737 42.61 52.607 128.648 13.438 174.78 63.818 10.74 75.725 61.317 64.47 137.5 32.67-20.39 72.694-12.612 98.25 27.688-6.63 11.324-10.44 24.48-10.44 38.5 0 42.143 34.358 76.5 76.5 76.5 42.144 0 76.5-34.357 76.5-76.5 0-14.02-3.81-27.176-10.437-38.5 25.555-40.3 65.58-48.078 98.25-27.687-11.256-76.185.65-126.763 64.47-137.5-39.17-46.134-28.3-132.173 13.437-174.782C415.536 43.782 344.188 113 309.97 197.718c51.49 41.114 32.28 114.232-20.626 137.095-9.675-4.44-20.41-6.938-31.72-6.938-11.31 0-22.043 2.5-31.718 6.938C173 311.95 153.79 238.832 205.28 197.72 171.063 113 99.715 43.782 15.407 25.937zm242.22 320.625c4.094 0 8.087.416 11.937 1.218-17.75 3.756-31.063 19.507-31.063 38.376 0 21.666 17.553 39.25 39.22 39.25 17.49 0 32.312-11.47 37.374-27.28.22 2.06.344 4.16.344 6.28 0 32.043-25.77 57.813-57.813 57.813-32.043 0-57.813-25.77-57.813-57.814 0-32.042 25.77-57.844 57.813-57.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeamWake;

impl IconShape for BeamWake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M47.656 19.97c-15.964 0-28.906 12.94-28.906 28.905 0 15.965 12.942 28.906 28.906 28.906 4.246 0 8.275-.917 11.907-2.56L375.53 493.405l-.374.28 116.28.002.002-110.75-417-323.094c1.387-3.382 2.124-7.087 2.124-10.97 0-15.966-12.94-28.905-28.906-28.905zm58.22 9.31c7.078 9.45 8.665 22.35 5.186 35.314l15.907 12.312c3.774-15.038 1.037-29.898-8.845-39.78-3.49-3.48-7.744-6.105-12.25-7.845zM150.5 54.845c9.09 12.127 11.09 28.725 6.563 45.375l20.312 15.75c4.93-19.31 1.442-38.407-11.25-51.095-4.46-4.452-9.858-7.815-15.625-10.03zM206.188 88c11.382 15.19 13.947 35.934 8.375 56.78l25.562 19.814c6.065-24.19 1.68-48.067-14.22-63.97-5.61-5.607-12.46-9.826-19.718-12.624zM30.344 104.813c1.736 4.51 4.356 8.762 7.843 12.25 9.24 9.24 22.8 12.233 36.813 9.5l-12.063-15.938c-12.032 2.572-23.81.77-32.593-5.813zm238.25 10.374c15.574 20.783 18.137 49.774 8.78 78.282l32.563 25.218c10.155-32.8 5.246-65.912-16.312-87.47-7.122-7.12-15.818-12.483-25.03-16.03zM53.97 151.375c2.22 5.762 5.547 11.17 10 15.625 12.5 12.502 31.208 16.073 50.218 11.47L98.78 158.062c-16.458 4.34-32.818 2.3-44.81-6.688zm282.874 2.156c18.692 24.938 21.697 59.767 10.312 93.97L386 277.625c12.347-39.343 6.545-79.11-19.313-104.97-8.5-8.496-18.845-14.893-29.843-19.124zM419 197.407c22.85 30.49 26.252 73.21 11.906 115l47 36.406c15.53-48 8.715-96.753-22.844-128.312-10.267-10.266-22.778-17.977-36.062-23.094zM84.656 209.562c2.794 7.26 7.017 14.074 12.625 19.688 16.28 16.28 40.943 20.53 65.72 13.813l-19.47-25.75c-21.54 6.328-43.178 4.012-58.874-7.75zm29.688 59.938c3.547 9.2 8.89 17.89 16 25 20.905 20.907 52.686 26.178 84.5 17.22l-24.688-32.69c-27.7 8.435-55.624 5.59-75.812-9.53zm38.312 68.22c4.233 11.003 10.624 21.374 19.125 29.874 24.95 24.95 62.847 31.21 100.814 20.53l-29.47-38.968c-33.065 10.054-66.37 6.623-90.468-11.437zm43.875 82.155c5.116 13.284 12.827 25.795 23.095 36.063 30.346 30.342 76.566 37.836 122.75 24.562l-35.594-47.125c-40.253 12.498-80.914 8.483-110.25-13.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeamsAura;

impl IconShape for BeamsAura {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.594 20.625c-13.394 0-25.824 7.217-35.47 20.188-9.644 12.97-15.968 31.547-15.968 52.25 0 20.702 6.324 39.248 15.97 52.218 9.644 12.972 22.074 20.19 35.468 20.19 13.393 0 25.855-7.218 35.5-20.19 9.645-12.97 15.97-31.516 15.97-52.218-.002-20.702-6.325-39.28-15.97-52.25-9.645-12.97-22.107-20.187-35.5-20.187zM153.188 25l-16.563 8.625 60.5 116.063c2.778-1.51 5.673-2.87 8.72-4.032-7.715-13.314-12.578-29.542-13.845-46.187L153.187 25zM374 25l-39.313 75.438c-1.316 15.668-5.802 31.003-12.843 43.78 3.2 1.052 6.26 2.264 9.187 3.657l59.564-114.25L374 25zM102.687 64.844l-13.874 12.53 84.124 93.19c3.88-4.996 8.217-9.51 13.063-13.44l-83.313-92.28zm321.844 0l-81.467 90.22c4.357 3.202 8.283 6.853 11.78 10.874.59.677 1.185 1.366 1.75 2.062l81.813-90.625-13.875-12.53zM63.064 117.688L53 133.438l103.875 66.406c2.283-5.967 4.938-11.697 7.97-17.063L63.062 117.688zm401.093 0l-98.875 63.25c3.01 5.416 5.56 11.208 7.72 17.25l101.22-64.75-10.064-15.75zm-153.28 42.78c-12.165 14.36-28.78 23.688-47.282 23.688-18.056 0-34.3-8.885-46.375-22.656-25.124 6.894-38.6 27.533-46.94 57.344-8.19 29.287-9.914 66.253-10.155 101.562h26l-3.5-67.72 18.688-.936 4.125 80 11.218 163.78h38V362.97h18.688v132.56h40.812l9.97-164.467 4.093-79.313 18.655.938-3.5 67.718h23.813c-.02-35.714-.425-73.276-7.844-102.812-4.032-16.05-10.072-29.544-18.625-39.375-7.528-8.652-16.887-14.755-29.845-17.75zM36.968 180.032l-5.314 17.907 116.28 34.532c1.187-6.24 2.613-12.345 4.25-18.25L36.97 180.03zm453.28 0l-112.688 33.44c1.485 5.964 2.715 12.113 3.72 18.405l114.28-33.938-5.312-17.906zM26.22 247.688v18.688h117.218c.54-6.298 1.224-12.532 2.062-18.688H26.22zm357.124 0c.645 6.16 1.106 12.402 1.47 18.688h116.155v-18.688H383.343zm-241.03 35.594L31.654 316.126l5.313 17.938 104.593-31.032c.148-6.562.41-13.16.75-19.75zm243.217.19c.185 6.568.27 13.104.314 19.624l104.406 30.97 5.313-17.94L385.53 283.47zm-244.186 40.686L53 380.656l10.063 15.72 89.562-57.282h-11.313v-9.344c0-1.844.026-3.733.032-5.594zm244.562.03v14.908h-11.312l89.562 57.28 10.063-15.718-88.314-56.47zm-208.97 14.908L88.814 436.72l13.876 12.53 85.562-94.78-1.063-15.376h-10.25zm165.44 0l-1.095 17.937 83.25 92.22 13.876-12.53-88.125-97.626h-7.905zm-152.5 39.156l-53.25 102.188 16.56 8.656 39.158-75.125-2.47-35.72zm149.843 4.594l-2.19 36.25 36.47 70 16.594-8.656-50.875-97.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Beanstalk;

impl IconShape for Beanstalk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.625 18.28l-.03.19c43.815 5.928 65.818 46.853 56.405 83.093-2.896 4.01-5.93 7.953-9.125 11.812-3.104 3.75-6.334 7.45-9.688 11.094 6.68-.152 13.668.15 20.875.624 9.283.61 19.004 1.59 28.844 2.562 26.745-9.698 50.2-28.826 64.063-49.937 13.548-20.635 17.76-41.997 10-59.314h-72.44c-1.88 18.198-6.547 34.794-13.405 50.188-3.814-19.43-14.214-37.48-30-50.313h-45.5zm181.25.126c6.692 22.627-.026 47.854-14.28 69.563-10.697 16.286-25.69 31.1-43.47 42.5l.875.03c21.978.764 42.687-1.078 58.813-8.656 15.16-7.125 26.88-18.75 33.875-40.656V18.406h-35.813zM196.53 61.47c-1.478-.006-2.935.045-4.374.155-20.14 1.544-35.922 13.995-41.47 30.25-6.338 18.577 2.098 41.598 26.19 53.97l8.53-16.626c-17.98-9.234-20.494-21.165-17.03-31.314 3.462-10.15 14.346-18.986 31.155-17.625 22.357 1.813 37.36 13.07 45.064 32.407 7.483 18.79 7.26 46.055-5.156 78.75-2.05 1.637-4.052 3.255-6.125 4.907-6.142 4.893-12.406 9.9-18.72 14.97 5.213-.747 10.338-1.144 15.376-1.22 1.482-.023 2.968-.028 4.436 0 11.748.222 23.045 2.02 34 4.437 37.61 8.3 71.348 23.35 116.094 15.157 22.666-5.32 41.84-16.25 58.22-31.125 22.16-20.127 38.942-47.686 50.56-77.812-7.16 7.816-15.474 13.776-24.53 18.03-20.514 9.64-44.072 11.188-67.406 10.376-11.56-.402-23.12-1.424-34.25-2.5-.312.102-.625.213-.938.313l-.125-.407c-10.95-1.065-21.484-2.174-31.186-2.813-19.856-1.308-35.957-.013-44.063 4.875l-.03-.063c-8.127 7.4-16.694 14.732-25.594 22.094 5.29-24.71 4.016-46.79-3.187-64.875-10.062-25.258-32.55-41.824-60.94-44.124-1.518-.123-3.02-.183-4.5-.187zm33.845 167.28c-8.852.132-17.864 1.37-27.344 4.188-10.568 3.14-21.832 8.313-34.06 16.343-12.443 10.887-24.955 22.415-37.376 34.75.008-2.096-.117-4.168-.344-6.186-1.712-15.185-10.186-27.355-21.188-35.063-11-7.707-24.638-11.676-37.968-11.186-13.33.49-26.343 5.43-36.03 15.47-18.76 19.434-19.104 43.565-6.44 57.186 12.666 13.62 36.54 14.862 55.345-1.875l-12.407-13.97c-13.2 11.75-23.73 9.063-29.25 3.126-5.52-5.936-7.83-16.975 6.187-31.5 11.472-11.885 35.21-12.22 49.844-1.967 7.317 5.126 12.254 12.21 13.344 21.875 1.004 8.913-1.393 20.632-10.5 35.218-3.974 4.497-7.923 9.098-11.844 13.813 22.05-8.594 43.864-9.63 66.22-10.533 42.668-1.724 88.234-2.342 152.28-48.593 13.46-3.538 24.74-3.17 32.937-.313 10.874 3.792 16.97 11.038 18.533 22.783 1.088 8.183-2.835 12.686-7.282 14.312-4.445 1.626-9.816 1.293-15.217-7.875l-16.094 9.5c8.898 15.105 25.03 20.576 37.717 15.938 12.687-4.64 21.516-18.457 19.407-34.313-2.384-17.922-14.236-32.156-30.906-37.97-4.707-1.64-9.77-2.682-15.094-3.124-.02 0-.042.003-.063 0-25.17-3.576-47.403-11.364-68.405-16-11.5-2.537-22.618-4.2-34-4.03zm41.438 84.625c-23.824 11.1-45.46 16.75-65.25 19.78-8.886 26.954-37.427 47.482-70.47 61.626-33.138 14.187-71.51 21.632-103.437 17.19-4.55 7.932-9.002 16.1-13.343 24.56v57.25H90.28c53.69-26.358 106.106-70.88 143.69-124.374 11.174-20.2 23.99-38.768 37.843-56.03zm-87.157 22.28c-9.562.76-18.652 1.12-27.344 1.47-23.177.937-43.168 2.06-62.562 10.188-12.78 5.356-25.608 13.84-39.156 27.875-4.182 6.178-8.318 12.53-12.375 19.062 25.817 1.616 58.038-4.857 85.53-16.625 25.574-10.947 46.53-26.7 56.03-41.97-.04.005-.083-.002-.124 0zM333.75 364.5c-1.094-.003-2.182.024-3.28.063-17.584.616-35.97 6.193-54.126 15.093-24.357 11.94-48.364 29.917-68.906 51.188.05-.157.106-.313.156-.47-23.996 24.686-50.768 46.182-78.72 63.407h65.032c.874-7.292 1.98-14.4 3.25-21.374 22.468-31.78 55.39-60.272 87.406-75.97 16.41-8.044 32.53-12.694 46.563-13.186 14.034-.492 25.78 2.896 35.313 11 15.122 12.856 14.897 31.182 6.312 44.5-8.585 13.318-24.29 21.298-46.78 10l-8.376 16.72c29.54 14.837 57.8 3.69 70.875-16.595 13.075-20.284 12.206-50.05-9.94-68.875-12.62-10.73-28.374-15.46-44.78-15.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Beard;

impl IconShape for Beard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M319 35.375c-27.305-.247-52.415 19.47-62.063 46.094-9.726-26.856-35.196-46.656-62.78-46.064-15.11.325-30.85 6.764-45 21.532-11.47 11.968-17.863 27.782-24.407 43.75-15 22.49-35.066 39.27-64.156 45.874 7 6.374 14.63 9.69 22.656 11.063-14.192 7.828-33.583 12.154-61.28 10.78 20.528 26.327 52.643 35.282 86.28 34.532 60.716-2.34 91.448-33.326 109.438-64.875l16.218 9.25c-20.387 35.754-59.15 71.513-127.28 74.094-.002.24 0 .48 0 .72 0 6.067 1.32 13.4 3.686 21.686l-.25-.468 29.5 114.875 4.625-38.626c17.095 31.46 37.67 64.792 56.532 93.97l1.624-46.127c5.83 38.514 20.68 73.426 39.062 106.97 9.337 13.507 15.25 21.78 15.25 21.78s6.953-9.693 17.875-25.562c.07-.1.152-.213.22-.313 20.76-32.818 38.056-67.256 46.438-105.906l-1.063 37.438c9.342-14.666 18.923-30.088 28.156-45.656v28.468l40.533-104.125c9.877-21.585 16.512-40.562 17.656-54.342-65.713-7.917-111.206-41.86-132.314-78.875l16.22-9.25c19.702 34.552 66.54 68.93 138.312 71.062 15.085-.3 29.905-3.623 45.593-11.313-14.823.118-27.478-1.08-38.53-3.437 23.34-5.136 43.576-16.795 56.125-37.97-102.54 21.26-90.343-61.02-127.188-99.468-14.37-14.994-30.37-21.424-45.687-21.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeastEye;

impl IconShape for BeastEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.844 47.688c-28.215.083-58.57 2.925-91 8.78C339.666 41.874 441.95 144.504 495.938 292.75c0-143.316-92.67-245.57-265.094-245.063zm-2.656 33.624c-56.703 22.374-97.407 81.194-97.407 150.844 0 49.006 20.153 92.64 51.845 122 22.64 8.588 46.563 10.904 71.406 9.563-26.212-96.096-8.522-185.37 32.5-271-18.534-6.51-37.96-10.382-58.342-11.407zm-41.844 1.782c-43.318 5.686-90.65 23.297-142.5 54.53 24.987 97.103 56.545 155.038 92.78 187.97-15.558-27.26-24.53-59.27-24.53-93.438 0-61.93 29.422-116.84 74.25-149.062zm134.156 25c1.552 6.27 2.92 12.552 4.156 18.844-1.776-.353-3.62-.532-5.5-.532-15.486 0-28.03 12.55-28.03 28.03 0 15.483 12.544 28.033 28.03 28.033 4.33 0 8.432-.967 12.094-2.72 3.26 62.225-9.635 123.823-41.03 179.844 32.597-5.38 66.42-14.65 100.78-22.406 22.463-28.085 36.094-64.734 36.094-105.032 0-8.02-.553-15.9-1.594-23.594-31.27-44.417-66.02-78.693-105-100.468zm-301.875 48.47C36.78 459.957 249.36 479.842 493.063 343.717 306.578 348.125 115.88 532.286 18.625 156.56zm427 82.75c-1.25 33.993-11.342 65.633-27.938 92.28 23.992-4.595 48.14-7.793 72.22-7.813-13.924-30.585-28.636-58.848-44.282-84.467zm41.53 129.81c-127.06 79.076-267.344 111.63-421.03 39.126 130.246 115.856 342.11 82.373 421.03-39.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bee;

impl IconShape for Bee {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.625 17.438l3.313 19.406L258.53 40l-3.717-21.594c-11.894 1.303-21.9 3.848-30.188 7.344L238.5 43.375l-14.688 11.563-15.343-19.5c-9.837 8.29-15.64 18.988-17.657 32.156l24.375-1.344 1.03 18.656-12.812.72c36.685 31.72 70.686 71.3 102.125 122.718 3.52-.453 7.054-.697 10.564-.72 2.396-.014 4.774.055 7.156.25 3.744.31 7.462.914 11.125 1.782 10.252-71.962-6.85-130.822-38.5-191.062-7.863-.71-15.335-1.137-22.25-1.157zM78.905 27.813C72.95 32.37 67.494 36.937 62.5 41.5l18.47 17.875-13 13.406-18.657-18.03c-9.15 10.155-16.053 20.23-20.907 30.125l20.125 4.72-4.28 18.218-22.438-5.282c-.528 2.05-.986 4.073-1.343 6.095-2.264 12.796-1.332 25.318 2.593 37.47l22.968-11.19 8.157 16.814-23.53 11.436c4.11 7.18 9.307 14.198 15.562 21.063 3.188 3.5 6.67 6.913 10.405 10.28l15.125-16.28 13.688 12.75-14.25 15.31c10.718 7.82 22.952 15.15 36.562 21.814l10.47-20.125 16.56 8.624-10 19.22c9.974 4.158 20.545 7.945 31.657 11.405l6.657-19.407 17.687 6.062-6.343 18.5c10.976 2.874 22.408 5.395 34.25 7.53l3.157-19.03 18.437 3.063-3.155 18.937c22.212 3.138 45.688 4.95 70.188 5.188l-.188 18.687c-20.204-.195-39.78-1.404-58.594-3.5-1.978 7.395-3.443 15.514-4.25 24.438-99.17-72.015-189.613 29.593-213.843 140 96.828 62.17 166.47 12.61 216.094-69.844l17.532 40.125 17.125-7.5-23.156-52.97c4.207-7.892 8.265-16.012 12.157-24.28 7.755 11.174 16.53 18.968 25.688 23.655l1.03 32.97.126 4.25 3.314 2.686 38.406 31.314 11.813-14.5-35.094-28.625-.72-22.75c11.463.746 22.9-2.88 33.125-10.345l.72 26.906.186 6.19 5.783 2.25 62.28 24.092 6.75-17.437-56.468-21.813-1.094-39.625c2.924-4.387 5.622-9.2 8-14.468 14.34 60.238 86.187 63.25 103.126 7.936 11.726-38.29-19.33-72.846-52.562-72l-10.156-47.25c29.243 7.773 54.154 23.793 73.906 55.906l15.906-9.78c-25.456-41.388-61.373-60.69-100.375-67.595l-13.688-2.406 2.938 13.564 13.25 61.812c-.644.294-1.298.58-1.938.906l-.062.032c-2.39.595-4.74 1.456-7 2.656-4.883 2.592-8.73 6.348-11.625 10.78-9.013-28.358-34.47-46.61-61.406-49.31 3.698 6.412 7.374 12.98 11 19.75l-16.47 8.81C243.755 130.22 169.122 70.843 78.907 27.813zM402.282 276.75c.325-.002.638.013.97.03 2.656.148 5.576.97 8.75 2.564 6.348 3.188 13.04 9.53 17.656 18.22 4.617 8.686 6.13 17.77 5.22 24.81-.912 7.04-3.827 11.552-7.97 13.75-4.142 2.2-9.527 2.096-15.875-1.093-6.347-3.187-13.038-9.53-17.655-18.217-4.617-8.688-6.13-17.773-5.22-24.813.912-7.04 3.827-11.55 7.97-13.75 1.812-.962 3.89-1.485 6.156-1.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Beech;

impl IconShape for Beech {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.156 20.72c-1.423.01-2.843.065-4.25.155-20.084 1.29-37.527 10.342-46.375 27.03l17.626 12.532h-29.312c-10.333-5.256.412-.266-11.375-5.28-23.158-13.118-48.787-9.64-67.25 2.812-20.062 13.527-30.734 35.806-20.25 60.093l3.093 7.156-6.47 4.31c-21.435 14.36-32.997 30.393-37.124 48.126C16.34 195.39 19.65 215.64 31 238.5l2.47 5.03-3.25 4.564c-13.796 19.38-8.88 38.668 5.968 51.03 10.043 8.364 19.48 9.982 29.656 7.407 10.177-2.574 21.15-10.15 30.72-21.874l2.655-3.25 4.155-.187c27.728-1.2 49.69-11.635 63.97-27.72 14.28-16.085 21.22-37.98 17.718-63.906L184.03 182l7.25-2.5c8.066-2.768 14.73-8.15 18.814-15.53l5.28-9.564 8.626 6.72c6.39 4.976 22.988 8.397 31.375 5.968l10.28-2.97 1.564 10.595c4.3 29.362 24.393 52.534 50.06 60.155l8.25 2.438-1.75 8.437c-3.162 14.99 1.497 26.075 10.44 33.406 8.94 7.332 22.793 10.683 38.75 6.438l6.217-1.656 3.782 5.25c13.513 18.845 29.945 28.087 46.342 29.562 16.398 1.475 33.29-4.745 48.032-19.594 12.624-12.716 16.654-26.51 15.062-40.437-1.59-13.93-9.318-28.12-21.75-39.533l-8.5-7.812 9.406-6.688c7.878-5.6 10.74-15.92 8.907-25.5-1.833-9.58-7.527-16.677-16.345-17.78l-9.375-1.157 1.28-9.375c5.842-42.567-13.62-77.648-45.342-97.656-31.723-20.01-75.673-24.486-118.782-3.095l-6.72 3.344-4.717-5.876c-13.464-16.796-34.023-25.768-54.033-26.782-1.43-.072-2.857-.104-4.28-.093zm-1.22 160.31c-4.003 4.804-8.867 8.724-14.25 11.782 11.968 29.99 18.83 60.783 23.033 93.532-4.555 11.237-9.676 22.38-15.5 33.437l-.157.064c-8.54-19.537-18.073-38.957-31.188-55.75-.51.607-1.035 1.218-1.563 1.812-3.628 4.088-7.652 7.838-12 11.25 12.034 15.867 21.048 34.83 29.72 54.938 7.724 43.39 6.386 91.267-2.782 134.812-26.727 5.073-55.198 15.22-88.594 30.5h252.938c-32.428-15.282-60.268-25.46-86.688-30.53-13.95-24.116-21.036-50.13-23.25-76 9.692-45.174 28.504-71.692 57-99.282-19.276 7.68-37.422 17.31-52.687 31.937.702-3.41 1.488-6.766 2.31-10.092 9.476-24.123 23.87-45.82 42.94-65.407-5.784-2.705-11.25-5.994-16.283-9.874-12.71 13.552-23.555 28.128-32.312 43.78 7.156-19.187 12.88-38.422 18.063-57.592-5.443-6.556-10.03-13.933-13.563-21.938-4.167 16.03-8.512 31.946-13.5 47.72-4.637-23.334-11.12-46.08-20.375-68.47-.438-.204-.88-.41-1.313-.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeerStein;

impl IconShape for BeerStein {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.094 19.438c-18.092-.063-35.548 9.82-43.125 28.437v9.688l-11.376-2.5c-14.316-3.17-25.792-1.15-33.375 3.843-7.585 4.994-12.174 12.898-12.345 25.438-.13 9.54 1.93 15.82 4.813 20 2.882 4.18 6.673 6.672 11.906 8.062 10.465 2.78 26.67-.357 41.094-8.75l5.968-3.47 5.063 4.658c8.405 7.744 14.51 11.07 20.56 12.25 6.052 1.18 13.046.318 23.44-2.875l9.842-3.032 2.063 10.093c2.695 13.158 14.91 23.407 29.125 23.407 13.237 0 23.67-9.028 27.313-21.468l2.218-7.532 7.783.843c8.855.99 19.41-4.045 25-10.343l6-6.75 6.968 5.782c18.61 15.487 35.46 16.96 47.283 11.468 11.82-5.494 20.18-18.602 19.25-38.782-.88-18.827-10.97-30.448-25.5-35.812-14.532-5.364-33.76-3.61-51.282 8.218l-7.436 5.032-5.344-7.25c-7.038-9.585-17.09-15.485-26.72-17-9.628-1.516-18.487.928-25.374 8.406l-7.406 8.03-6.78-8.56c-10.443-13.165-25.214-19.482-39.626-19.532zM65.22 119.968C37.8 203.65 25.784 289.07 28.812 376.19c39.55 17.23 81.422 18.105 123.437 18 2.353-11.073 4.555-22.54 6.594-34.22-32.102 1.678-64.094 2.52-94.313-9.124-2.33-66.88 6.917-121.622 28-187.03 27.318 6.5 55.01 8.61 83.25 7.467-.07-11.715-.387-22.556-1.03-32.31-37.168-1.726-73.593-8.642-109.53-19zm148 2.97c-6.57 3.29-13.37 5.82-20.19 7.406 3.092 33.456 1.947 78.392-2.186 127.094-4.777 56.28-13.866 116.5-26.438 166.718H434.25c-9.932-52.565-18.812-111.61-23.594-166.72-3.87-44.618-5.233-86.115-2.03-119.717-10.777-1.282-22.047-5.642-32.938-13.22-7.498 5.988-16.954 10.145-27.25 10.75-7.46 16.247-23.42 28.125-42.688 28.125-19.644 0-36.84-11.86-44.344-28.938-8.26 1.885-15.993 2.507-23.72 1-8.57-1.67-16.468-6.014-24.467-12.5zm-78.376 319.906L116.22 491.25h358.686l-21.72-48.406H134.846z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeetleShell;

impl IconShape for BeetleShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.125 21.375l-11.25 2.375C142.28 43.37 68.75 129.098 54.562 212.188c-7.093 41.544 1.26 83.252 30.876 114 8.703 9.036 19.153 17.05 31.406 23.875 1.122-6.105 3.542-12.028 7.062-17.563-9.857-5.69-18.156-12.176-25-19.28C73.88 287.234 66.646 252.554 73 215.343c3.844-22.515 12.893-45.62 25.97-67.406v134.437h18.686v-161.25c7.472-9.315 15.676-18.182 24.53-26.406v152.31h18.69V81.563l-.032-1.874c8.804-6.883 14.865-11.25 24.562-16.72v135.25h18.688V53.657c7.917-3.45 16.046-6.394 24.344-8.718V189.28c6.49-4.71 12.773-8.648 18.687-11.718V21.376zm22.28 0v158.062c5.867 3.51 12.16 7.84 18.69 12.782V44.937c9.61 2.69 19 6.186 28.092 10.374V198.22h18.688V65.124c8.526 5.037 16.72 10.676 24.53 16.813V247.03h18.69V98.28c8.91 8.634 17.116 17.903 24.53 27.626v156.47h18.688V154.343c11.076 19.874 18.78 40.685 22.25 61 6.353 37.21-.88 71.89-25.907 97.875-6.83 7.09-15.105 13.568-24.937 19.25 3.52 5.527 5.964 11.432 7.092 17.53 12.215-6.812 22.632-14.8 31.313-23.813 29.614-30.747 37.938-72.455 30.844-114-5.474-32.052-19.783-64.483-40.658-93.375v-.062h-.03c-33.238-45.977-83.128-82.953-140.594-95l-11.282-2.375zM256.69 193.75c-15.76 8.1-39.794 27.3-59.72 50.625-15.213 17.81-28.01 38.034-34.562 56.97 26.188-12.528 60.838-19.376 95.906-19.376 34.875 0 69.334 6.76 95.47 19.155-6.77-18.23-19.757-37.767-35.22-55.188-20.632-23.245-45.335-42.818-61.875-52.187zm1.625 106.906c-33.5 0-66.99 7.09-89.75 18.47-11.412 5.705-20.224 12.447-25.782 19.155-5.556 6.71-7.968 13.25-7.968 19.47 0 6.168 2.382 12.66 7.844 19.313l.125.156c5.56 6.707 14.37 13.45 25.782 19.155.918.46 1.893.9 2.844 1.344 4.422-4.217 9.587-8.036 15.313-11.376l.124-.063c19.388-11.27 45.188-17.342 71.375-17.342 26.185 0 52.017 6.072 71.405 17.343l.063.033c5.777 3.364 10.985 7.215 15.437 11.468.995-.462 2.01-.926 2.97-1.405 11.41-5.706 20.223-12.448 25.78-19.156 5.557-6.71 7.97-13.25 7.97-19.47 0-6.18-2.394-12.68-7.876-19.344l-.095-.125c-5.558-6.707-14.37-13.45-25.78-19.155-22.762-11.38-56.282-18.47-89.783-18.47zm-.094 86.97c-23.206 0-46.467 5.78-62 14.812-15.536 9.03-22.972 20.745-22.97 30.687-.002 9.942 7.434 21.657 22.97 30.688 15.533 9.03 38.794 14.812 62 14.812 23.204 0 46.495-5.782 62.03-14.813 15.535-9.03 22.97-20.745 22.97-30.687s-7.435-21.657-22.97-30.688c-15.535-9.03-38.826-14.812-62.03-14.812zM146.124 409.03c-6.868 0-14.037 2.97-18.875 7.845-4.838 4.875-7.77 12.038-7.72 18.906v.158c-.05 6.853 2.87 14 7.69 18.875l.03.03c4.838 4.876 12.007 7.844 18.875 7.844 5.603 0 11.402-1.968 15.97-5.343-4.805-7.435-7.535-15.616-7.532-24.22-.002-7.09 1.85-13.91 5.187-20.25-4.124-2.43-8.934-3.843-13.625-3.843zm224.406 0c-4.744 0-9.625 1.424-13.78 3.908 3.315 6.32 5.158 13.12 5.156 20.187.002 8.552-2.687 16.694-7.437 24.094 4.584 3.427 10.41 5.467 16.06 5.467 6.855 0 14.007-2.955 18.845-7.812l.03-.03c4.84-4.876 7.74-12.04 7.69-18.908v-.156c.05-6.867-2.85-14.03-7.69-18.905-4.837-4.875-12.005-7.844-18.874-7.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Behold;

impl IconShape for Behold {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.625 20.063c-51.034 0-97.18 20.68-130.53 54.124l52.31 59.22c21.788-16.468 48.9-26.25 78.25-26.25 3.183 0 6.345.117 9.47.343l12.625-86.125c-7.253-.866-14.636-1.313-22.125-1.313zm40.563 4.5l-12.532 85.656c20.72 4.56 39.58 14.055 55.313 27.218l54.967-54.97c-25.21-28.606-59.195-49.264-97.75-57.906zM112.53 88.186c-22.864 28.146-37.62 63.17-40.624 101.532l58.813 11.405c6.124-21.19 17.494-40.175 32.624-55.438l-50.813-57.5zm293.095 9.032l-53.22 53.218c20.675 23.03 33.283 53.436 33.283 86.75 0 4.513-.237 8.978-.688 13.375l46.47 9.03c5.458-17.434 8.405-35.997 8.405-55.25 0-39.973-12.685-76.948-34.25-107.124zm-149.97 28.624c-61.6 0-111.343 49.744-111.343 111.344 0 61.6 49.744 111.343 111.344 111.343 61.6 0 111.344-49.74 111.344-111.342s-49.744-111.344-111.344-111.344zm-7.968 30.562c-2.3 4.783-3.593 10.12-3.593 15.78 0 20.168 16.334 36.533 36.5 36.533 17.387 0 31.945-12.164 35.625-28.44 11.16 12.827 17.936 29.572 17.936 47.907 0 40.333-32.7 73.032-73.03 73.032-40.333 0-73.032-32.7-73.032-73.033 0-35.74 25.682-65.47 59.594-71.78zm-176.28 52.25c1.224 53.382 25.094 101.11 62.374 133.97l22.126-22.126c-18.893-22.58-30.28-51.635-30.28-83.313 0-6.022.42-11.943 1.218-17.75l-55.438-10.78zm186.062 15.938c-13.11 0-23.75 10.61-23.75 23.72 0 13.107 10.64 23.75 23.75 23.75 13.107-.002 23.717-10.643 23.717-23.752 0-13.108-10.61-23.718-23.718-23.718zm124.28 44.375c-5.648 22.405-17.124 42.488-32.72 58.592l19.72 22.313c24.33-18.93 43.757-43.84 56.125-72.53l-43.125-8.376zm-212.844 64.967L148.5 354.344c22.11 15.8 47.866 26.825 75.78 31.594l3.19-21.813c-22.183-4.92-42.22-15.516-58.564-30.188zm166.22 6.094c-21.992 17.033-49.565 27.19-79.47 27.19-3.244 0-6.47-.11-9.656-.345l-3.125 21.28c4.214.288 8.463.44 12.75.44 35.905 0 69.38-10.26 97.688-27.97l-18.188-20.594zm62.968 8.75c-9.7 9.57-20.358 18.152-31.813 25.626 9.59 31.085 5.36 58.494-.56 85.406 26.337-33.84 45.837-68.974 32.374-111.03zm-284.875.095c-13.406 42.016 6.087 77.122 32.405 110.938-5.915-26.885-10.123-54.267-.563-85.313-11.468-7.47-22.132-16.058-31.843-25.625zm237.624 34.688c-10.554 5.625-21.66 10.32-33.22 14.03 7.275 30.903 5.854 58.197 2.438 83.126 21.553-27.808 34.204-59.827 30.782-97.158zm-190.344.03c-3.412 37.318 9.235 69.327 30.78 97.126-3.413-24.922-4.828-52.206 2.44-83.095-11.562-3.706-22.66-8.41-33.22-14.03zm139.75 18.75c-10.256 2.307-20.818 3.816-31.594 4.5 5.044 29.757 6.38 59.014 5.28 87.938 12.296-29.813 22.206-60.306 26.314-92.436zm-89.125.032c4.11 32.118 13.99 62.603 26.28 92.406-1.098-28.914.265-58.16 5.314-87.905-10.777-.678-21.337-2.2-31.595-4.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BellShield;

impl IconShape for BellShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M214.4 76.46c0 16.75 5.8 31.54 14.3 41.84l10.2 12.2-15.6 2.9c-11.1 2.1-19.2 7.9-26.1 17.4-6.9 9.5-12.2 22.8-15.9 38-6.7 27.7-8.2 61.5-8.5 91.2h36.8l10 135.2c25.6 5.8 53 5.6 77.6 0l9-135.2h34.9c0-30.1-.4-64.3-6.5-92.2-3.3-15.4-8.4-28.6-15.4-38-7-9.4-15.5-15.2-27.9-17.1l-15.9-2.5 10-12.6c8.2-10.1 13.7-24.8 13.7-41.14 0-32.41-20.3-56.4-42.3-56.4-24.9-.32-41.9 33.01-42.4 56.4zm-28.2-52.41C109.1 77.81 19.73 258 19.73 425.3v.9c0 6.6 4.41 14.2 15.57 22.4 11.15 8.3 28.37 16.3 50.01 23.1 43.29 13.5 104.09 22.1 171.39 22.1 67.2 0 128-8.6 171.3-22.1 21.7-6.8 38.9-14.8 50-23.1 11.2-8.2 15.6-15.8 15.6-22.4 0-1.2-.1-2.4-.4-3.7-1-166.4-89.8-344.98-166.4-398.45C399.4 161 408.3 318.8 399.7 443.2c-33.4 13.4-85.1 22-143 22-58.2 0-110.1-8.7-143.5-22.2-13.49-173 12.9-342.3 73-418.95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeltBuckles;

impl IconShape for BeltBuckles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174.063 42.594v22.968h143.843V107.095c16.17 1.71 26.84 14.544 26.72 27.5-.123 12.946-10.77 25.608-26.72 27.312v40.625H174.062v23.626H360.97V42.594H174.06zM20.22 84.187v18.688h279V84.25H155.374v-.063H20.22zm359.436 0v18.688h116.47V84.187h-116.47zm37.094 37.22c-6.575 0-11.72 5.113-11.72 11.687 0 6.573 5.147 11.72 11.72 11.72s11.688-5.147 11.688-11.72c0-6.57-5.115-11.688-11.688-11.688zm66.03 0c-6.573 0-11.686 5.113-11.686 11.687 0 6.573 5.114 11.72 11.687 11.72 6.575 0 11.72-5.147 11.72-11.72 0-6.57-5.145-11.688-11.72-11.688zm-240.53 4.187c-11.12 0-13.166 4.982-13.188 8.97-.02 3.985 1.82 8.842 13.188 8.842h71.97c9.785 0 11.677-4.68 11.717-9 .04-4.32-1.488-8.812-11.718-8.812h-71.97zM20.22 164.97v18.686h279V164.97h-279zm359.436 0v18.686h116.47V164.97h-116.47zm-262.25 118.436v22.97H261.25v40.593c15.548 2.168 25.745 14.72 25.625 27.374-.12 12.638-10.297 24.963-25.625 27.125v41.874H117.406v23.625h186.906V283.405H117.406zm-94.78 42.5v97.656H242.56v-21.75H184.5c-18.88 0-31.953-13.374-31.875-27.625.078-14.25 13.144-27.53 31.875-27.53h58.063v-20.75H22.625zm300.374 0v97.656h172.344v-97.656H323zm44.094 31.844c9.36 0 16.937 7.61 16.937 16.97s-7.575 16.936-16.936 16.936c-9.362 0-16.97-7.576-16.97-16.937 0-9.363 7.608-16.97 16.97-16.97zm77.28 0c9.363 0 16.938 7.61 16.938 16.97s-7.575 16.936-16.937 16.936c-9.362 0-16.97-7.576-16.97-16.937 0-9.363 7.608-16.97 16.97-16.97zM184.5 365.344c-11.12 0-13.166 4.95-13.188 8.937-.02 3.988 1.82 8.845 13.188 8.845h71.938c9.786 0 11.71-4.65 11.75-8.97.04-4.318-1.52-8.81-11.75-8.81H184.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BestialFangs;

impl IconShape for BestialFangs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M361.906 25.938c-49.615.102-110.022 18.8-154.25 37.593-12.605-7.315-27.254-11.622-43.156-12.28-18.84-.78-39.426 3.525-60.47 13.875l-1.468.72-.093.03C51.863 87.46 22.14 140.77 19.062 200.625c91.48-18.65 15.3 110.685 57.968 156.406C181.473 441.578 284.58 484.333 390 487.53c44.707 0 67.482-12.576 70.156-40.53 14.36-46.12 15.182-98.99 13.22-148.47-12.752 42.9-25.627 85.79-47.72 128.095-5.745.157-12.06.025-18.906-.47-10.324 19.953-21.38 36.51-39.656 46.876 12.73-16.588 19.968-35.21 26-61.186 7.956-39.902 11.877-79.818 14.75-119.72L351.72 415.5c-2.474-.752-4.988-1.567-7.533-2.406-65.917-52.54-93.99-102.854-92.125-151.625 1.773-46.336 31.03-93.828 86.375-142 1.643-.338 3.29-.69 4.907-1 19.63 45.61 34.845 90.96 48.22 136.186 6.728-44.3 5.344-89.092-2.377-134.28-4.977-19.72-11.31-34.776-21.5-48.44 17.483 8.524 31.02 20.368 40.5 40.126 5.347 0 10.41.133 15.125.376 35.996 39.062 52.935 82.938 65.032 129.187 6.042-68.832-11.477-131.56-53.78-187.844l-3.752-6.81c-16.255-15.21-40.84-21.09-68.906-21.032zm-200.97 43.75c.903.005 1.8.026 2.69.062 12.338.5 23.395 3.804 33 9.094-9.716 15.956-24.405 26.127-42.064 32.03-16.195 5.416-34.8 6.806-53.125 5.157 6.505-11.26 12.63-23.118 15.094-35.936 15.916-7.18 30.878-10.494 44.407-10.406zm140.22 59.093c-42.165 42.782-66.048 86.653-67.78 131.97-1.766 46.156 19.81 91.9 65.25 136.97-32.14-11.12-66.783-24.655-94.688-44.033-33.387-18.577-59.818-42.03-73.625-71.062-15.45-32.487-13.78-71.5 10.468-113.344l16.157 9.376c-22.003 37.97-22.593 68.932-9.75 95.938 1.137 2.39 2.386 4.76 3.75 7.094-1.75-7.86-2.657-16.212-2.562-25.125.702-65.966 83.636-107.434 152.78-127.782z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BeveledStar;

impl IconShape for BeveledStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.188 23.375l-69.25 103.063 3.687 54.062 24.563-36.375 15.156-22.47 1.906 27.032 2.97 42.282 29.436-43.814-8.47-123.78zM88.155 85.655l54.688 111.626 48.03 23.532-19.405-39.156-12.25-24.72 24.75 12.19 39.343 19.374-23.625-48.188L88.156 85.656zm191.375 91.376l-25.842 38.282-4.563 6.75-7.313-3.593-41.343-20.376 20.25 40.875 3.624 7.343-6.78 4.562-38.408 25.875 46.22 3.03 8.124.533.563 8.156 3.218 45.717 25.25-38.03 4.533-6.844 7.375 3.625L316 313.406l-20.344-41.594-3.594-7.343 6.813-4.533 37.938-25.25-45.344-2.906-8.158-.53-.562-8.156-3.22-46.063zm86.533 7.69l-45.032 30.25 44.564 2.874 27.625 1.78-23.033 15.314-35.812 23.843 52.688 3.595 102.968-69.22-123.967-8.436zm-237.407 63.593l-103 69.218 124 8.44 44-29.564-43.03-2.844-27.282-1.78L146.03 276.5l36.407-24.5-53.78-3.688zm197.03 42.375l19.127 39.093 12 24.564-24.532-12.063-39.217-19.342 23.562 48.125 111.5 54.625-54.688-111.625-47.75-23.375zm-108.217 28.28l-30.157 44.876 8.468 123.78 69.25-103.062-3.592-52.937-23.782 35.75L222.5 390.25l-1.938-27.375-3.093-43.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BigWave;

impl IconShape for BigWave {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M319.406 75.156c-50.542.49-104.39 20.876-150.094 72.844-10.232 9.65-19.88 19.59-29.187 29.313-20.516 21.433-39.694 41.877-60.22 56.468-18.484 13.142-37.73 21.617-61 22.75v89.876c53.93-32.793 59.934-67.832 115.595-136.312 6.38-6.524 12.727-13.19 19.125-19.875 9.96-10.407 20.016-20.803 30.563-30.657 46.422-36.83 92.022-27.93 107.218 2.5 4.6-49.27 57.958-30.564 66.813 18.875 6.91-33.696 20.327-44.354 34.03-31.625-28.136 49.585-26.61 110.87-8.406 164.937 20.51 60.915 61.743 114.13 110.344 133.75v-20.563c-38.34-19.194-74.662-65.71-92.657-119.156-15.937-47.336-17.777-99.07 2.75-141.655 8.492 16.92 16.342 43.406 21.94 79.53 17.992-84.587 54.762-72.463 56.624-10.593 42.998-66.287-52.197-161.48-163.438-160.406zm-35.656 95.78C194.225 181.69 66.158 359.648 43.625 494.97h91.25c1.02-133.954 71.114-282.045 148.875-324.033zm32.406 13.69c-76.76 49.056-114.574 208.732-109.812 310.343h78.437c-41.213-80.74-23.207-252.666 31.376-310.345zm21.875 26.218c-34.686 82.23-25.705 191.077 25.158 284.125h78c-75.605-53.774-120.09-190.455-103.157-284.126z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Biohazard;

impl IconShape for Biohazard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.03 41.656c-19.755 22.934-31.78 52.76-31.78 85.406 0 23.544 6.228 45.667 17.125 64.782-22.02.108-44.312 5.78-64.72 17.562-28.266 16.32-48.113 41.64-58.093 70.22 9.484-15.492 23.012-28.562 39.844-38.282 23.238-13.417 49.246-17.604 73.813-13.72-2.547 9.988-3.907 20.45-3.907 31.22 0 57.436 38.516 106.03 91.062 121.375-9.005 22.822-25.49 42.892-48.406 56.124-16.838 9.722-35.253 14.313-53.407 14.78 29.763 5.674 61.89 1.723 90.187-14.624 20.317-11.732 36.307-28.117 47.406-47.03 11.1 18.922 27.08 35.325 47.406 47.06 28.296 16.35 60.422 20.268 90.188 14.595-18.163-.466-36.574-5.03-53.406-14.75-22.99-13.275-39.514-33.43-48.5-56.344 52.175-15.572 90.312-64.01 90.312-121.186 0-10.714-1.356-21.122-3.875-31.063 24.812-4.113 51.127.025 74.626 13.595 16.832 9.725 30.362 22.788 39.844 38.28-9.978-28.58-29.826-53.896-58.094-70.217-20.29-11.718-42.444-17.393-64.344-17.563 10.906-19.12 17.157-41.258 17.157-64.813 0-32.68-12.678-62.462-32.47-85.406 8.668 15.962 13.906 34.184 13.906 53.625 0 27.412-9.775 52.516-26.03 72.032-22.69-21.61-53.39-34.906-87.126-34.906-33.412 0-63.84 13.036-86.47 34.28-15.94-19.424-25.5-44.29-25.5-71.405 0-19.44 4.58-37.662 13.25-53.624zm98.72 109.438c28.748 0 54.833 11.19 74.125 29.47-17.373 14.994-39.375 24.76-63.594 26.874v19.812c12.912 3.6 22.283 15.35 22.283 29.47 0 2.39-.272 4.708-.782 6.936l17.44 9.5c14.018-19.577 33.415-33.477 54.967-40.844 2.14 8.485 3.282 17.372 3.282 26.532 0 48.918-32.41 90.075-76.97 103.28-5.058-23.923-2.37-49.563 9.125-72.905l-17.438-9.5c-5.385 4.726-12.45 7.592-20.25 7.592-8.056 0-15.342-3.05-20.78-8.062l-20.032 10.78c11.2 23.207 13.728 48.628 8.656 72.345-44.973-12.95-77.78-54.324-77.78-103.53 0-9.25 1.163-18.223 3.344-26.783 22.14 7.39 42.055 21.663 56.28 41.875l20.345-10.968c-.414-2.02-.626-4.103-.626-6.25 0-13.38 8.396-24.635 20.25-28.845V207.53c-24.962-1.917-47.63-11.958-65.375-27.5 19.238-17.95 45.074-28.936 73.53-28.936z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdClaw;

impl IconShape for BirdClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.313 14.53v69.5c56.5 26.487 139.512 124.756 121.718 153.626-19.937 9.72-41.66 17.936-66.28 26-2.74.592-5.4 1.456-7.938 2.563-.2.063-.393.122-.593.186l.06.063c-16.915 7.643-28.78 25.936-29.53 44.436-1.172 1.432-2.247 2.977-3.22 4.656-12.052 20.84-19.215 46.52-11.31 70.313 7.903 23.793 31.383 43.1 73.28 50.344l30.438 5.28-22.407-21.25c-20.598-19.52-23.79-44.37-15.655-63.563 18.564-2.293 33.263-17.314 38.72-34.906.024-.082.036-.166.06-.25 8.305-21.175 21.293-40.217 41.876-46.686 22.197-6.978 89.432 19.79 122.907 75.75 3.1 9.693 9.968 18.606 21.594 25.03 6.867 3.795 13.592 5.702 19.97 6.126 8.03 7.63 16.105 17.703 22 28.75 8.26 15.478 12.246 32.53 8.22 48.22l-7.69 29.936L375.5 468c31.637-28.45 41.573-57.794 37.438-83.563-3.873-24.125-18.826-44.065-34.813-59.562-1.898-12.118-8.972-23.538-22.813-31.188-8.148-4.503-16.148-6.32-23.656-6.062-1.087.037-2.153.128-3.22.25-15.68.117-33.815-2.788-50.155-8.656-22.188-15.804-20.717-30.904-2.405-40.72 27.434-2.626 54.565 6.108 76 17.22 1.972 1.488 4.116 2.886 6.47 4.186 22.067 12.198 42.575 5.148 55.31-9.344 7.79 1.084 15.55 4.598 23.126 10.188 11.023 8.13 21.213 20.634 28.75 34.78l10.314 19.376 6.812-20.875c13.164-40.43 7.03-70.206-10.312-88.31-15.176-15.843-37.005-22.188-58.344-22.907-1.065-.036-2.126-.026-3.188-.032-2.17-1.725-4.56-3.342-7.218-4.81-8.15-4.505-16.15-6.32-23.656-6.064-5.92.203-11.534 1.71-16.657 4.188v-.063c-31.524 15.287-62.228 22.54-93.155 28.032-8.008-3.035-10.557-9.02-5.03-19.437 18.92-18.164 41.107-32.81 63.53-40.375 14.174-1.885 26.066-11.202 33.25-23.375 8.486-2.544 18.056-4.173 27.375-4.094 15.366.133 29.59 4.525 39.406 15.19l21.25 23.093-5.156-30.938C437.927 83.1 420.128 60.11 397.812 51.22c-8.368-3.336-17.006-4.73-25.625-4.782-12.06-.075-24.05 2.494-35.125 6.093-4.27-1.392-8.473-2.1-12.53-2.186-19.13-.41-35.312 12.694-42.876 29.437-.007.023-.023.042-.03.064-1.04 2.307-1.898 4.674-2.595 7.094-5.9 15.37-13 29.872-21.217 43.5-34.96 31.232-68.095 19.003-93.688-15.5C144.333 86.56 126.908 49.45 116.97 14.53H16.312zm355.562 50.72c6.738 0 13.2 1.02 19.03 3.344 11.852 4.722 22.592 14.762 29.783 35.687-9.974-4.213-20.77-6.096-31.282-6.186-13.213-.113-26.044 2.423-37.344 6.375-7.2 2.276-11.68 4.717-13.687 5.78-1.934 1.022-1.256 1.004-3.313-.97-2.056-1.972-4.744-6.765-5.968-12.28-1.225-5.515-1.122-11.635.344-16.094 1.465-4.458 3.59-7.103 7.812-8.656h.03v-.03c11.348-4.18 23.366-6.97 34.595-6.97zm37.594 136.22c19.194-.013 38.09 5.407 49.374 17.186 9.58 10.002 15.108 25.212 11.03 49.344-6.486-8.54-13.78-16.22-22-22.28-13.878-10.24-30.478-16.22-47.687-13.595-3.116.475-4.042-.14-5.78-2.375-1.74-2.234-3.21-6.56-3.22-11.094-.01-4.532 1.365-9.054 3.657-12.03 2.292-2.978 5.123-4.878 10.78-5.095 1.28-.048 2.565-.06 3.845-.06zM59.22 317.624c3.08.093 6.475 1.018 9.5 2.625 4.03 2.143 7.17 5.456 8.31 8 1.142 2.544 1.28 3.574-.624 6.063-16 20.908-19.083 50.772-5.78 76.843-20.013-7.685-29.596-18.962-33.657-31.187-5.486-16.512-.514-37.32 9.75-55.064 2.824-4.885 5.83-6.467 9.56-7.094.934-.156 1.912-.218 2.94-.187zm294.56 14.28c2.927-.057 5.47.902 8.376 3.595 15.526 14.38 29.208 32.532 32.313 51.875 2.357 14.692-.622 30.766-14.658 48.875-1.51-12.203-5.664-23.978-11.312-34.563-9.762-18.294-23.688-33.48-37.156-43.062-2.18-1.55-2.332-2.312-1.656-5.78.675-3.47 3.433-8.554 7.468-12.626 4.035-4.074 9.182-7.07 13.53-7.94 1.09-.216 2.12-.354 3.095-.374z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdLimb;

impl IconShape for BirdLimb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.5 21.25l-.406 79.72L52.5 94.905l61.094 64.03-92.906 29.314s65.592 16.927 109.062 30.375l50.22-17.094-20.157-39.686-6.938-13.656 15.313.062 40.906.188c-10.145-13.34-18.836-26.114-25.22-37.094C165.518 79.764 129.5 21.25 129.5 21.25zM183.406 167l18.125 35.688 4.876 9.593-10.22 3.47-36.81 12.53c32.72 11.145 64.403 23.95 92.56 42.157l-8.81-31.78-3.22-11.626 12.063-.218 30.124-.562c-19.93-16.5-40.332-37.76-58.063-59.03l-40.624-.22zm215.875 44.53c-.764.014-1.543.03-2.31.064l-42.783 43.156c-12.067 5.72-28.657.866-46.937-10.28l-42.906.81 11.97 43.157c11.953 10.085 23.01 21.54 32.905 34.782.007.01.02.018.03.03l.28.406c31.367 45.788 37.903 122.127-37.155 137.938 71.063 33.236 111.556-45.42 95.594-98.375 33.45 35.653 40.736 89.985-16.126 127.374 96.784 10.962 97.8-108.47 47.687-159.53 45.487 8.812 78.87 53.29 48.783 116.78 90.99-35.057 30.803-137.264-44.438-162.75-3.958 7.772-8.396 14.785-13.688 20.78-5.473 3.44-11.014 5.093-17.187 5.595-7.543.612-16.202-.73-26.03-3.845 10.357-.54 17.71-3.67 24.31-9.28 5.25-4.463 9.99-10.76 14.376-18.75 9.424-27.246 47.878-38.25 99.188 1.405 3.77-30.594-37.373-70.267-85.563-69.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdMask;

impl IconShape for BirdMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.03 23.063c-99.206 0-179.624 58.963-179.624 131.687 0 56.668 48.844 104.963 117.344 123.53 11.835 62.23 64.47 215.376 64.47 215.376s53.39-155.335 64.718-216.687c66.074-19.45 112.718-66.83 112.718-122.22 0-72.724-80.418-131.688-179.625-131.688zM163 85.436c39.656 0 71.625 31.97 71.625 71.626 0 39.655-31.97 71.625-71.625 71.625-39.656 0-71.625-31.97-71.625-71.625 0-39.656 31.97-71.625 71.625-71.625zm179.625 0c39.656 0 71.625 31.97 71.625 71.626 0 39.655-31.97 71.625-71.625 71.625-39.656 0-71.625-31.97-71.625-71.625 0-39.656 31.97-71.625 71.625-71.625zM166.97 107.626c-16.7 0-31.318 8.487-39.814 21.406 7.02-3.855 15.08-6.06 23.656-6.06 8.815 0 17.094 2.316 24.25 6.374-9.975.464-17.937 8.69-17.937 18.78 0 10.39 8.425 18.814 18.813 18.814 9.81 0 17.855-7.507 18.718-17.094 3.425 6.707 5.375 14.295 5.375 22.344 0 7.735-1.82 15.05-5 21.562 11.856-8.632 19.532-22.62 19.532-38.5 0-26.407-21.19-47.625-47.593-47.625zm180 0c-16.463 0-30.924 8.233-39.47 20.844 6.774-3.514 14.437-5.5 22.594-5.5 8.804 0 17.068 2.324 24.22 6.374-10.114.314-18.22 8.592-18.22 18.78 0 10.39 8.424 18.814 18.812 18.814 10 0 18.154-7.806 18.75-17.657 3.605 6.844 5.656 14.636 5.656 22.907 0 8.033-1.93 15.615-5.343 22.313 12.455-8.558 20.592-22.9 20.592-39.25 0-26.407-21.19-47.625-47.593-47.625zM220.374 228.03c6.606-.04 13.12 7.952 15.375 19.595 2.577 13.314 1.656 83.5 1.656 83.5s-26.173-60.157-28.75-73.47c-2.577-13.31 1.396-26.32 8.875-29.092.936-.347 1.9-.526 2.845-.532zm66.844 1.376c.942.006 1.908.185 2.842.53 7.48 2.775 11.453 15.813 8.875 29.126-2.577 13.314-28.75 73.438-28.75 73.438s-.92-70.184 1.657-83.5c2.255-11.643 8.77-19.634 15.375-19.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BirdTwitter;

impl IconShape for BirdTwitter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.313 28.438l36.406 51.25L44.874 98.25l34.688 18.53c-37.62 38-62.482 102.735-57.532 198.94V493h147.314v-.188H269.75c-13.74-59.032-15.368-110.625-5.563-149.875-16.954-7.98-25.126-17.362-32.75-30.375 51.348 21.135 127.618 35.582 200.47 18.594-23.227-10.096-47.07-22.578-70.094-37.156-.013-.007-.02-.024-.032-.03-17.996-10.514-34.942-22.247-49.967-36.376-9.385-7.88-18.41-16.142-26.907-24.78 36.074-25.505 77.297-40.297 118.656-46.876-7.72 5.104-15.336 10.82-22.687 16.937-18.272 15.207-34.737 32.736-45.313 50.656 4.9 3.986 10.02 7.785 15.313 11.44 9.017-15.524 24.43-33.122 41.97-47.72 24.26-20.193 52.937-34.698 70.06-35.375h.126c10.89.214 21.608.935 32.064 2.125-10.838-7.647-21.748-14.487-32.72-20.563v-.25c-.145.006-.29.025-.437.032-54.844-30.266-111.23-41.295-168.03-36.72-21.272-24.23-49.025-40.62-78.657-47.875L77.312 28.437zm74.343 107.312c4.67 0 9.16.754 13.375 2.125-8.493 2.716-14.655 10.667-14.655 20.063 0 11.634 9.428 21.062 21.063 21.062 9.84 0 18.122-6.754 20.437-15.875 1.934 4.905 3 10.252 3 15.844 0 23.867-19.35 43.218-43.22 43.218-23.867 0-43.218-19.35-43.218-43.22 0-23.867 19.35-43.218 43.22-43.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackBar;

impl IconShape for BlackBar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M341.28 22.813L254 123.843l-11.094 5.907-113.094-83.125L154.22 177.03l-47.907 25.564-89.72 24.22 36.938 19.624-30.968 82.625-2.843 7.687 7.218 3.844 79.406 42.25-19.47 44.844L144 402.906l32.22 17.156 4.405 2.344 4.375-2.344 47.844-25.468L287.75 497.97l37.78-139.876L467.94 384.75l-60.907-82.875 74.814-39.844 7.25-3.842-2.906-7.688-20.625-54.594 26.218-22.625-35.28-1.405-3.906-10.344-1.25-3.25-3.03-1.655-103.97-56.53-3.063-77.282zM321.595 109l107.97 58.688-237.47 125.718-108.625-57.5L321.593 109zm42.78 44.563l-171.718 90.062-41.562-22.188-25.313 13.407 66.876 35.656 197.28-103.906-25.56-13.03zm76.313 29.406l25.125 66.436L193.656 394.28l5.78-83.624 241.25-127.687zM71.813 250.874l109.032 57.75-6.188 89.438L42.97 327.938l28.843-77.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackFlag;

impl IconShape for BlackFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 22.438c-130.314 0-235.97 105.654-235.97 235.968 0 130.315 105.656 235.938 235.97 235.938 1.483 0 2.96-.004 4.438-.03l80.75-202.94C144.107 203.56 256.543 420.788 38.906 313.5c9.302-40.373 31.205-131.175 51.157-161.47 220.625 108.762 105.205-113.935 313.812-16.25 3.196-4.52 7.158-7.076 10.875-7.905 7.96-1.777 14.27 4.87 9.938 17.53l-137.75 346.908c115.697-15.15 205-114.077 205-233.907 0-130.314-105.624-235.97-235.938-235.97zm139.625 132.03c-36.11 16.943-57.968 83.92-47.28 118.845l47.28-118.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackHandShield;

impl IconShape for BlackHandShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.67 24.377c0 215.76 44.432 429.318 209.21 474.63 181.394-38.7 209.446-258.276 209.446-474.63H51.67zM276.482 44.79c1.448.018 2.916.13 4.375.34l.07.01c6.26.92 12.11 3.844 15.452 6.77L275.18 180.922l17.607 5.646L352.07 66.25c4.27-.31 10.41.832 16.05 3.863 5.992 3.22 10.74 8.133 12.995 12.658l-56.13 116.24 15.218 10.48 76.664-81.246c4.1 1.16 9.34 4.344 13.65 9.195 4.623 5.2 7.66 11.762 8.53 16.882L337.624 263.916l.135-.143c-14.347 14.864-16.183 38.756-12.852 68.202 3.173 28.047 11.84 62.157 23.774 100.28-25.156 24.603-55.416 40.65-85.72 47.116-28.74-10.175-50.453-19.478-72.64-39.227 20.222-52.778 24.746-101.603 23.157-140.637 6.284 2.99 12.498 5.453 18.69 7.197 15.103 4.253 30.777 3.893 44.453-4.392l-9.687-15.988c-8.748 5.3-17.79 5.74-29.7 2.387-11.91-3.355-25.99-10.902-41.486-20.733-28.876-18.32-62.683-44.228-101.223-63.307 4.407-8.026 9.135-12.05 13.983-13.96 6.228-2.456 14.186-1.912 24.166 1.56 15.198 5.29 33.493 17.21 52.21 28.808l16.007-9.14-.754-3.508c-.613-.38-1.218-.745-1.83-1.127L167.284 65.877c3.303-3.966 9.28-8.136 15.986-10.318 6.207-2.02 12.423-2.145 16.595-1.113l25.715 116.66 18.36-.543 19.59-123.007c3.058-1.567 7.08-2.622 11.513-2.756.477-.014.957-.017 1.44-.01z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BlackHoleBolas;

impl IconShape for BlackHoleBolas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M393.5 19.53c-2.858-.01-5.743.193-8.656.626-31.08 4.62-52.53 33.582-47.906 64.688 4.623 31.106 33.576 52.588 64.656 47.97 2.053-.307 4.066-.74 6.03-1.25 9.68 23.89 14.992 46.253 16.657 66.967-12.318 4.327-20.24 16.91-18.25 30.314 1.366 9.18 7.072 16.623 14.72 20.594-3.375 14.428-8.705 27.7-15.594 39.75-9.627 16.838-22.426 31.345-37.375 43.187 13.33-22.265 19.333-49.11 15.22-76.78-4.372-29.416-19.408-54.588-40.594-72.22-33.633-35.776-80.33-58.405-130.312-58.22-45.336.17-92.873 19.486-134.625 63.376-7.308-3.943-15.91-5.657-24.75-4.343-21.767 3.236-36.77 23.528-33.532 45.313 3.238 21.785 23.483 36.83 45.25 33.594 21.766-3.236 36.8-23.528 33.562-45.313-.93-6.26-3.28-11.97-6.656-16.843 38.472-40.475 80.822-56.944 120.844-57.093 21.038-.08 41.558 4.455 60.562 12.687-1.344-.05-2.678-.087-4.03-.093-5.835-.024-11.742.398-17.69 1.282-16.537 2.457-31.73 8.308-45 16.718-38.298 20.656-69.638 53.2-86.686 93.312-14.32 33.692-18.302 72.74-8 113.813-16.41 6.933-28.73 22.277-30.906 41.25-3.215 28.02 16.88 53.32 44.874 56.53 27.996 3.213 53.317-16.886 56.532-44.906 3.215-28.017-16.88-53.35-44.875-56.562-2.508-.288-4.99-.357-7.44-.28-9.626-37.47-5.866-72.288 7-102.564 5.206-12.245 11.944-23.753 19.94-34.342-4.43 15.467-5.71 32.107-3.19 49.062.354 2.373.794 4.715 1.282 7.03 7.884 58.165 40.39 112.06 91.97 141.658 45.803 26.28 106.342 32.7 175.75 6.75 8.357 11.38 22.54 17.875 37.468 15.656 21.484-3.194 36.32-23.216 33.125-44.72-3.196-21.5-23.203-36.35-44.688-33.155-21.484 3.192-36.32 23.215-33.125 44.717.015.096.048.187.063.282-64.737 24.18-118.595 17.612-159.313-5.75-23.945-13.74-43.422-33.523-57.625-56.783 23.992 18.134 54.95 26.988 87.032 22.22 8.252-1.228 16.172-3.316 23.686-6.126 46.562-11.748 88.206-40.568 112.5-83.06 8.058-14.095 14.142-29.657 17.844-46.5 14.273-3.006 23.925-16.652 21.75-31.282-1.56-10.494-8.8-18.77-18.125-22.125-1.686-23.377-7.498-48.395-18.156-74.657 17.774-11.842 28.13-33.24 24.78-55.78-4.19-28.19-28.373-48.48-56-48.595zM268.437 185.47l12.063 54 46.625-29.564-29.375 46.313 53.594 12.03-53.875 12.063 29.686 46.75-46.687-29.625-12.033 53.75-12-53.594-46.468 29.5 29.655-46.78-54-12.064 53.72-12.03-29.376-46.314 46.436 29.438 12.03-53.875zm-.156 71.28c-6.89 0-12.25 5.39-12.25 12.28 0 6.894 5.36 12.283 12.25 12.283 6.892 0 12.283-5.39 12.283-12.282 0-6.89-5.39-12.28-12.282-12.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Blackball;

impl IconShape for Blackball {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.5 18C127 18 20.91 124.1 20.91 254.6S127 491.1 257.5 491.1 494 385.1 494 254.6 388 18 257.5 18zm0 18.09c120.4 0 217.3 98.11 217.3 218.51 0 120.4-96.9 217.3-217.3 217.3S39 375 39 254.6 137.1 36.1 257.5 36.1zm1.7 21.25c-18.1 0-35.6 2.46-52.2 7.03 16.1-.1 32.3 2.14 48.2 6.5-6.8 5.03-11.2 13.11-11.2 22.22 0 15.31 12.4 27.61 27.6 27.61 8.5 0 16-3.7 21.1-9.7 1.1 10.6 7.7 19.6 16.9 24-14 11.3-23 28.7-23 48.1 0 34.1 27.6 61.7 61.6 61.7 24.6 0 45.8-14.3 55.7-35 26.6 67.2 20.2 139.2-14.6 190.3 40.4-35.9 66-88.3 66-146.7 0-108.2-87.8-196.05-196.1-196.05zM243.1 218.1c-16.6 0-30.1 13.5-30.1 30.1s13.5 30.1 30.1 30.1 30.1-13.5 30.1-30.1-13.5-30.1-30.1-30.1zm83.3 60c-22.6 0-41 18.3-41 40.9 0 22.6 18.4 41 41 41s40.9-18.4 40.9-41-18.3-40.9-40.9-40.9zm-97.6 34c-16.6 0-30.1 13.4-30.1 30.1 0 16.6 13.5 30.1 30.1 30.1s30.1-13.5 30.1-30.1c0-16.7-13.5-30.1-30.1-30.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Blackcurrant;

impl IconShape for Blackcurrant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.594 18.563V58.53c7.485 2.273 14.984 4.845 22.468 7.69L68.5 114.874c5.683 26.117 11.908 54.147 17.813 79.97-21.55 8.027-33.854 31.305-27.782 53.968 3.206 11.96 10.9 21.496 20.814 27.28 7.937 10.297 21.637 15.43 34.906 11.876 11.538-3.093 20.058-12.052 23.22-22.814.002-.01-.004-.02 0-.03 8.537-10.803 12.055-25.367 8.218-39.688-5.156-19.24-21.998-32.203-40.844-33.344-5.366-23.444-10.99-48.83-16.28-73.03l-1.22-33.408c30.25 15.585 60.09 35.02 88.875 56.875l4.343 55.69c-6.83 35.67-10.075 73.427-10.407 113.093-21.993 3.015-38.937 21.866-38.937 44.687 0 9.47 2.92 18.242 7.905 25.5.99 17.338 15.524 31.28 33.094 31.28 13.61 0 25.384-8.357 30.468-20.186 11.36-8.193 18.78-21.517 18.78-36.594 0-20.566-13.775-37.908-32.593-43.344.313-45.45 4.485-88.007 13.5-127.406l9.47-14.03c21.597 18.362 42.378 37.815 62.06 57.655 11.742 14.26 23.233 28.653 34.314 43.28l.717 27.845c-13.258 26.784-22.87 56.604-29.812 88.97-.136-.002-.27 0-.406 0-24.92 0-45.126 20.204-45.126 45.124 0 10.433 3.554 20.045 9.5 27.687 3.22 14.917 16.58 26.22 32.406 26.22 12.197 0 22.93-6.717 28.688-16.625 11.876-8.127 19.656-21.804 19.656-37.28 0-18.263-10.862-33.994-26.47-41.095 7.347-34.23 17.694-65.003 32-91.844 24.256 34.71 45.723 71.097 62.407 110.563-9.073 8.254-14.78 20.166-14.78 33.405 0 24.918 20.174 45.125 45.094 45.125 6.448 0 12.577-1.344 18.125-3.78.57.03 1.138.03 1.717.03 18.203 0 33.157-14.955 33.157-33.156 0-9.67-4.22-18.42-10.906-24.5C457.652 411.98 441.267 400 422.094 400c-4.895 0-9.588.808-14 2.25-27.012-63.12-65.47-118.074-107.406-170.156-.865-1.34-1.753-2.665-2.625-4l11.28-.22c35.023 11.645 69.823 29.045 104.782 51.22-7.48 8.053-12.063 18.83-12.063 30.687 0 19.23 12.026 35.63 28.97 42.126 6.072 8.022 15.686 13.25 26.437 13.25 18.2 0 33.155-14.955 33.155-33.156 0-2.52-.3-4.98-.844-7.344 1.63-4.662 2.5-9.657 2.5-14.875 0-24.917-20.173-45.124-45.092-45.124-5.735 0-11.204 1.08-16.25 3.03-40.628-26.45-81.445-47.002-123.094-59.905l-35.625-17.31c-22.56-31.125-47.177-60.864-74.283-88.907l33.125-3.594c36.963 3.423 73.42 8.288 108.875 17.124-2.533 5.64-3.937 11.886-3.937 18.47 0 21.402 14.91 39.306 34.906 43.936 5.554 4.192 12.44 6.688 19.875 6.688 18.203 0 33.19-14.955 33.19-33.157 0-.968-.074-1.924-.158-2.874 1.57-4.584 2.438-9.478 2.438-14.594 0-24.917-20.205-45.125-45.125-45.125-10.99 0-21.048 3.938-28.875 10.47-42.296-11.308-85.51-16.73-128.75-20.438l-65.813-15.657c-17.245-15.39-35.4-30.16-54.562-44.25h-81.53zm369.187 118c8.103 0 14.47 6.367 14.47 14.468 0 8.102-6.367 14.47-14.47 14.47-8.1 0-14.467-6.368-14.467-14.47 0-8.1 6.366-14.468 14.468-14.468zM106.095 241.438c6.262.14 11.842 4.33 13.562 10.75 2.097 7.824-2.424 15.62-10.25 17.718-7.826 2.097-15.622-2.394-17.72-10.22-2.095-7.825 2.425-15.62 10.25-17.717.98-.263 1.94-.44 2.908-.5.422-.028.832-.042 1.25-.032zM457.47 317.53c8.1 0 14.467 6.37 14.467 14.47 0 8.1-6.366 14.47-14.468 14.47-8.103 0-14.47-6.37-14.47-14.47 0-8.102 6.367-14.47 14.47-14.47zm-285.25 47.626c8.1 0 14.468 6.368 14.468 14.47 0 8.1-6.367 14.468-14.47 14.468-8.1 0-14.468-6.368-14.468-14.47 0-8.1 6.367-14.468 14.47-14.468zm269.717 73.72c8.102 0 14.47 6.367 14.47 14.468 0 8.1-6.367 14.47-14.47 14.47-8.102-.002-14.468-6.37-14.468-14.47 0-8.102 6.365-14.47 14.467-14.47zm-166.437 1.5c8.102 0 14.47 6.367 14.47 14.468 0 8.1-6.368 14.47-14.47 14.47-8.102-.002-14.47-6.37-14.47-14.47 0-8.102 6.368-14.47 14.47-14.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BladeBite;

impl IconShape for BladeBite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.156 20.313C234.83 20.68 200.582 27.262 166.72 39l-38 157.406h69.343c-15.01 36.837-4.96 78.375 10.687 106.875l18.656-53.092 20.688 57.75 21.344-53.188 21.343 53.875 21.345-58.438 18.656 53.75c17.64-32.01 20.863-75.52 10.69-107.53h68.686L372.126 39c-34.235-13.207-68.643-19.055-102.97-18.688zm-92.03 89.968c30.03 6.412 54.695 19.975 68.468 48.064l-80.438 7.22 11.97-55.283zm184.968 0l11.97 55.282-80.47-7.218c15.057-26.116 39.92-39.524 68.5-48.063zm-92.53 64.69l7.436 9.81 24.875 32.845-14.906 11.28-17.408-23-17.406 23-14.906-11.28 24.875-32.844 7.438-9.81zm-111.22 88.56c-8.722.466-15.596 7.306-16.375 15.75-7.667 15.248-13.552 32.2-17.282 49.595-20.84-14.368-45.416-17.32-72.47-12.688-2.37-6.773-8.79-11.656-16.374-11.656-9.596 0-17.375 7.783-17.375 17.376 0 9.596 7.778 17.375 17.374 17.375 4.55 0 8.684-1.762 11.78-4.624 22.983 15.99 47.52 21.57 73.314 18.688-2.213 23.685-.2 47.158 7 67.437.003.085-.005.167 0 .25.51 9.583 8.7 16.95 18.28 16.44 9.583-.512 16.918-8.7 16.407-18.283-.51-9.58-8.668-16.948-18.25-16.437-.687.037-1.37.137-2.03.25-2.313-10.577-3.27-22.23-3-34.313 104.047 15.61 281.137 29.332 353.936-46.656l-78.874-7.186c-82.512 16.06-176.916 16.633-268.656 8.28 2.278-8.837 5.128-17.454 8.5-25.593 1.87.563 3.876.83 5.938.72 9.58-.51 16.916-8.7 16.406-18.28-.51-9.583-8.668-16.95-18.25-16.44zm49.875 130.44c-18.96 23.825-18.032 45.48-18.282 71.467 55.972 21.582 108.007 19.906 160.406 0 2.66-28.217-2.896-51.03-19.688-70.843l-17 54.344-23.375-51.875-20.842 59.906-20.844-59.25-24.78 51.217-15.595-54.968z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BladeDrag;

impl IconShape for BladeDrag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M214.02 19.115l-.02.06c38.033 14.387 73.867 34.09 106.393 58.446L368.02 158.4C292.254 72.063 181.72 20.678 64.66 20.604c-14.96-.01-30.027.834-45.14 2.535v18.8c108.174-12.774 213.91 21.292 293.527 88.554l42.314 97.416C290.887 132.486 182.425 73.885 66.395 73.21c-2.45-.013-4.9-.002-7.357.036-13.106.2-26.297 1.157-39.522 2.87v18.85c98.998-13.552 196.12 18.532 267.11 82.264l30.708 87.82C263.412 179.47 168.852 126.394 67.348 125.36c-15.818-.162-31.804.958-47.83 3.398v18.914c93.33-15.18 185.38 18.05 247.677 83.27l20.694 83.917C246.555 230.42 160.67 176.716 67.7 175.423c-1.256-.018-2.514-.025-3.774-.024-14.688.02-29.54 1.36-44.408 4.084v19.036c89.513-17.794 178.655 19.16 230.357 89.468l4.62 73.348c-28.973-83.013-107.888-136.692-193.257-135.87-13.8.132-27.768 1.693-41.72 4.78v19.188c77.22-18.904 155.333 13.983 197.095 77.14l5.873 57.49c23.33-6.283 47.534-13.218 68.727-20.873 19.194-6.93 35.884-14.525 46.596-22.038 5.354-3.756 9.142-7.478 11.174-10.574 2.033-3.096 2.47-5.184 2.098-7.59l-1.252-8.123 137.074-39.556C446.897 159.92 363.67 69.964 260.654 19.114H214.02zm278.86 273.922l-40.196 11.6c1.63 18.66-4.666 36.567-16.397 52.043-14.18 18.707-35.934 34.627-62.363 48.257-45.23 23.33-104.45 39.877-164.397 47.97l4.38 16.35c68.63-7.66 143.34-22.038 198.17-48.538 30.517-14.75 54.633-33.123 68.722-55.33 12.74-20.084 17.775-43.384 12.08-72.353zm-58.513 16.885l-65.027 18.765c-.736 4.345-2.345 8.51-4.733 12.147-3.925 5.98-9.462 10.986-16.068 15.62-13.213 9.266-30.996 17.098-50.978 24.316-31.927 11.53-68.41 20.998-99.558 29.134l6.644 24.79c59.027-7.79 117.64-24.153 160.71-46.366 24.828-12.805 44.388-27.573 56.037-42.94 8.804-11.614 13.283-23.135 12.972-35.466zm-261.754 77.43l-33.033 8.85 8.197 30.59c10.812 3.95 18.623 14.38 18.623 26.485 0 6.87-2.52 13.2-6.673 18.114l4.716 17.6 33.034-8.85-24.864-92.788zM138.22 443.79c-1.49 0-2.88.33-4.12.91l-75.6 20.255c2.926 4.706 4.625 10.24 4.625 16.14 0 .67-.03 1.33-.072 1.987l75.96-20.352c4.96-.386 8.698-4.37 8.698-9.453 0-5.35-4.138-9.488-9.49-9.488zM32.327 468.985c-6.798 0-12.11 5.312-12.11 12.11 0 6.798 5.312 12.11 12.11 12.11 6.798 0 12.111-5.312 12.111-12.11 0-6.798-5.313-12.11-12.11-12.11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BladeFall;

impl IconShape for BladeFall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.51 19.81c-6.54 32.78-19.9 70.58-34.1 104.99v46.7C40.72 127.4 64.32 69.46 73.56 19.81zm74.49 0c22.6 35.58 18.2 82.49-2 137.49-2.7 7.4-5.7 14.9-8.9 22.5 12.5-14.4 24.5-29.5 35.8-45.1 11.7-42.17 13.1-81.58-3.5-114.89zm110.6 2.33l-4.8 12.61C193.4 141.4 113.3 218.8 20.41 292v23.7C115.3 242.1 200.5 163.5 246.8 54.3c23.2 23.64 33.8 46.7 35.7 69.9 2.1 26.2-6.9 53.4-24.6 81.8-9.5 15.3-21.4 30.8-35.2 46.5 13.8-6.5 27.3-13.4 40.5-20.7 3.7-5.3 7.3-10.6 10.6-15.9 18.9-30.5 29.9-61.7 27.3-93.2-2.6-31.49-18.9-62.4-51.4-91.53-3.4-3.01-6.7-6.01-10.1-9.03zM389 162l-9.5 9.4c-86.4 84.5-239.1 139.5-359.09 171.9v19.3C138.1 331.3 288.9 278.9 382.5 194c11.7 31 12.1 56.5 4.5 78.6-7 20.2-21.1 38-40.9 54.1 14.3-5.1 28.2-10.5 41.6-16.2 7.2-9.8 13-20.4 16.9-31.8 10.4-29.9 7.9-64.7-10.1-104.5-1.8-4.1-3.6-8.1-5.5-12.2zm94.5 121.5l-11 7.3c-41.3 24.8-82.7 40.1-120.3 53.6-107.7 35.2-242.6 57.9-331.79 65.4v60.3C130.5 462.4 442.3 453.5 473 325.5c3 27.1-1.6 48.6-11.9 66.6-13.3 23.1-36.6 40.8-67.7 54.6-61.9 27.4-153.5 38.4-245.8 48.2h143.7c40.6-7.4 78.1-17.1 109.7-31.2 33.4-14.8 60.4-34.6 76.3-62.3 15.9-27.7 19.9-62.7 9.4-105.1-1.1-4.2-2.2-8.5-3.2-12.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BleedingEye;

impl IconShape for BleedingEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.344 28.938c-89.18-.037-174.996 44.27-222.656 133 21.242 38.834 45.078 64.08 54.374 100v49.968C73.3 322.043 66 329.11 66 340.312c0 9.09 11.63 18.094 21.03 18.094 9.198 0 21.597-9.677 21.595-19.25 0-11.367-7.31-17.81-11.875-27.03v-32.282c16.002-32.16 81.357-9.403 105.844 45.625v80.592c-6.364 10.477-13.625 16.953-13.625 28.875 0 17.885 11.763 24.5 23.936 24.5 11.907 0 21.594-5.66 21.594-24.5 0-9.298-7.442-16.634-13.22-31.062V325.72c15.678-36.473 54.92-20.136 71.657 31.25v74.842c-5.41 10.498-11.718 19.456-11.718 32.313 0 12.927 10.045 22.188 21.03 22.188 10.744 0 22.188-9.728 22.188-23.344 0-14.448-7.098-23.414-12.813-34.564v-84.562h-.22c15.34-65.977 52.293-101.43 68.75-52.594v59.78c-4.457 8.957-9.56 17.375-9.56 29.595 0 13.944 9.553 23.938 18.686 23.938 9.338 0 18.095-9.543 18.095-22.782 0-10.83-4.347-19.014-8.53-27.56V284.31c19.988-69.842 66.447-87.325 90.31-122.375-61.083-88.583-153.632-132.963-242.81-133zm.437 22c81.74-.606 166.08 37.776 216.126 115.906-149.813 108.407-280.244 108.6-412.969-4.938 40.834-73.15 117.62-110.38 196.844-110.97zm4.69 16.03c-44.972 0-81.407 36.468-81.407 81.438s36.435 81.406 81.406 81.406c44.97 0 81.436-36.434 81.436-81.406 0-44.97-36.467-81.437-81.437-81.437zm-.532 49.063c16.13 0 29.187 13.06 29.187 29.19 0 16.13-13.057 29.218-29.188 29.218-16.13 0-29.218-13.09-29.218-29.22s13.087-29.187 29.218-29.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BleedingHeart;

impl IconShape for BleedingHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.438 18.594L207.313 87.97c-51.705 15-93.266 51.876-115.188 99.06l-73.406 9.814 58 43.094c-1.834 13.845-2.095 28.103-.626 42.593 1.892 18.672 6.55 36.403 13.5 52.845l-33.563 63.22 62.69-15.97c10.04 11.805 21.53 22.302 34.155 31.22l4.063 72 44.656-47.5c3.523 1.154 7.08 2.212 10.687 3.155v51.094h18.69v-47.25c9.448 1.436 19.105 2.11 28.905 2.03v45.22h18.688V446.28c16.735-1.836 32.71-5.878 47.656-11.81l48.31 30.5 1.814 2.186v25.438h18.687V460.5l-2.092-2.563-12.594-15.437-8.47-34.344c19.613-15.464 35.89-34.777 47.813-56.687l67.438 2.655-49.313-51.406c3.958-18.31 5.146-37.53 3.157-57.158-1.816-17.9-6.148-34.947-12.626-50.812l.75 1.063 45.094-59.063-73.094 12.03c-33.67-41.52-84.87-67.627-140.97-68.06l-32.687-62.126zm31.343 80.78c18.82 0 37.02 3.223 54.033 9.157l4.625 40.595 34.187-20.97c38.577 26.43 65.657 69.033 70.75 119.282.18 1.775.346 3.546.47 5.313l-48.283 16.125 45.188 29.03c-8.816 42.143-33.876 78.896-68.97 102.626V235.75c1.017-6.205 1.21-12.552.408-19.03-7.203-58.14-80.477-59.517-100.844-6.75-36.378-45.1-100.77-19.982-93.656 37.186 3.574 28.718 29.094 49.678 55.593 67.22v107.78C157.405 406.133 113.557 362.12 99 305l29.72-24.97-34.814-21.405c.983-31.41 10.888-60.917 27.47-85.813l41.31 3.782-15.81-33.625c25.302-23.35 58.116-39.006 95.06-42.75 5.663-.575 11.276-.845 16.845-.845zm73.314 178.94v133.123c-16.367 8.158-34.377 13.722-53.53 16.063l-.002-79.063c10.236-20.103 35.553-43.51 53.532-70.125zM230.97 326.31c10.877 6.818 21.026 13.216 28.905 19.5v82.907c-9.82.093-19.493-.698-28.906-2.283V326.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BleedingWound;

impl IconShape for BleedingWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M26.996 47.947c11.726 44.806 56.176 129.96 67.496 242.934-6.597 76.494-22.66 98.81-22.66 152.74 0 27.602 11.33 38.038 23.254 38.038 11.662 0 23.72-11.823 23.72-40.896 0-56.606-16.937-73.84-23.283-151.65 6.472-83.65 59.715-45.933 59.715 2.765 0-112.652 101.99-85.16 116.024-34.77-5.164 35.11-15.028 45.947-15.028 75.368 0 16.633 8.51 28.86 16.74 28.86 8.416 0 16.41-11.433 16.41-27.226 0-27.953-9.303-41.066-14.515-75.825 15.447-37.68 115.544-34.583 115.845-1.754-3.41 26.414-12.764 32.13-12.764 51.16 0 9.714 6.58 16.855 12.943 16.855 6.506 0 12.685-6.677 12.685-15.9 0-18.435-9.164-25.838-12.596-52.854 14.138-49.16 86.57-19.867 92.008-73.298-51.22 45.91-357.175 26.76-455.994-134.545zm128.85 266.22c-4.676 31.802-17.635 40.28-17.635 61.724 0 10.642 8.592 18.346 17.636 18.346 8.844 0 17.988-8.24 17.988-19.45 0-22.338-13.464-28.757-17.988-60.62z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BloodyStash;

impl IconShape for BloodyStash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M244.188 21.97C347.89 119.18 428.1 216.274 494.717 304.06V191.656c-7.062-6.39-14.155-12.677-21.343-18.844 2.986-3.465 4.813-7.972 4.813-12.906 0-10.927-8.855-19.78-19.782-19.78-6.285 0-11.875 2.96-15.5 7.53-43.25-34.448-88.287-64.956-134-91.312 1.006-2.025 1.594-4.274 1.594-6.688 0-8.35-6.773-15.125-15.125-15.125-5.416 0-10.142 2.848-12.813 7.126-12.764-6.883-25.567-13.452-38.375-19.687zM104.625 40.093c5.11 5.177 10.18 10.36 15.22 15.593-4.225 1.173-7.38 4.29-8.345 9-1.812 8.844 4.727 19.92 14.625 24.72 3.642 1.766 7.237 2.42 10.406 2.124-2.535 4.11-4 8.974-4 14.157 0 14.89 12.05 26.938 26.94 26.938 8.68 0 16.41-4.097 21.343-10.47 88.686 101.2 165.598 208.4 235.156 306.72-7.4 6.047-12.126 15.23-12.126 25.53 0 18.213 14.756 32.97 32.97 32.97 6.274 0 12.13-1.77 17.123-4.813 3.086 4.354 6.193 8.76 9.25 13.063h31.532V381.28c-41.357-69.223-154.77-193.34-184.533-213.31 24.14 33.4 45.1 64.336 64.813 94.03-87.49-95.75-183.443-179.588-270.375-221.906zm-28.22 15.25c-1.868.086-3.736.548-5.53 1.406-7.176 3.433-10.214 12.042-6.78 19.22 3.432 7.175 12.04 10.213 19.218 6.78 7.176-3.433 10.214-12.042 6.78-19.22-2.574-5.38-8.08-8.445-13.687-8.186zm355.75 20.375c-1.454.05-2.858.357-4.155.968-6.918 3.256-8.265 13.625-3 23.156 5.265 9.53 15.144 14.632 22.063 11.375 6.918-3.258 8.264-13.627 3-23.157-4.278-7.744-11.6-12.56-17.907-12.344zm-151.124 35.25c-1.983.123-3.845.72-5.436 1.78-6.366 4.236-6.168 14.688.437 23.344 6.607 8.655 17.104 12.236 23.47 8 6.366-4.236 6.168-14.688-.438-23.344-4.954-6.492-12.078-10.155-18.03-9.78zM25.19 149.28c91.018 100.043 158.696 190.397 212 271.595-8.48-1.364-18.445 4.948-20.25 13.594-6.22 29.777 12.896 53.913 47.593 61.155H390.19c-97.972-139.74-234.782-282.95-365-346.344zm30.03 101.845c-3.807.078-7.195 1.333-9.406 3.844-5.052 5.738-2.15 15.785 6.47 22.436 8.62 6.65 19.697 7.396 24.75 1.656 5.052-5.74 2.182-15.786-6.438-22.437-4.85-3.74-10.48-5.6-15.375-5.5zm47.188 38.125c-14.89 0-26.937 12.048-26.937 26.938 0 14.89 12.047 26.968 26.936 26.968 14.89 0 26.97-12.08 26.97-26.97 0-14.888-12.08-26.936-26.97-26.936zm79.72 103.47c-10.928 0-19.782 8.853-19.782 19.78 0 10.927 8.854 19.78 19.78 19.78 10.928 0 19.782-8.853 19.782-19.78 0-10.927-8.854-19.78-19.78-19.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BloodySword;

impl IconShape for BloodySword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M35.143 35.8c-5.796-.14-11.483 2.82-14.575 8.212-4.497 7.84-1.8 17.85 6.026 22.355 4.804 2.767 10.42 2.805 15.086.615l68.558 39.375-29.797 51.957 28.51 16.49c6.374-49.47 27.945-90.184 68.726-119.837l-28.51-16.492-29.63 51.67-68.522-39.352c-.44-5.166-3.31-10.04-8.135-12.818-2.446-1.408-5.103-2.113-7.737-2.176zm153.093 71.632l-37.892.642 251.484 144.74-9.322 16.198-253.45-145.87 19.89 35.135c3.916 1.873 29.888 14.392 59.775 33.858 30.715 20.005 64.022 44.997 74.397 74.703 4.567 2.27 31.488 15.496 69.58 27.764 37.96 12.224 84.088 21.654 119.912 15.58-12.992-35.507-44.6-70.15-74.456-95.995-27.686-23.965-52.14-39.656-59.117-43.998-30.91 5.99-69.19-10.66-101.86-27.53-31.63-16.333-55.295-32.69-58.94-35.228zm-26.992 72.9c5.623 17.433 10.356 39.574 14.51 64.59v77.287h18.687v-42.12c14.672-28.54 40.948-3.137 50.7 53.53v161.003h18.688V335.87c12.62-13.188 27.91 3.7 38.975 32.24v35.175h18.69v-25.707c17.057-20.727 46.446-5.688 59.93 49.102v66.888h18.688v-67.07c17.575-58.125 49.153-84.382 74.394-96.3-38.7 3.766-81.725-6.276-117.537-17.81-42.97-13.838-75.7-30.45-75.7-30.45l-3.72-1.887-1.078-4.027c-5.46-20.368-36.988-48.063-67.95-68.228-18.276-11.905-35.828-21.51-47.276-27.463zm23.854 181.48c-11.643 0-21.08 9.438-21.08 21.08 0 11.644 9.437 21.08 21.08 21.08 11.643 0 21.08-9.436 21.08-21.08 0-11.642-9.437-21.08-21.08-21.08zm283.754 7.53s-21.08 52.667-21.08 64.31 9.437 21.08 21.08 21.08c11.643 0 21.08-9.437 21.08-21.08 0-11.643-21.08-64.31-21.08-64.31zM312.15 426.11c-11.643 0-21.082 9.436-21.082 21.08 0 11.642 9.44 21.08 21.082 21.08 11.643 0 21.08-9.438 21.08-21.08 0-11.644-9.437-21.08-21.08-21.08z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Blunderbuss;

impl IconShape for Blunderbuss {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375.563 15.344c-3.744-.036-7.46.797-10.875 2.906-6.406 3.954-9.283 10.876-10.188 17.875v.03c-58.905 99.84-141.287 150.724-234.53 208.19-17.742 7.012-29.062 20.612-34.19 35.155-15.89-5.312-23.478-17.805-22.968-25.313l-18.656-1.28c-1.278 18.792 13.092 36.91 35.688 44.312l-1.656.5c-36.15 26.775-70.78 89.097-39.688 163.31 6.443 15.38 17.065 24.21 29.625 28.908 12.56 4.697 27.19 4.848 40 1.468 12.81-3.38 23.52-10.32 28.813-18.094 5.29-7.773 6.53-15.74.062-27.03-13.84-24.154-28.63-50.166-24.5-77.282 28.037 16.267 58.335 11.598 77.156-5.563 19.28-17.577 26.135-48.276 10.125-77.593 79.474-47.578 156.44-86.004 256.064-92.094 3.965.776 8.044.766 11.906-.53.022-.01.04-.025.063-.032.688-.024 1.37-.042 2.062-.063l-.375-.594c.75-.336 1.494-.707 2.22-1.155 6.83-4.218 9.65-11.82 10.342-19.28.693-7.463-.39-15.725-2.687-24.907-4.592-18.366-14.277-40.386-28.125-62.782-13.848-22.396-29.212-40.93-43.594-53.25-7.19-6.16-14.108-10.812-21.094-13.53-3.492-1.36-7.256-2.246-11-2.282zM375.188 34c.148-.01.326-.01.53 0 .82.043 2.094.296 4.063 1.063 3.94 1.532 9.573 5.047 15.72 10.312 12.293 10.53 26.843 27.85 39.844 48.875 13 21.026 21.982 41.773 25.906 57.47 1.962 7.846 2.61 14.454 2.22 18.655-.39 4.2-1.468 5.066-1.564 5.125-.095.06-1.343.595-5.28-.938-3.94-1.532-9.542-5.047-15.688-10.312-12.294-10.53-26.874-27.85-39.875-48.875-13.002-21.026-21.983-41.773-25.907-57.47-1.962-7.846-2.577-14.454-2.187-18.655.39-4.2 1.435-5.035 1.53-5.094.036-.022.24-.125.688-.156zM187.155 302.875c7.386 19.413 1.56 36.125-10.094 46.75-13.57 12.373-35.423 16.472-58.468 1.156 4.427-8.25 11.1-16.105 20.22-23.217 11.695-9.123 27.59-17.28 48.342-24.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoarTusks;

impl IconShape for BoarTusks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179 121.563c-12.274 0-22.25 9.944-22.25 22.218 0 12.275 9.976 22.25 22.25 22.25s22.22-9.975 22.22-22.25c0-12.273-9.946-22.218-22.22-22.218zm163.125 0c-12.274 0-22.22 9.944-22.22 22.218 0 12.275 9.946 22.25 22.22 22.25s22.22-9.975 22.22-22.25c0-12.273-9.946-22.218-22.22-22.218zm-85.156 62.312c-23.045 0-33.798 12.104-47.44 29.188-13.64 17.083-28.726 38.97-57.31 48.593-13.173 4.435-18.553 11.14-20.876 19.97-2.324 8.827-.713 20.65 4.53 32.937 10.488 24.57 35.417 49.49 57.157 55.906 42.063 12.412 84.4 12.683 127.94 0 28.555-8.322 49.03-32.707 56.5-56.72 3.733-12.007 4.11-23.718 1.374-32.78-2.738-9.064-7.992-15.624-17.625-19.533-27.88-11.31-43.253-32.79-57.19-49.437-13.934-16.646-24.976-28.125-47.06-28.125zM66.905 214.28C7.44 271.357 3.186 341.1 64.28 390.845c52.883 43.054 111.193 30 143.314 2.562-6.635-1.387-13.253-3.055-19.844-5-21.202-6.257-40.77-22.238-54.875-41.656-51.514 4.825-93.266-52.765-65.97-132.47zm378.813 0c26.9 78.553-13.272 135.643-63.75 132.657-12.593 18.7-31.603 34.424-55.783 41.47-7.003 2.04-13.984 3.767-20.968 5.187 32.17 27.31 90.363 40.206 143.124-2.75 61.096-49.746 56.84-119.488-2.625-176.563zM230.06 228.063c.314.013.62.048.907.125 18.405 4.934 26.124 123.375-32.782 123.375-57.986 0 12.113-124.317 31.875-123.5zm52.75 0c19.762-.817 89.83 123.5 31.844 123.5-58.906 0-51.156-118.44-32.75-123.375.288-.077.593-.112.906-.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BodySwapping;

impl IconShape for BodySwapping {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.375 18.438c-19.615 0-36.445 9.542-47.594 24-11.147 14.457-17.093 33.652-17.093 54.25 0 17.877 4.543 35.74 12.626 50.124-11.008 4.402-20.228 11.397-27.5 20.125-9.997 11.997-16.583 27.02-21.126 43.5-9.085 32.964-10.125 72.204-10.125 107.594v9.345H61.595l9.968 154.78.563 8.75h116.53l.564-8.75 9.936-154.78h42.063v-9.344c0-35.39-1.04-74.63-10.126-107.592-4.543-16.482-11.13-31.504-21.125-43.5-7.27-8.723-16.504-15.723-27.5-20.125 8.08-14.385 12.624-32.25 12.624-50.125 0-20.598-5.977-39.793-17.125-54.25-11.15-14.458-27.98-24-47.595-24zm247.406 0c-19.614 0-36.444 9.542-47.592 24-11.15 14.457-17.094 33.652-17.094 54.25 0 17.877 4.542 35.74 12.625 50.124-11.01 4.402-20.228 11.397-27.5 20.125-9.998 11.997-16.584 27.02-21.126 43.5-9.086 32.964-10.156 72.204-10.156 107.594v9.345H309l9.938 154.78.562 8.75h116.438l.656-8.624 11.875-154.905h40.155v-9.344c0-35.39-1.07-74.63-10.156-107.592-4.544-16.482-11.13-31.504-21.126-43.5-7.273-8.73-16.493-15.724-27.5-20.125 8.082-14.386 12.625-32.248 12.625-50.125 0-20.598-5.947-39.793-17.095-54.25-11.148-14.458-27.98-24-47.594-24zM130.376 37.124c13.76 0 24.63 6.107 32.813 16.72 8.183 10.61 13.218 25.89 13.218 42.843 0 18.663-6.887 38.59-15.97 49.53l-10.124 12.188 15.594 2.938c12.812 2.408 22.058 8.406 29.688 17.562 6.238 7.487 11.222 17.262 15.062 28.656l-13.22 101.125h-14.75l-12.217-97.312-19.845 163.53-21.03-163.53-18.69 155.938L90.47 211.375l-11.72 97.313H61.812l-12.53-98.563c3.937-12.5 9.17-23.174 15.874-31.22 7.63-9.155 16.907-15.153 29.72-17.56l15.593-2.94-10.126-12.218c-9.083-10.94-15.97-30.836-15.97-49.5 0-16.95 5.037-32.23 13.22-42.843 8.182-10.612 19.02-16.72 32.78-16.72zM457.97 207.313c.888 2.62 1.73 5.307 2.5 8.093 7.436 26.984 9.094 60.96 9.342 93.28l-24.78.002 12.937-101.375zm-120.033 4.062l20.157 155.938 18.97-155.938 20.748 163.53L418 211.376l12.813 102.03-.313 3.908-11.875 154.906H337.03l-9.936-154.783-.563-8.75h-.436l11.844-97.312zM296 212.22l12.75 96.468h-23c.248-32.322 1.906-66.298 9.344-93.282.296-1.074.592-2.137.906-3.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoilingBubbles;

impl IconShape for BoilingBubbles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.78 78.688c-96.69 0-175.343 78.72-175.343 175.468 0 12.63 6.202 24.213 15.813 33.75 9.61 9.537 22.727 17.488 38.53 24.125 31.61 13.275 74.124 21.158 121 21.158 8.047 0 15.966-.236 23.72-.688 1.125 1.65 2.437 3.157 3.844 4.5 4.3 4.107 9.682 7.19 15.937 9.72 12.512 5.056 28.642 7.874 46.407 7.874 17.766 0 33.865-2.818 46.375-7.875 6.256-2.53 11.67-5.613 15.97-9.72 4.3-4.107 7.656-9.77 7.656-16.28 0-9.865-2.202-19.213-6.125-27.658 2.032-1.67 3.957-3.378 5.75-5.156 3.39-3.363 6.33-6.984 8.75-10.812.988.01 1.974.03 2.968.03 31.826 0 60.67-5.25 82.408-14.28 10.868-4.516 20.016-9.954 26.875-16.688 6.858-6.734 11.562-15.283 11.562-24.72 0-66.047-54.29-119.75-120.844-119.75-22.145 0-42.93 5.945-60.81 16.314-30.172-24.555-68.606-39.313-110.44-39.313zm0 18.687c86.573 0 156.657 70.14 156.657 156.78 0 6.61-3.084 13.33-10.28 20.47-.885.878-1.81 1.783-2.813 2.656-12.89-14.89-32.22-24.342-53.656-24.342-36.025 0-66.126 26.71-69.657 61.03-6.635.352-13.385.532-20.25.532-44.753 0-85.266-7.727-113.75-19.688-14.24-5.98-25.427-13.046-32.624-20.187-7.196-7.14-10.28-13.86-10.28-20.47 0-86.642 70.083-156.78 156.655-156.78zm171.25 23c56.543 0 102.158 45.226 102.158 101.063 0 3.35-1.538 7.024-5.97 11.375-4.43 4.35-11.623 8.88-20.937 12.75-17.818 7.404-43.217 12.42-71.405 12.843.155-1.403.25-2.818.25-4.25 0-31.565-8.36-61.223-23-86.844 13.78-3.103 23.656-11.57 23.656-21.5 0-11.298-12.783-20.666-29.56-22.437 7.942-1.955 16.246-3 24.81-3zm-193.967 5.875c-36.642 0-66.344 18.525-66.344 41.344 0 22.818 29.7 41.312 66.343 41.312 36.64 0 66.343-18.494 66.343-41.312 0-22.82-29.702-41.344-66.344-41.344zm320.312 137c-30.4 23.526-70.607 32.934-110.406 36.53l-12.814 1.158 5.063 11.843c7.44 17.37 4.932 28.445-3.22 38.19-8.152 9.742-23.698 17.64-42.844 21.874-38.29 8.47-89.822 1.9-118.094-17.47l-2.906-1.968-3.47.406c-60.5 7.144-128.014-12.125-186.56-44.968v185.22l118.905-.002c-2.954-8.158-2.075-17.375 2.626-24.906-18.91 7.375-41.197 3.46-56.47-11.812-20.595-20.597-20.595-53.997 0-74.594 10.3-10.298 23.785-15.438 37.283-15.438 13.496 0 26.982 5.14 37.28 15.438 20.2 20.2 20.575 52.7 1.156 73.375 8.9-1.583 18.404 1.03 25.28 7.906 8.12 8.12 10.332 19.903 6.658 30.033h302.53V263.25zm-207.688 8.375c28.617 0 51.313 22.084 51.313 49.094 0 .256-.033 1.02-1.875 2.78-1.842 1.76-5.337 3.965-10.063 5.875-9.45 3.82-23.653 6.53-39.375 6.53-15.72 0-29.956-2.71-39.406-6.53-4.724-1.91-8.188-4.115-10.03-5.875-1.842-1.76-1.906-2.524-1.906-2.78 0-9.827 3.014-18.993 8.22-26.69 4.427 5.18 12.748 8.69 22.28 8.69 14.18 0 25.656-7.73 25.656-17.25 0-5.527-3.887-10.44-9.906-13.595 1.678-.157 3.37-.25 5.094-.25zm131.47 107.688c8.272 0 16.53 3.157 22.843 9.468 12.623 12.625 12.623 33.097 0 45.72-12.623 12.623-33.064 12.623-45.688 0-12.623-12.623-12.623-33.095 0-45.72 6.312-6.31 14.572-9.467 22.844-9.467zm-200.032 28.75c5.92 0 11.828 2.265 16.344 6.78 9.03 9.033 9.03 23.656 0 32.688-9.033 9.033-23.688 9.033-32.72 0-9.032-9.03-9.032-23.654 0-32.686 4.516-4.516 10.456-6.78 16.375-6.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bolas;

impl IconShape for Bolas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M213.43 21.54c-46.155.27-91.59 9.917-126.184 27.747 35.44-4.564 67.766-4.785 96.442-1.312-14.38 5.39-28.077 12.13-40.72 20.013 45.897-11.947 96.025-13.915 138.58-4.474-39.536 4.256-73.158 12.716-100.536 24.37 70.373-10.442 131.843 17.4 167.558 73.458 6.998-9.104 15.812-17.02 26.29-23.135 13.58-7.923 28.375-11.89 43.064-12.26 2.498-.063 4.993-.008 7.478.135-24.215-41.376-57.388-67.313-93.865-80.943-19.67-8.972-41.355-15.86-64.205-19.525l.004-.015c-17.675-2.837-35.846-4.167-53.906-4.06zM420.912 144.49c-.8-.005-1.6.004-2.4.026-11.645.32-23.394 3.506-34.233 9.83-20.347 11.87-32.83 32.164-35.635 54.002 2.672-.85 5.51-1.31 8.447-1.31 15.503 0 28.27 12.77 28.27 28.273 0 13.33-9.44 24.63-21.94 27.54 21.866 28.454 61.394 36.848 93.125 18.334 34.684-20.236 46.558-64.938 26.494-100.058-13.363-23.393-37.35-36.482-62.128-36.638zm-63.82 81.238c-1.88 0-3.6.52-5.057 1.41l-30.672 10.604 6.037 17.686 30.592-10.578c4.96-.436 8.682-4.44 8.682-9.54 0-5.402-4.18-9.582-9.582-9.582zm-53.39 18.122l-36.835 12.736 6.037 17.687 36.834-12.738-6.037-17.685zM91.005 259.385c-.8-.005-1.6.003-2.4.025-11.646.32-23.394 3.504-34.233 9.828-34.684 20.237-46.558 64.94-26.494 100.06 10.792 18.892 28.517 31.05 47.99 35.114 17.308 17.118 36.44 31.05 56.63 42.098 20.84 14.38 43.545 22.827 66.818 26.23-30.582-20.555-50.59-46.054-52.867-69.185 53.748 60.732 145.74 81.982 216.568 61.55 32.046-11.658 57.986-29.305 73.025-51.087-61.803 27.515-125.787 31.27-181.826 16.44 19.368-5.92 36.6-13.626 51.6-22.862-58.266 9.763-109.74-12.115-144.66-59.055 3.792-17.256 1.442-35.952-8.022-52.52-13.364-23.39-37.35-36.48-62.13-36.635zm158.197 3.31l-34.383 11.89 6.037 17.686 34.383-11.887-6.037-17.688zM197.16 280.69l-26.17 9.05c2.952 5.635 5.264 11.454 6.96 17.37l25.247-8.73-6.037-17.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltEye;

impl IconShape for BoltEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.12 66.45c-86.344-.825-168.94 54.43-231.636 157.583 142.248 147.99 316.073 144.962 471.508 0-74.337-106.54-158.758-156.806-239.87-157.582zm11.734 21.282c57.37 3.81 102.726 51.543 102.726 109.877 0 60.822-49.306 110.126-110.13 110.126-60.82 0-110.126-49.304-110.126-110.127 0-39.058 20.334-73.364 50.99-92.917l39.778 64.233-60.69 6.746 124.23 109.066-44.343-89.78 60.33-7.673-52.766-99.553zm-243.37 173.48c6.764 25.905 19.346 48.295 36.182 67.142L34.148 363.63 49.698 374l21.42-32.13c9.303 8.407 19.537 15.958 30.534 22.634l-18.06 38.81 16.945 7.885 17.522-37.656c12.11 6.054 24.937 11.168 38.274 15.345l-13.64 40.816 17.724 5.925 13.947-41.738c13.677 3.323 27.766 5.714 42.067 7.166l-2.315 42.582 18.66 1.015 2.297-42.24c14.223.63 28.56.35 42.826-.848l3.83 43.338 18.614-1.644-3.867-43.776c14.068-1.983 27.98-4.87 41.54-8.67l14.883 44.698 17.733-5.904-14.78-44.395c12.946-4.517 25.475-9.915 37.413-16.19l19.543 42.125 16.952-7.866-20.225-43.594c10.597-6.627 20.6-14.024 29.87-22.194L463.688 374l15.56-10.35-26.17-39.35c16.938-17.922 30.633-38.94 39.912-63.09-155.435 133.35-329.26 136.136-471.508 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltSaw;

impl IconShape for BoltSaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.262 17.338l-.004.002 14.6 33.287L34.74 64.645l46.723 45.552L14.3 183.783l43.804 16.936-9.344 105.706 48.474-8.176 51.393 121.475 26.28-29.786 95.197 94.61 2.335-36.208 112.714 44.967-19.27-43.218 104.538-15.184-42.633-40.883 66.577-72.418-50.224-19.27 8.76-106.876-52.56 8.76L348.946 81.58l-25.695 29.785-89.354-88.77-2.337 39.714-113.298-44.97zm144.8 100.435l52.75 54.9 10.428-26.282 25.125 84.682 19.008-13.43-14.63 63.073 35.02-2.336-50.077 50.225 36.066 17.518.006-.002-.002.005-.004-.002-63.086 14.6 17.443 24.53-79.653-25.698 4.516 32.123-51.422-53.147-11.575 28.618-24.38-82.93-26.116 18.688 17.448-74.754-37.942 2.336 49.354-49.64-35.043-16.938 72.998-16.935-19.215-26.866 76.87 25.113-3.89-27.45zm-23.345 95.846c-14.81 0-18.424 16.9-8.074 37.75 10.35 20.848 30.742 37.747 45.55 37.747 14.81 0 18.424-16.9 8.075-37.748-10.35-20.85-30.742-37.75-45.55-37.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoltShield;

impl IconShape for BoltShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.53 75.188l.064 11.75C105.387 196.84 154.647 306.933 252 401l6.5 6.28L265 401c96.765-93.853 146.975-204.032 147.844-314.063l.094-11.718-11.47 2.53c-80.262 17.713-205.254 17.923-285.468 0l-11.47-2.563zm33.907 32.468l11.438 2.563c60.965 13.62 156.674 13.463 217.688 0l11.468-2.532-.092 11.718c-.67 84.917-39.46 169.857-113.907 242.063l-6.467 6.28-6.5-6.28C177.16 289.095 139.113 204.213 138.5 119.405l-.063-11.75zm221.407 22.97c-60.417 11.242-141.785 11.386-202.25.03 3.59 73.105 36.766 146.23 100.937 210.844 63.845-64.506 97.625-137.755 101.314-210.875zm-340.22 136.5L123 433.468l17.906-51.314 96.188 88.156L133.72 303.97l-17.907 51.31-96.188-88.155zm470.532 0l-96.22 88.155-17.873-51.31L272.656 470.31l96.188-88.156 17.906 51.313 103.406-166.345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BolterGun;

impl IconShape for BolterGun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M406.125 71.563v28.812h-285.25L68.312 153.5v76.97L22 403.312l94.438 25.312 12.062-45.03-37.125-9.97 26.844-59h148.936v.094h174.53l.002-214.345h-16.875V71.562h-18.688zm54.25 55.968v52.814h34.156V127.53h-34.155zm-161.406 8.064h108.81v32.97H298.97v-32.97zM152.75 238.78h25.438l34.187 41.345 6.125-41.344h48.656v57.157H126.75l26-57.156zm143.72 94.47v38.938h114.155V333.25h-17.063v23.53h-18.687v-23.53h-42.28v23.53h-18.69v-23.53H296.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BombingRun;

impl IconShape for BombingRun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288.625 19.625C252.95 45.54 233.16 81.95 226.655 126.938l41.095 23.687c9.348-5.82 17.33-12.415 24.22-19.656 4.383 22.757 20.633 45.578 39.874 56.686l65.5 37.813c24.465 14.124 54.433 9.697 73.812-8.907l7.97 4.593 17.312-30-7.938-4.594c6.426-26.087-4.752-54.28-29.22-68.406l-65.5-37.812c-19.76-11.41-48.63-13.89-70.78-5.53 2.947-10.077 5.108-20.605 6.688-31.47l-41.063-23.72zm12.313 174.97c-49.957 19.17-84.558 55.62-106.313 106.31l40.688 40.72c12.79-3.888 24.24-9.11 34.593-15.438-2 28.05 9.847 59.878 28.906 78.938l64.907 64.906c24.242 24.245 60.782 28.477 89.342 12.75l7.875 7.876 29.72-29.72-7.844-7.873c15.736-28.564 11.465-65.097-12.782-89.344l-64.905-64.908c-19.58-19.58-52.628-31.56-81.22-28.718 6.62-10.884 12.457-22.543 17.72-34.78l-40.688-40.72zm-182.157.655c-35.453-.015-68.357 12.318-99 35.22l12.72 47.468c11.113 2.584 21.805 3.602 32.156 3.343-13.452 19.88-18.267 48.465-12.312 70.69l20.28 75.686c7.576 28.27 32.77 46.972 60.595 47.53l2.468 9.19 34.656-9.282-2.47-9.188c23.81-14.4 36.262-43.205 28.69-71.47l-20.25-75.686c-6.117-22.822-25.445-45.77-47.783-55.875 9.534-5.22 18.83-11.36 27.94-18.156l-12.72-47.44c-8.458-1.34-16.787-2.027-24.97-2.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoneGnawer;

impl IconShape for BoneGnawer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.406 25.25c-53.57 0-90.066 33.57-115.156 81.75-23.194 44.54-34.806 100.79-37.063 148.22 26.123 2.757 45.766 14.07 58.126 29.936 12.692 16.293 17.88 36.347 18.468 55.72 9.407 5.46 19.76 10.03 30.69 13.062h.03c14.85 4.12 30.2 6.435 45.656 6.437 15.73.002 31.35-1.854 45.188-5.844 7.06-2.034 13.7-5.864 20.75-10.124.093-20.396 6.206-41.224 19.406-58 12.854-16.336 32.718-28.246 58.063-31.156-.64-49.996-10.638-106.593-32.5-150.625C343.568 57.31 308.635 25.25 255.406 25.25zM193.25 143.063c17.563-.287 33.737 10.977 39.094 28.343-28.23 12.215-48.326 30.26-54.688 48.344-10.918-4.715-19.433-13.754-22.75-26.094-5.765-21.452 6.984-43.44 28.5-49.187 3.286-.88 6.592-1.355 9.844-1.407zm121.656 0c.546-.014 1.108-.01 1.656 0 3.253.052 6.558.528 9.844 1.406 21.516 5.745 34.266 27.734 28.5 49.186-3.315 12.34-11.832 21.38-22.75 26.094-6.36-18.085-26.458-36.13-54.687-48.344 5.188-16.823 20.515-27.927 37.436-28.344zm-61.094 65.718c14.73 0 24.193 78.65 31.97 117.97-13.414-4.58-26.956-12.172-31.5-33.78-4.55 21.633-16.33 28.29-32.407 33.78 5.754-39.32 17.235-117.97 31.938-117.97zM46.375 331.407C9.583 331.053 3.903 395.39 66.78 406.28c-72.944 1.354-52.437 85.506 0 61.908 47.74-21.483 90.994-35.076 133-41.344l11.407-24.438 10.188 21.844c7.45-.672 14.887-1.132 22.313-1.344l9.562-20.5 9.563 20.47c7.28.174 14.584.58 21.906 1.187l10.092-21.657 11.188 24c45.318 6.223 92.342 20.365 145.094 41.78 49.435 20.07 62.43-57.17 0-59.873 60.048-6.45 42.832-88.05 0-71.032-45.525 18.088-85.473 32.16-122.844 40.97l-11 23.563-8.656-19.407c-8.595 1.626-17.09 2.993-25.5 4l-9.313 19.97-8.56-18.313c-7.857.517-15.662.704-23.47.625l-8.25 17.687-8.53-18.313c-9.46-.633-18.937-1.703-28.5-3.28l-7.94 17.03-9.56-20.468c-34.953-7.84-71.42-22.163-112.19-44.063-7.52-4.04-14.385-5.816-20.405-5.874zm273.813 118.25c-45.352 13.05-91.374 15.045-137.22.594v32.438c45.794 14.123 91.237 13.55 137.22-.063v-32.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoneKnife;

impl IconShape for BoneKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M81.875 17.375c-6.078.165-12.153 2.38-17.094 6.688-9.804 8.546-11.978 22.59-5.936 33.53-10.02-7.47-24.227-7.263-34.032 1.282-11.293 9.843-12.472 26.992-2.625 38.28 6.045 6.93 14.84 10.06 23.344 9.157l63.19-54.406c2.403-8.518.597-18.05-5.657-25.218-5.54-6.35-13.373-9.525-21.188-9.313zM110.22 75.25L71.624 108.5c5.35 3.492 10.94 7.496 16.656 11.97l33.626-20.94c-4.268-7.612-8.187-15.678-11.687-24.28zm21.53 40.156l-28.344 17.688c6.735 5.947 13.518 12.4 20.22 19.187l21.624-19.25c-.196-.126-.398-.246-.594-.374-4.53-5.505-8.826-11.246-12.906-17.25zm30.344 27.625l-29.22 26.032c5.28 11.427 9.843 22.932 12.69 33.938l43.874-46.97c-9.375-3.84-18.516-8.185-27.344-13zm46.344 20l-59.75 64c-.29 31.004 20.253 46.52 34.156 46.75 7.01.117 12.22-2.365 15.812-10.25 3.592-7.883 4.758-22.46-2.03-44.592l-6.095-19.875 18.907 8.625c30.374 13.842 47.987 4.07 52.532-5.75 2.27-4.91 2.154-10.26-2.064-16.25-4.218-5.992-13.203-12.525-29.094-16.313-7.53-1.796-14.994-3.922-22.375-6.344zm45.375 67.47c-9.954 3.04-21.965 3.365-35.125.125 2.97 16.655 1.766 30.126-3.032 40.656-.087.193-.19.374-.28.564 29.997 31.006 42.134 75.278 21.186 116.875 38.333 69.668 145.578 127.334 256.844 96.217-180.024-73.33-116.315-159.68-239.594-254.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BookAura;

impl IconShape for BookAura {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.063 18.03c71.2 31.42 129.344 86.117 152.5 155.75 23.155-69.633 78.953-124.33 150.03-155.75h-36.156c-53.802 15.416-89.834 45.46-107.25 92 2.238-52.074 18.275-78.34 40.25-92H203.094c21.98 13.66 38.044 39.926 40.28 92-17.415-46.54-53.446-76.584-107.25-92h-31.06zm386.968 4.157c-16.65 228.426-81.874 410.467-209.06 398.907 41.547 39.438 83.78 62.385 122.342 72.22l86.72-.002v-32.968c-27.303 13.718-52.895 14.545-130.938-13.438 68.627.614 101.042-14.37 130.937-51.656v-46.063c-20.77 32.913-58.994 60.416-130.936 75.438 64.71-34.947 107.585-89.884 130.937-180.844V22.188zM18.69 71.344V255.47c23.96 84.017 65.86 135.732 127.75 169.155-68.45-14.292-106.347-39.89-127.75-70.688v45.125c29.053 34.484 61.523 48.437 127.75 47.844-75.03 26.903-101.557 27.177-127.75 14.97v31.437h82.28c38.562-9.834 80.796-32.78 122.344-72.22-117.915 10.718-182.556-144.97-204.625-349.75zm113.687 82.406v176.28l4.875 2.658 112.063 60.875 4.468 2.406 4.44-2.408 112.06-60.875 4.908-2.656V153.75H356.5v165.188l-102.75 55.78-102.688-55.78V153.75h-18.687zm37.53.188v151.406l73.532 41.437V198.5l-73.53-44.563zm167.72 0l-75.5 45.78v148.188l75.5-42.562V153.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BookCover;

impl IconShape for BookCover {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M102.53 26.063l90 345.75 289.22 23.25-90.03-345.72-289.19-23.28zm-18.968 1.406c-30.44 11.894-55.62 53.07-49.687 75.28l3.25 11.813c.654-1.722 1.345-3.44 2.063-5.157C49.102 85.688 65.734 62.636 89.56 50.5l-6-23.03zM94.44 69.187c-16.66 10.016-29.916 28.1-38 47.437-5.2 12.44-8 25.417-8.75 36.25v.03L112.56 388.5c.305-.572.593-1.148.907-1.72 10.585-19.223 27.804-37.623 51.06-48.405L94.438 69.187zM154 107.968l239.78 16.188-1.28 18.625-239.75-16.155L154 107.97zm46.03 34.407l5.657 8.875 14.188 22.313 39.03-15.25 7.595-2.938 3.97 7.094 16.28 29.124 4.313 7.72-7.438 4.717c-10.267 6.524-17.392 12.284-21.75 16.782-3.03 3.13-4.247 5.232-4.906 6.594 1.38.303 3.433.577 6.624.28 18.268-1.69 56.285-19.964 79-61.592l5.47-10.03 8.748 7.374 46 38.812 11.532 9.72-13.844 6-33.28 14.374c5.447 4.925 11.436 5.916 18.436 5.406 9.95-.724 21.427-6.07 29.125-11.063l10.158 15.657c-9.41 6.1-22.867 12.934-37.938 14.03-15.07 1.098-32.27-5.296-42.594-23.155l-5.25-9.095 9.625-4.156 30.44-13.157-26.033-22c-25.716 40.294-62.68 59.168-87.843 61.5-6.78.628-12.945.26-18.594-2.688-5.65-2.95-9.984-10.6-9-17.406.984-6.806 4.838-12.4 10.688-18.44 4.385-4.526 10.612-9.367 17.875-14.436l-8.188-14.656L219.5 193.75l-7.156 2.78-4.125-6.468L196 170.875c-6.308 7.158-9.485 14.528-9 21.406.654 9.28 7.854 21.054 30.594 33.69l-9.094 16.343c-25.688-14.273-38.877-31.016-40.125-48.72-1.248-17.703 9.393-33.013 23.5-44.562l8.156-6.655zm-5.968 118.188l239.782 16.156-1.25 18.655-239.78-16.188 1.25-18.625zm-24.75 96.25c-17.637 9.072-31.065 23.708-39.468 38.968-4.49 8.153-7.307 16.452-8.72 23.876l11.626 42.156 1.688.157c-3.824-27.514 11.358-60.383 41.187-80.97l-6.313-24.188zm26.22 34c-32.403 17.28-46.273 52.303-41.657 72.78l289.78 24.532c-5.298-7.743-8.625-17.827-8.592-28.313l-22.47-9.03 46.626-7.313-13.69-13.064c5.552-6.838 13.54-12.915 24.47-17.53l-274.47-22.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BookStorm;

impl IconShape for BookStorm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.313 29.844c-16.47-.022-32.95 2.724-49.282 8.343l5.69 16.563L17.53 123l6.19 17.656L231.405 68.03l-5.562-15.905c19.548-4.75 38.93-4.86 58.5-.5l-5.72 16.406 207.688 72.626L492.47 123 299.624 55.562l5.906-17.374c-16.29-5.517-32.75-8.322-49.217-8.344zm-.657 49.593L46.25 152.844l42.406 29.53c70.69-11.9 160.54 31.24 166.906-90.25 2.175 32.524 10.254 53.188 22.282 66.282 6.658 7.576 14.5 12.432 23.687 15.688.04.015.086.016.126.03.216.077.44.145.656.22 33.978 12.23 80.744 1.187 121.344 8.03l41.406-29.155-209.406-73.782zm.47 81.032c-.263.413-.516.842-.782 1.25-12.194 18.6-29.79 28.466-48.656 33.03-3.486.843-7.013 1.528-10.594 2.094l41.437 74.094-67.25 16.78 31.345 61.594-61.813-54L283.938 496.75l-61.875-143.625 52.438 69.5L235.03 320l58.5-10.094-17.092-52.75 93.468 141.28-81.47-196.748 56.845 83.406L323 197.75c-5.9-.68-11.71-1.63-17.375-3-18.865-4.564-36.494-14.43-48.688-33.03-.27-.413-.548-.832-.812-1.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bookmark;

impl IconShape for Bookmark {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M161.22 19.563l-2.5 5.375-106.44 225.5-1 2.093c-24.493 28.208-34.917 58.587-33.593 88.19 1.38 30.852 15.12 60.388 36.376 86.81l2.812 3.5h49.72c4.817-3.836 8.93-7.817 12.405-12.03 1.758-2.132 3.38-4.358 4.875-6.656H65.97c-17.813-23.187-28.526-47.848-29.626-72.438-1.123-25.11 7.337-50.594 29.937-76.125H498.157l-5.25-12.874-91.844-225.5-2.375-5.843H161.22zm11.843 18.687h177.343l52.656 41.594 38.407 94.28-58.845 70.94H75.47L173.062 38.25zM75.156 282.625c-15.31 18.98-20.975 37.778-20.125 56.438.84 18.398 8.276 36.95 20.5 54.468h57.19c4.392-13.517 6.344-29.847 6.78-50.436h-16.188v-18.688h16.313v-.187h115.749v.186h17.156v18.688h-17.25c-.287 17.8-1.447 34.638-4 50.437h221.626c-9.034-36.872-9.112-74.006-.03-110.905H75.155zm83 60.28c-.77 37.698-6.46 65.83-24.72 87.97-14.595 17.7-36.19 30.747-67.28 42.813 8.69 1.658 17.214 3.225 26.53 5.25 14.048 3.052 27.912 6.338 39.033 9.25 5.56 1.455 10.44 2.826 14.374 4.062 1.94.61 3.533 1.074 5.03 1.625 35.245-13.464 55.78-32.897 68.345-58.72 11.944-24.55 16.287-55.713 16.936-92.25h-78.25zm89.25 69.44c-1.632 6.425-3.532 12.668-5.812 18.686h257.03v-18.686H247.407z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bookmarklet;

impl IconShape for Bookmarklet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.594 43v242.563l80 30.53V292c-22.504-3.217-45.065-8.633-62.53-26.844l13.5-12.937c12.15 12.667 29.032 17.263 48.28 20.374L110.656 55.03C93.3 51.725 75.492 48.1 57.594 43zm397.125.03c-65.178 17.392-138.354.102-191.22 70.814v208.812c19.795-29.15 45.443-40.866 70.72-46.53 33.914-7.603 66.18-7.163 91.5-27.626l11.75 14.53c-31.256 25.263-68.25 24.386-99.158 31.314-29.295 6.566-53.978 17.63-72.25 63.187l188.657-71.967V43.03zM128.81 49.28l27.407 228.157.06.563V494.906l19.94-39.28 20.468 38.155V296.814L168.563 57.5l-39.75-8.22zm60.47 24.25l25.593 217.782c4.175 2.3 8.258 4.96 12.188 8.063 6.452 5.097 12.412 11.36 17.75 18.97V109.5c-15.496-17.475-34.402-28.327-55.532-35.97zM20.5 74.376v239.813l6.125 2.25 110.97 40.78v-19.906l-98.407-36.156V74.376H20.5zm452.594.03v226.75l-216.938 79.69-40.78-14.97v38.28c23.21 8.03 58.078 6.813 86.25-2.53v-17.563l184.03-67.625 6.125-2.25V74.407h-18.686zm-257.72 239.532v31.813l27.564 10.53c-7.04-20.847-16.565-33.66-27.438-42.25-.04-.03-.084-.06-.125-.092z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoomerangSun;

impl IconShape for BoomerangSun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.2 24.13c-.505.02-1.22.143-2.165.378h-.002c-20.152 5-132.385 52.22-134.738 94.728-2.353 42.51 81.636 64.576 125.324 75.315 43.687 10.74 60.602-8.53 49.423-32.36-11.18-23.83-84.137-28.537-94.14-62.958-9.532-32.807 66.59-75.5 56.298-75.1zm87.593 10.12c-5.402.094-10.28 1.096-14.447 3.203v-.002c-38.1 19.27-15.002 102.82-2.352 145.92 12.65 43.1 37.95 47.953 52.953 26.478s-17.8-86.492 7.06-112.38c24.86-25.887 106.792 23.83 92.378 8.827-12.838-13.362-91.602-72.812-135.592-72.045zm143.68 138.74c-35.658.516-83.103 48.973-109.29 76.278-31.04 32.36-22.655 56.044 3.528 58.25 26.184 2.205 66.342-58.103 101.202-49.424 34.86 8.68 32.51 104.143 38.244 84.136 5.736-20.005 20.444-140.91-15.297-164.156-5.586-3.63-11.784-5.18-18.387-5.084zm-415.54 2.336c-.443.013-.92.873-1.472 2.748-5.884 20.004-21.034 140.77 14.71 164.158 35.744 23.39 97.082-38.244 128.266-70.605 31.183-32.36 22.653-56.483-3.53-58.838-26.182-2.356-66.34 58.102-101.2 49.423-31.594-7.865-32.503-87.007-36.774-86.887zm223.71 44.438c-22.517 0-40.77 18.232-40.77 40.722 0 22.49 18.253 40.72 40.77 40.72 22.516 0 40.77-18.23 40.77-40.72s-18.254-40.722-40.77-40.722zm-64.108 78.61c-7.227.118-14.24 4.564-19.865 12.673-15.003 21.623 17.36 86.64-7.65 112.38-25.006 25.742-106.79-24.418-92.375-9.413 14.414 15.005 111.938 88.697 150.037 69.43 38.098-19.27 14.858-103.41 2.353-146.508-7.815-26.938-20.455-38.76-32.5-38.563zm93.24 24.34c-27.113-.31-36.284 16.04-27.2 35.403 11.18 23.83 83.696 28.39 93.552 62.957 9.856 34.567-74.283 80.314-54.13 75.313 20.15-5 132.384-52.66 134.737-95.317 2.353-42.656-81.785-64.574-125.326-75.312-8.164-2.014-15.376-2.974-21.633-3.045z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BootKick;

impl IconShape for BootKick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M364.2 78.46l-61.7 74.74-18.7-56.06-20.6 56.06c2.4 1.3 4.8 2.7 7.2 4-15.9 1.1-32.2 5.8-48.3 14.7 142.1 0 224.3 149.5 119.6 261.6 17.1-11.6 30.8-24.5 41.5-38.1-.1.3-.2.5-.3.8l54.2 18.6-26.2-56h67.3L424 321.4l69.1-37.4-71-18.7 67.3-74.7-89.7 18.7 46.7-93.5-91.6 56.1zM139 102.7c-1.6 0-3.4.7-6 2.2l-2 1.1h-2.3c-38.05 0-78.77 16.3-109.11 68.8-2.93 24.6 3.45 35 11.59 48.5 7.41 12.4 16.35 27.4 16.85 51.8 22.72-.4 52.37-3.6 82.27-31.7l-20.7-115 71.7 67.2c4.2-5.1 8.6-8.8 11.9-11.7 3.3-2.9 5.5-5 7-8-19.1-12.4-30-34.4-40.1-50.8-5.6-9.1-11-16.5-15.2-19.7-2.2-1.6-3.6-2.6-5.3-2.7zm-2.4 75.3l12.9 71.6-3.3 3.3C127 272.1 107 282 88.73 287.2L138 358.8l28.1 56c10.1 4.6 27.7 3.5 48.4-1.5l-3.6-35.8 33.3 26.6c59.1-21.7 126.1-65.4 123.7-101.4-24.3-51.9-86.9-103.8-139.1-51.9-14.2 16.5-22.3 34.9-30.5 67.4 1.7-32.8 1.9-51.3 12-67.9l-17-41.2c-.9 1.2-1.7 2.6-2.5 4.2l-5.3 10.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BootPrints;

impl IconShape for BootPrints {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M111.512 21.176c-6.65.088-13.7 1.088-21.162 3.088-87.625 23.48-77.956 222.752-9.297 310.984l.002-.002 99.513-26.664c-3.273-35.578.003-76.04 19.313-113.947 2.605-89.97-24.095-174.31-88.368-173.46zm294.38 0c-64.273-.852-90.972 83.488-88.37 173.46 19.31 37.905 22.587 78.368 19.314 113.946l99.514 26.664.002.002c68.658-88.232 78.327-287.505-9.297-310.984-7.463-2-14.513-3-21.162-3.088zM188.878 350.06l-101.26 27.13c5.495 191.896 200.51 104.13 101.26-27.13zm139.65 0c-99.25 131.26 95.767 219.026 101.262 27.13l-101.263-27.13z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BootStomp;

impl IconShape for BootStomp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216.012 36.703c-6.348.01-13.056.447-20.006 1.32-34.6 4.347-75.144 19.348-107.408 47.303l33.47 190.197.33 10.1c42.262 15.79 100.808 24.565 152.873 24.272 27.192-.154 52.657-2.762 72.982-7.8 20.325-5.04 35.188-12.803 41.803-20.917l.433.353c-14.317-48.847-60.635-88.597-135.474-56.27-12.09 5.612-24.333 12.902-36.332 21.685 11.24-16.29 23.786-29.055 36.76-38.453l.013-.12-27.066-14.183-35.343 25-10.793-15.256L209.8 184.45l-27.5-14.41 8.67-16.554 35.964 18.842 34.57-24.457 1.62-16.186-30.2-17.918-35.16 22.433-10.05-15.757 27.208-17.36-27.97-16.595 9.538-16.072 36.08 21.408 37.088-23.664c1.453-20.61-21.48-31.51-53.646-31.457zm51.082 55.262l-16.522 10.54 14.602 8.665 1.92-19.205zm-8.053 80.54l-13.517 9.563 11.936 6.254 1.58-15.816zm135.57 129.91c-10.84 8.135-25.243 13.7-41.86 17.82-22.375 5.546-49.07 8.188-77.373 8.347-21.232.12-43.344-1.15-65.117-3.76l12.463 22.137c80.16 9.438 141.51-1.205 172.035-21.796.718-7.44.658-15.098-.15-22.75zm-271.553 3.312l.996 30.464 58.595 8.456 9.58-22.312c-24.54-3.827-48.202-9.383-69.17-16.607zm-33.13 21.56c-2.51.75-4.906 1.515-7.175 2.3H35.236l24.928 11.085-44.28 25.63 45.677-4.822c2.33 1.773 5.212 3.498 8.62 5.166l-29.19 44.532 64.785-32.977c4.21.968 8.64 1.892 13.27 2.773l-10.733 66.783 61.413-59.744c5.432.527 10.985 1.008 16.67 1.435l11.673 77.528 50.93-75.073c2.03.013 4.05.034 6.096.034 2.436 0 4.85-.022 7.265-.04l56.216 76.782 6.903-79.364c5.663-.437 11.218-.92 16.625-1.457l60.782 59.9-10.762-66.976c4.528-.872 8.86-1.787 12.98-2.743l65.102 33.14-29.437-44.913c3.135-1.58 5.808-3.21 7.984-4.88l46.562 4.915-44.253-25.613 24.966-11.1h-48.592c-2.223-.77-4.564-1.52-7.016-2.253 5.408 3.254 8.34 6.724 8.34 10.326 0 18.587-77.737 33.652-173.627 33.652-95.89 0-173.627-15.065-173.627-33.652 0-3.62 2.96-7.105 8.418-10.373z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Boots;

impl IconShape for Boots {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M334.5 85.22c-31.403.523-69.44 13.372-100.563 42.81l17.594 215.407-6.468 77.657h58.125l15.282-37.72 21.124 37.72h151.53c7.896-58.587-44.23-130.167-74.53-130.375l-16.53 1.124c-36.103 7.265-49.647 27.03-66.314 49.78l-4.28 5.845-6.72-2.69-13.03-5.25-14.283 36.595-17.406-6.78 14.376-36.783-11.906-4.78-8.563-3.438 3.313-8.594c7.98-20.727 20.735-40.35 38.906-54.156 14.907-11.326 33.593-18.483 55.156-18.688 1.438-.013 2.88.014 4.344.063 1.917.063 3.856.167 5.813.343l2.5-18.157c-26.083-16.097-67.526-14.873-103.72-.72l-6.78-17.405c20.11-7.864 41.785-12.5 62.655-12.56 17.98-.054 35.357 3.307 50.563 10.874l5.593-40.656c-31.286-27.418-77.42-24.612-119.374-.594l-9.28-16.22c23.566-13.49 49.485-21.265 74.312-21.31 20.46-.04 40.183 5.176 57.28 16.78l2.188-15.844c.354-1.526.61-3.013.78-4.47.002-.02 0-.04.002-.06.357-10.548-4.066-18.356-12.938-25-9.483-7.103-24.383-11.937-42.03-12.657-2.207-.09-4.44-.132-6.72-.094zm-194.406 77.31c-.838.01-1.678.03-2.5.064-13.162.537-24.16 4.175-30.938 9.25-6.776 5.075-9.702 10.64-8.937 18.844l-.595.062c.132 1.234.324 2.514.625 3.813l2.313 16.718c10.807-7.494 23.1-11.163 35.53-11.093 17.786.102 35.61 7.284 51.782 19.25l-11.094 15c-13.73-10.16-28.064-15.49-40.81-15.562-11.988-.068-22.776 4.042-32.407 14.344l4.406 31.843c8.974-4.182 18.787-6.078 28.843-6.063 14.792.022 30.092 4.157 44 11.188l-8.438 16.687c-21.797-11.02-45.487-12.505-61.688-2l2.032 14.72c.837-.03 1.677-.058 2.5-.064 14.633-.1 27.16 4.06 37.343 11.25 14.48 10.227 24.226 25.514 32.625 41.595l4.28 8.25-8.218 4.344-8.47 4.467L186 394.875l-16.438 8.875-13.812-25.594-9.156 4.844-6.344 3.344-4.875-5.25c-16.32-17.62-29.136-32.608-60.406-35.188l-9-.75c-32.087 15.312-47.556 38.284-42.44 76.25h190.44l-5.095-59.687-.03-.064 13.593-162.625c-24.97-26.094-56.98-36.796-82.344-36.5zm229.344 99.032c-17.593.075-31.926 5.756-43.97 14.907-12.36 9.39-22.03 22.778-29 37.592l26.657 10.72c14.056-18.898 30.816-38.795 61.813-48.344l-8.032-14.47c-1.3-.105-2.638-.295-3.906-.343-1.202-.045-2.39-.067-3.563-.063zM116.594 318c-4.288-.028-9.038.543-14.28 1.625l-9 10.656c23.388 6.11 38.254 19.727 50.75 32.94l10.655-5.626 8.843-4.688c-6.628-11.382-13.846-20.917-22.282-26.875-6.494-4.586-13.685-7.535-22.874-7.967-.593-.028-1.2-.06-1.812-.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BorderedShield;

impl IconShape for BorderedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.807 26.285c-1.105 42.86 2.978 85.91 11.98 128.55l50.606-11.388c-2.658-19.543-4.11-39.265-3.6-59.002l.236-9.103h49.402V26.285H50.807zm306.607 0v49.057h45.904l.23 9.107c.498 19.563-.492 39.338-3.058 59l50.086 11.34c9.048-42.643 13.05-85.63 11.96-128.505H357.415zm-131.65 1.354v45.786h65.056V27.64h-65.056zM178.12 43.335V94.03H128.48c.084 18.322 1.696 36.784 4.56 55.216l1.34 8.633-50.216 11.298c3.15 13.61 6.88 27.174 11.172 40.677l41.1-6.197 50.804 107.07-31.744 28.473c7.095 11.418 14.626 22.74 22.615 33.952l42.496-31.466 5.634 6.912c9.656 11.84 19.914 23.57 30.766 34.93 10.873-11.26 21.116-22.59 30.664-34.335l5.625-6.922 41.82 30.886c8.05-11.315 15.64-22.748 22.788-34.277l-31.383-28.15 50.803-107.072 40.627 6.127c4.308-13.503 8.054-27.07 11.22-40.68l-49.636-11.24 1.347-8.627c2.855-18.264 4.06-36.774 4.023-55.207h-46.183V43.337h-29.22v48.78h-102.43v-48.78h-28.958zm-13.915 79.252h185.41l.22 9.12c1.746 73.04-27.91 137.976-86.116 199.905l-6.798 7.23-6.81-7.216c-58.558-62.066-87.895-126.956-86.128-199.92l.22-9.12zm18.48 18.69c.818 61.19 25.098 115.615 74.213 170.062 48.85-54.348 73.37-108.852 74.23-170.063H182.685zm-57.18 82.93l-54.216 8.173 52.335 110.306 40.752-36.553-38.873-81.926zm262.76 0l-38.874 81.925 40.753 36.553L442.48 232.38l-54.216-8.173zM217.52 367.227l-42.704 31.62c23.914 32.71 51.31 64.504 82.15 95.236 30.733-30.743 57.7-62.44 81.548-95.19l-42.15-31.128c-10.264 12.222-20.992 24.175-32.792 35.978l-6.597 6.598-6.608-6.586c-11.93-11.89-22.64-24.246-32.846-36.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BottleVapors;

impl IconShape for BottleVapors {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M126.432 21.703C98.68 21.46 75.306 45.737 71.037 98.338c18.902-39.768 56.02-37.664 90.242-10.684-21.53 3.334-45.143 20.344-64.755 54.547 55.164-33.098 94.772-13.63 125.823 34.79 1.478 4.1 2.862 8.27 4.123 12.512.947 6.396 2.175 12.978 3.745 19.766-26.753-28.924-74.47-36.722-109.543-4.444 32.49-1.888 59.49 7.64 82.44 25.598 15.252-3.835 31.282-6.008 47.34-6.285 1.053-.02 2.107-.006 3.16-.008 3.113-103.32 38.217-159.337 86.663-132.75 23.023 12.632 19.488 44.942-7.33 53.854 55.25-11.45 64.983-62.343 12.108-92.87-44.98-25.97-111.334 6.87-119.967 88.54-18.207-76.27-62.206-118.883-98.654-119.2zm320.822 2.203c-.63-.007-1.267-.006-1.91.004-10.92.172-23.576 2.88-37.9 8.71 80.755-13.584 53.78 108.933-10.61 123.8 39.666-29.354 31.538-57.157 15.918-83.12-5.8 83.094-100.58 103.93-144.225 151.337 9.65.71 19.206 2.147 28.502 4.35 19.623-14.667 44.268-25.297 73.234-31.868C510.48 165.305 527.36 24.83 447.254 23.905zm-126.717 78.942c-29.023-.357-36.66 48.594 3.772 42.158-14.98-5.534-16.07-27.595.66-41.735-1.527-.267-3.006-.405-4.433-.422zM21.75 172.275c-23.62 69.475 37.823 92.292 81.938 42.848-41.72 8.173-72.115-1.308-81.938-42.848zm233.67 71.11c-1.623-.013-3.248-.005-4.873.023-25.75.45-51.578 5.98-72.942 15.655 20.642 34.628 35.932 78.964 35.932 129.195v7.586l-7.426 1.558c-42.726 8.963-67.727 45.533-75.682 94.598h192.416c-2.138-33.135-14.294-58.505-44.528-78.97 42.66 2.888 67.743 47.175 72.92 78.97h19.313c-8.08-48.734-34.184-85.43-76.786-94.607l-7.377-1.59v-7.545c0-53.404 16.483-95.637 37.23-129.69-7.127-3.66-14.8-6.613-22.826-8.92-16.314 37.33-30.004 83.224-33.06 141.864-3.023-58.476.62-108.805 7.83-146.87-6.633-.782-13.37-1.205-20.14-1.257z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BottledBolt;

impl IconShape for BottledBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.875 32.688v56.5H415.03v-56.5H108.876zm19.688 75.187c-.782 5.333-2.006 8.77-3.282 11.063-2.115 3.802-4.57 5.415-8.968 8.562-4.396 3.147-10.553 7.908-14.656 16.22-4.103 8.31-6.28 19.467-6.28 36.28v251.406C95.375 463.746 121.66 490 154 490h213.47c32.338 0 58.592-26.255 58.592-58.594V180c0-17.668-2.004-29.225-5.812-37.813-3.808-8.587-9.777-13.66-14.094-16.812-4.317-3.153-6.54-4.544-8.437-7.906-1.096-1.94-2.172-4.94-2.908-9.595H375.97c.916 7.868 2.717 13.91 5.467 18.78 4.132 7.32 9.966 11.095 13.688 13.814 3.722 2.718 5.81 4.27 8.03 9.28 2.223 5.01 4.22 14.06 4.22 30.25v251.406c0 22.355-17.55 39.906-39.906 39.906H154c-22.355 0-39.938-17.55-39.938-39.906V180c0-15.155 2.098-23.42 4.376-28.03 2.277-4.614 4.64-6.31 8.75-9.25 4.11-2.943 10.142-7.028 14.406-14.69 2.898-5.206 4.827-11.705 5.78-20.155h-18.81zm184.812 2.28l-173.5 184.095H247.28l-59.218 159.28 195.5-208.936h-117l46.813-134.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BottomRight3dArrow;

impl IconShape for BottomRight3dArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M126.47 18.25l273.81 229.344 39.314-39.313 23.47 205.095-205.095-23.438 37.467-37.468L20.594 58.655v99.28l195.25 235.126 5.437 6.532-6.03 6.03-45.97 45.97 323.033 38.344-38.375-323-48.313 48.312-6 6-6.563-5.438L155.032 18.25h-28.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BouncingSword;

impl IconShape for BouncingSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M414.666 22.572L19.91 114.15l251.8 266.028-59.66 59.69 282.602 53.44-53.41-282.75-31.545 31.563 36.826 84.86-79.253-87.507-80.643-79.217 41.025 80.377-135.38-114.785L414.667 22.572zM232.484 215.77c11.482 0 20.787 9.308 20.787 20.79 0 2.462-.43 4.824-1.215 7.016l35.55 34.21 33.06-30.81 12.74 13.672-17.374 16.19 138.286 133.64L473.236 471l-60.515-17.447-140.55-135.84-18.096 16.86-12.74-13.67 32.578-30.358-35.418-34.082c-1.903.574-3.92.887-6.01.887-11.48 0-20.787-9.31-20.787-20.79 0-11.482 9.306-20.79 20.787-20.79zm68.883 75.617l-12.963 13.463L426.96 438.256l12.964-13.463-138.557-133.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowieKnife;

impl IconShape for BowieKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M59.938 17.75L15.78 61.906l32.064 32.032L92 49.78 59.937 17.75zM93.218 75L74.376 93.844c17.814 31.92 50.57 65.266 80.78 83.812l21.72-21.72C157.975 125.16 124.423 92.678 93.22 75zM240 119.25L112.812 246.438l13.313 13.312 127.188-127.188L240 119.25zm4.938 48.844l-74.97 74.97 11.97 11.967c5.18-4.87 11.826-7.28 18.468-7.28 6.903 0 13.8 2.61 19.063 7.875 10.32 10.324 10.515 26.965.593 37.53l132.718 132.72c35.123 35.124 93.42 77.742 141.72 66.75-23.436-21.284-81.765-106.71-71.656-146.188l-40.688 7.25 7.656-40.062-40.562 7.156 8.094-39.592-40.063 7.625 7.626-40.063-40.53 7.156 7.75-40.625-47.188-47.186z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowlSpiral;

impl IconShape for BowlSpiral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M205.625 34.563c8.22 21.345 11.89 48.323 11.906 75.53.02 27.25-3.636 54.304-11.905 75.75 16.036-1.14 29.94-4.13 41.813-8.5 11.268-12.86 22.237-28.278 31.625-44.562 7.876-13.663 14.656-27.974 19.875-41.78-9.13-27.716-38.906-52.6-93.313-56.438zm122.063 21.593c-3.722 26.903-16.014 57.48-32.438 85.97-16.442 28.52-36.79 54.54-58.344 71.28 16.63 8.312 32.295 13.67 46.813 16.563 20.317-6.42 42.256-16.24 62.905-28.19 16.776-9.705 32.75-20.827 46.563-32.374 0-.01-.002-.02 0-.03 5.895-34.385-11.328-77.505-65.5-113.22zm-177.313 8.47c-15.173-.127-32.815 3.85-52.438 13.218 15.736 13.046 30.362 32.077 42.376 52.875 12.03 20.825 21.264 43.11 24.687 63.374 10.463-7.207 18.94-14.772 25.688-22.47 5.21-17.335 8.17-39.47 8.156-61.53-.006-8.946-.508-17.893-1.438-26.53-10.02-10.69-24.988-17.99-44.03-18.845-.99-.046-1.99-.087-3-.095zm-53.906 58.28c-.588.007-1.19.035-1.782.063-18.18.86-38.95 11.885-57.407 37.936 16.93 3.252 35.248 11.057 52.47 21 17.252 9.96 33.207 21.976 44.53 35.094 5.23-11.422 8.218-21.994 9.44-31.625-4.08-14.306-10.955-30.324-19.595-45.28-2.63-4.556-5.435-9.006-8.344-13.314-5.834-2.556-12.365-3.957-19.31-3.874zm342.467 26.5c-19 25.112-49.458 49.192-82.937 68.563-33.507 19.385-69.66 33.86-101.063 37.75 11.48 17.685 23.697 32.08 36.22 43.5 24.492 5.62 52.87 8.573 81.187 8.53 24.004-.036 48.026-2.23 69.687-6.344 24.64-32.096 30.827-85.508-3.092-152zM66.78 190.97c-18.664 1.095-38.328 17.025-42.436 53.468 13.29-4.236 28.886-6.027 44.625-6.032 15.766-.005 31.398 1.807 44.75 6.063-1.363-11.844-4.384-21.53-8.5-29.25-7.417-6.087-15.91-11.985-24.814-17.126-4.465-2.58-9.04-4.953-13.625-7.125zm2.19 66.124c-4.687 0-9.367.24-13.94.656-10.867 7.7-18.518 23.42-15.186 48.063 10.193-6.277 22.46-11.147 35.312-14.594 12.887-3.457 25.968-5.347 38-5-5.37-12.994-12.395-21.786-19.906-27.19-7.648-1.24-15.975-1.94-24.28-1.936zm426.467 48.156c-33.182 14.47-78.016 21.12-123.062 21.188-45.076.068-89.997-6.457-123.313-21 5.06 111.108 65.082 163.31 123.094 163.437 58.027.126 118.125-51.796 123.28-163.625zm-401.593 1.094c-4.58.72-9.273 1.672-13.875 2.906-5.394 1.446-10.698 3.26-15.657 5.28-.45 3.156-.198 7.113 1.124 12.033 2.07 7.703 6.983 17.308 15.532 27.937 3.705-7.192 8.923-13.89 14.874-19.844 5.96-5.962 12.688-11.185 19.906-14.906-7.986-6.396-15.42-10.76-21.906-13.406zm25.625 33.062c-3.586 2.35-7.17 5.23-10.407 8.47-2.845 2.845-5.397 5.95-7.563 9.093 17.968 12.058 40.552 7.024 58.5-5.314-16.893 1.393-31.168-4.46-40.53-12.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BowlingPropulsion;

impl IconShape for BowlingPropulsion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.04 18.37c-12.7 8.85-20.6 27.75-20.5 45.98.19 34.2 27.8 61.95 61.86 61.95 27 0 49.9-17.2 58.4-41.25.8 5.2 1.2 10.4 1.2 15.75 0 59.2-47.9 107.1-107.06 107.1-22.1 0-42.54-6.7-59.58-18.1v21.8c17.75 9.5 38.08 15 59.58 15 69.26 0 125.76-56.5 125.76-125.8 0-31.47-11.7-60.33-30.8-82.43-85.84.75-12.9.53-88.86 0zM226.5 102.8c0 80.7-65.5 146-146.36 146-22.1 0-43.01-4.9-61.78-13.6v20.4c18.12 8.5 44.48 12.3 65.18 11.9l71.06 98.9-12.1-88.5L263 493.6h21.4L160.9 272.5l172 221.1h160.7V338.5L304.2 196.6l130.1 43-169.2-113.7 68.7 6.6-89.1-42.45c-2-26.01-10.1-50.4-22.9-71.67h-22.3c15.9 27.68 26.7 58.12 27 84.42zm-188.16 5.1c-7.72 0-14.74 3-19.98 7.9v42.9c5.24 4.9 12.26 7.9 19.98 7.9 16.2 0 29.3-13.2 29.3-29.4s-13.1-29.3-29.3-29.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bowman;

impl IconShape for Bowman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281.28 15.28l-4.655 7.5-56.28 90.44c-7.312-18.505-21.67-30.9-37.126-30.44-.66.02-1.308.06-1.97.126-21.174 2.14-35.927 27.865-32.938 57.47 1.005 9.948 3.91 19.074 8.094 26.718-44.558 1.188-76.495 11.61-92.812 38.25 20.32 19.086 59.816 22.993 91.844 18.625l4.843 3.124.126.094 18.906 51.375-52.78 212.718h34.156l61.125-168.905L332 491.28h33.563L261.438 292.19l97.156 62.53c-.08.262-.17.52-.25.782.173-.202.328-.422.5-.625l6.937 4.47 9 5.78 4.533-9.656c32.03-68.4 40.24-134.49 25.843-192.064l23.938-4.812 6.187 23.812 55.408-46.656-73.875-24.313 7.562 29.032-24.563 4.968C381.796 93.172 343.996 49.38 289.033 19.5l-7.75-4.22zm3.408 29.907c31.818 30.565 54.66 66.986 69.093 106.094l-136.686 21.25c5.196-8.662 8.24-19.857 8.28-32.06l59.314-95.282zm77.5 132.688c13.773 51.64 13.89 106.532 1.562 157.906l-113.625-73.124-4.125-61.72 116.188-23.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoxingGlove;

impl IconShape for BoxingGlove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.977 56.943c-.635.004-1.27.02-1.905.053-2.903.145-5.805.58-8.7 1.326-28.33 7.294-56.425 29.248-77.058 57.844-20.632 28.596-33.67 63.593-33.554 95.455.06 16.533 6.94 27.84 18.886 36.927 7.29 5.544 16.59 9.97 27.032 13.23-1.023-14.32-.482-29.776 3.957-42.71l16.844 5.783c-15.886 57.862 18.713 102.134 69.65 142.007-2.305-28.866 2.355-59.986 15.7-91.345-1.265-7.76-1.14-16.392.57-25.664 4.65-25.21 20.01-56.115 49.88-93.414l14.59 11.68c-28.65 35.777-42.302 64.575-46.09 85.122-3.79 20.548 1.342 31.848 10.048 38.176 8.706 6.328 23.24 8.047 40.315 2.526 17.073-5.522 36.13-18.136 52.42-38.405 40.154-49.957 56.8-91.026 58.064-120.484 1.265-29.46-11.115-47.414-32.752-56.937C276.602 59.067 191.21 80.82 119.7 162.938l-14.095-12.272c26.81-30.786 55.632-54.11 84.143-70.29-15.18-14.578-31.464-23.538-47.77-23.433zm230.76 85.89c-.65-.005-1.303.005-1.956.01-3.553 34.283-22.66 75.888-61.65 124.397-18.358 22.844-40.163 37.666-61.237 44.48-21.075 6.816-41.974 5.77-57.053-5.19-2.737-1.99-5.203-4.298-7.387-6.887-20.753 63.805-2.12 122.793 34.906 158.587 25.613 24.76 60.005 38.354 97.472 34.727 37.467-3.627 78.5-24.527 116.943-70.998 84.462-102.102 71.214-199.61 19.823-247.646-21.08-19.702-48.703-31.302-79.862-31.482z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BoxingGloveSurprise;

impl IconShape for BoxingGloveSurprise {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M341.8 17.3c-18.3.42-39.5 6.07-53.1 14.34-18.4 11.43-32.1 29.09-38.4 51.59C275.2 93.31 302 116 329.9 154c13.6 18.6 20.4 38.2 21.3 55.7-1.7 19.3-5.2 36.9-19.8 45.9 41.9 25.8 87.3 23.2 119.9 3.6 23-13.8 39.6-36.2 44.3-64.2 4.7-28-2.5-62.1-29.2-99.72-39.1-55.07-85-77.45-124.6-77.98zM221.4 95.69c-12.7-.13-22.5 5.41-30.4 15.21-21.9 27.2-23.2 94.4 23.4 163.5l-15.5 10.5c-17.1-25.3-28.6-50.7-35.2-74.6-15.1 9.7-24.5 21.7-24.6 35.8-.2 21.9 10.3 46.8 27.2 67.6 17 20.8 40.2 37.2 63.4 43.3 11.7 3.1 20.7.5 29.4-6.3 4.2-3.2 8.1-7.5 11.8-12.5-9.7-2.2-19.5-5.6-27.5-11l9.9-14.6c38.9 22.1 77.7 6.2 116.5-22.4-21.6-4.3-43.3-13.9-63.5-29.6-6.2-.7-12.6-2.6-19.1-5.7-18.4-8.7-38.5-26.6-60.5-56.5l15.1-11.1c20.8 28.4 39.3 44 53.4 50.7 14.1 6.7 22.4 5.1 28.2.4 5.8-4.6 9.8-14.4 9.1-27.7-.6-13.4-6.1-29.7-17.7-45.6-29.1-39.7-56.1-60-77.1-66.58-5.5-1.45-11.3-2.74-16.3-2.83zM122.7 292l-17.5 6.5c12.4 34 51.8 60.1 93.2 66-26.3-20.6-63.4-42.7-75.7-72.5zm-36.31 36.4l-17.55 6.4c13.72 37.4 59.96 65.4 105.76 67.2l.8-18.7c-38.3-1.5-79.25-28.3-89.01-54.9zm-36.34 36.3l-17.55 6.4c13.72 37.5 59.96 65.4 105.8 67.3l.8-18.7c-33.8-7.5-77.1-25.8-89.05-55zm-29.57 49v28c21.15 19.1 51.29 31.8 81.52 33l.7-18.7c-30.83-5.9-65.41-19.6-82.22-42.3zm0 66.4v13.6H68.8c-17.68-2.1-34.78-6.6-48.32-13.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Brain;

impl IconShape for Brain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241.063 54.406c-2.31.008-4.61.032-6.907.094-1.805.05-3.61.106-5.406.188-8.814 1.567-12.884 5.426-15.094 9.843-2.435 4.87-2.34 11.423.375 17.25 2.717 5.83 7.7 10.596 14.657 12.376 6.958 1.78 16.536.86 29.125-7.187l10.063 15.75c-15.818 10.11-31.124 12.777-43.813 9.53-12.688-3.247-22.103-12.123-26.968-22.563-4.584-9.836-5.426-21.376-1.03-31.624-42.917 6.94-81.777 23.398-111.626 46.562-9.81 10.688-10.77 23.11-6.47 31.594 4.83 9.526 16.21 16.48 38.97 9.28l5.656 17.813c-28.58 9.04-52.137-.588-61.28-18.625-2.23-4.397-3.592-9.156-4.127-14.063-4.814 5.712-9.16 11.658-13 17.844l.126.06c-8.614 19.616-8.81 33.203-5.376 42.032 3.436 8.83 10.635 14.44 21.72 17.532 22.168 6.18 58.065-1.277 83.343-20.156 10.82-8.08 21.077-27.677 21.97-42.875.445-7.6-1.165-13.604-4.345-17.438-3.18-3.834-8.272-6.703-18.813-6.594l-.187-18.686c14.487-.15 26.25 4.754 33.375 13.344 7.124 8.59 9.26 19.652 8.625 30.468-1.27 21.633-12.595 44.172-29.438 56.75-29.876 22.314-69.336 31.606-99.53 23.188-13.988-3.9-26.37-12.386-32.75-25.53-9.546 45.446 4.323 87.66 30.718 116.874 3.45 3.82 7.122 7.43 10.97 10.78-2.754-7.887-4.016-16.1-3.72-24.093.53-14.325 6.082-28.346 17.22-38.03 9.134-7.946 21.752-12.53 36.843-12.5 1.006 0 2.034.018 3.062.06 2.35.1 4.763.304 7.22.626l-2.44 18.532c-15.588-2.048-25.705 1.522-32.436 7.375-6.73 5.854-10.443 14.614-10.813 24.625-.74 20.024 12.07 43.406 39.69 50.188l-.032.188c27.192 5.19 57.536.372 88-18.22.018-.012.043-.017.062-.03 6.34-4.45 9.755-8.808 11.438-12.563 1.985-4.432 1.943-8.292.53-12.438-2.824-8.29-12.94-16.812-22.218-19.187-15.002-3.84-24.532 1.436-29 7.72-4.468 6.28-4.74 12.45 2.156 17.81l-11.47 14.75c-14.187-11.033-15.092-30.487-5.905-43.405 6.892-9.688 18.985-16.326 33.564-16.75.607-.018 1.228-.036 1.844-.03 4.306.03 8.79.622 13.437 1.81 15.505 3.97 29.84 15.277 35.28 31.25 1.416 4.155 2.09 8.69 1.876 13.314 16.71-8.538 34.332-16.12 52.282-21.814 30.156-13.78 43.23-37.938 42.72-58.28-.515-20.493-13.187-37.74-42.376-40.626l1.844-18.594c36.666 3.626 58.462 29.848 59.188 58.75.422 16.84-5.754 34.363-18.188 49.28 16.072-1.8 32.044-1.495 47.53 1.627-3.152-6.472-4.68-13.478-4.467-20.438.677-22.036 19.42-42.593 48.875-42.906 1.963-.022 3.974.053 6.03.218l-1.5 18.625c-24.927-1.998-34.3 11.086-34.718 24.656-.412 13.42 8.545 28.442 34.22 30.436 28.3.25 48.588-15.098 58.53-37.906 13.31-30.536 6.997-76.317-34.844-118.188-.792-.793-1.578-1.593-2.375-2.375-.444 3.792-1.424 7.443-2.842 10.844-7.25 17.39-24.233 29.128-41.875 32.407-24.335 4.522-44.29-5.347-53.5-20.406-9.21-15.057-6.792-36.35 9.78-47.56l10.47 15.5c-8.913 6.028-9.28 14.19-4.313 22.31 4.967 8.122 16.17 15.156 34.156 11.814 11.306-2.102 23.896-11.33 28.03-21.25 2.07-4.96 2.47-9.862.408-15.47-1.675-4.555-5.187-9.764-11.72-15.25l-.187-.155c-27.316-20.587-56.338-35.393-85.75-45.157.018.032.045.06.063.093 6.684 12.22 7.18 26.082 3.063 38.344-8.233 24.525-34.07 43.848-66.032 42.78-6.948-.23-13.56 3.12-19.186 9.657-5.627 6.537-9.735 16.113-10.688 26.313-1.905 20.4 6.923 42.886 41.344 54L277 258.28c-41.083-13.264-56.83-45.546-54.22-73.5 1.307-13.975 6.706-26.962 15.157-36.78 8.452-9.818 20.475-16.603 33.97-16.156 24.04.802 42.323-14.084 47.687-30.063 2.682-7.988 2.335-15.937-1.75-23.405-3.968-7.252-11.83-14.423-25.906-19.656-17.114-2.967-34.16-4.367-50.875-4.314zM342.28 306.344c-41.915 3.41-87.366 23.4-125.28 46.562-55.98 34.198-114.89 26.733-156.688-4.28 16.444 58.844 74.712 70.788 135.5 55.905 6.083-2.285 12.06-6.538 17.157-12.03 7.057-7.607 12.17-17.47 13.78-25.625l18.344 3.625c-2.445 12.383-9.078 24.666-18.406 34.72-8.95 9.645-20.61 17.35-34.094 19.374-6.766 15.07-12.334 29.68-14.594 39.906-3.55 16.06 14.206 22.225 22.156 6.03 19.022-38.743 45.87-73.23 79.406-102.967 26.064-17.153 48.406-38.303 62.72-61.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrainFreeze;

impl IconShape for BrainFreeze {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.97 17.375c-103.018 0-188.532 105.858-188.532 238.813 0 55.877 15.12 106.972 40.28 147.437 42.148 18.042 95.884 27.67 149.75 27.72 51.97.047 103.873-8.805 145.438-25.658 25.932-40.785 41.563-92.667 41.563-149.5 0-132.954-85.484-238.812-188.5-238.812zm1.75 18.75c80.747 0 146.03 65.252 146.03 146s-65.283 146.03-146.03 146.03c-80.75 0-146-65.282-146-146.03s65.25-146 146-146zm-.345 19.563l-4.72 2.718-41.936 24.282 21.968 37.78c-5.85 2.394-11.28 5.59-16.157 9.47l-22-37.875-41.218 23.843-4.687 2.72.03 5.405.157 48.782h43.22c-.424 3.037-.657 6.13-.657 9.282 0 3.196.222 6.33.656 9.406h-43.155l.156 48.156v5.375l4.626 2.69 41.188 24 21.75-37.44c4.876 3.87 10.31 7.053 16.156 9.44L209 281.124l42.375 24.72 4.688 2.75 4.687-2.72 41.97-24.28-22-37.845c5.846-2.382 11.277-5.572 16.155-9.438l22.03 37.907 41.22-23.845 4.656-2.72v-5.405l-.155-48.75h-43.188c.435-3.076.688-6.21.688-9.406 0-3.152-.233-6.246-.656-9.28h43.092l-.156-48.22v-5.344l-4.625-2.688-41.155-24-21.72 37.344c-4.87-3.866-10.285-7.05-16.124-9.437l21.69-37.345-42.408-24.72-4.687-2.718zm-86.22 278.75c18.365 0 33.157 14.84 33.157 33.5s-14.792 33.53-33.156 33.53c-18.364 0-33.125-14.87-33.125-33.53 0-18.66 14.762-33.5 33.126-33.5zm165.532 0c18.365 0 33.125 14.84 33.125 33.5s-14.76 33.53-33.125 33.53c-18.364 0-33.156-14.87-33.156-33.53 0-18.66 14.793-33.5 33.158-33.5zm-208.687 97c11.517 13.484 24.36 25.147 38.22 34.687l-7.095-26.375c-10.68-2.355-21.077-5.124-31.125-8.313zm254.594 1.53c-8.895 2.675-18.044 5.03-27.406 7.063L346.75 464c12.174-8.752 23.526-19.176 33.844-31.03zm-203.03 10.75l9.592 35.782c11.34 5.465 23.184 9.572 35.406 12.188l-5.062-43.125c-13.51-1.048-26.87-2.656-39.938-4.844zm155.217.22c-10.152 1.668-20.503 2.99-30.936 3.968l-4.813 40.813c9.134-2.722 18.008-6.313 26.595-10.658l9.156-34.125zm-49.905 5.343c-9.106.492-18.26.76-27.406.75-6.36-.005-12.72-.128-19.064-.374l5.313 44.844c4.052.333 8.135.53 12.25.53 8.026 0 15.935-.656 23.718-1.905l5.187-43.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrainStem;

impl IconShape for BrainStem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.563 18.25c-.488.007-.992.037-1.5.063l-.25.03h-.22c-9.283 0-17.057 3.042-20.343 6.876-3.08 3.593-4.738 8.46.063 19.186 5.252 8.088 9.415 19.063 13.03 33.125l-18.093 4.657c-6.1-23.728-13.714-33-18.47-35.093-2.376-1.047-4.654-1.143-8.31-.032-3.66 1.112-8.36 3.675-13.5 7.47-7.858 5.798-12.62 13.214-12.345 19.25.212 4.64 3.06 10.822 13.438 17.75.984.547 1.96 1.082 2.968 1.656l-.093.156c2.512 1.51 5.364 3.062 8.657 4.625l-8.03 16.874c-4.56-2.164-8.668-4.455-12.345-6.844-13.36-7.31-23.12-10.412-28.032-10-2.613.22-4.057.85-6.032 2.813-1.975 1.963-4.286 5.647-6.406 11.562-3.54 9.877-4.03 17.713-1.53 21.78 1.988 3.24 7.208 6.964 20.093 8.25 3.243.073 6.68.21 10.437.376v.095c.35 0 .674.003 1.03 0l.19 18.688c-3.745.035-7.255-.097-10.595-.344-11.04-.077-17.656.83-20.156 2.093-1.55.78-2.033 1.25-2.907 3.03-.875 1.78-1.776 5.05-2.376 9.938-.547 4.472-.156 7.656.72 9.782.875 2.127 2.082 3.65 5.312 5.375 6.457 3.45 21.635 5.8 47.186 3.625l1.594 18.625c-17.282 1.47-30.78 1.482-41.594-.468 4.703 15.06 14.56 21.905 25.72 21.905h94.155c10.546 0 19.79-7.745 23.407-22.125l8.063-32.063 9.906 31.563c4.653 14.806 14.243 22.625 23.53 22.625h94.19c11.196 0 21.038-6.896 25.718-22.063-10.95 2.103-24.684 2.134-42.406.625L367 195.063c25.55 2.175 40.73-.175 47.188-3.625 3.23-1.725 4.436-3.248 5.312-5.375.876-2.126 1.266-5.31.72-9.78-.6-4.888-1.47-8.158-2.345-9.938-.874-1.78-1.36-2.25-2.906-3.03-2.5-1.264-9.116-2.17-20.158-2.095-3.338.246-6.85.378-10.593.343l.155-18.688c.37.003.702 0 1.063 0v-.094c3.754-.165 7.17-.302 10.406-.374 12.892-1.287 18.135-5.01 20.125-8.25 2.498-4.068 2.007-11.904-1.533-21.78-2.12-5.916-4.43-9.6-6.406-11.564-1.974-1.963-3.418-2.593-6.03-2.812-4.932-.413-14.747 2.72-28.188 10.094-3.644 2.358-7.714 4.612-12.218 6.75l-8-16.875c3.277-1.557 6.122-3.092 8.625-4.595l-.095-.188c1.083-.615 2.132-1.195 3.188-1.78 10.228-6.878 13.04-13.013 13.25-17.626.275-6.034-4.52-13.45-12.375-19.25-5.14-3.793-9.812-6.356-13.47-7.468-3.657-1.11-5.965-1.015-8.343.032-1.647.724-3.63 2.344-5.78 5.093-.393.903-.804 1.81-1.25 2.72l-.533-.282c-3.6 5.498-7.486 14.26-10.906 27.563l-18.094-4.657c4.052-15.76 8.777-27.655 14.97-35.936 3.316-8.79 1.733-13.113-1.063-16.375-3.287-3.835-11.03-6.876-20.314-6.876h-.25l-.22-.032c-8.136-.408-13.506 1.53-17.967 4.875-4.463 3.345-8.076 8.497-10.845 15C266.588 51.195 265 69.102 265 82.22v.06l-.156 30.845v.125h-18.688v-.125l-.187-30.844v-.06c0-13.12-1.59-31.025-7.126-44.032-2.77-6.504-6.382-11.656-10.844-15-4.183-3.136-9.13-5.05-16.438-4.938zm44.218 217.906c-7.85 10.703-19.43 17.656-32.75 17.656h-42.936c2.046 4.275 5.368 8.15 10.062 11.75 13.724 10.526 38.908 16.903 64.063 16.782 25.153-.122 50.134-6.77 63.593-17.594 4.192-3.372 7.266-6.975 9.28-10.938h-39.156c-12.98 0-24.2-6.99-32.156-17.656zm23.407 63.03c-8.13 1.216-16.506 1.805-24.875 1.845-8.494.042-16.987-.492-25.25-1.655l.907 17.78h-18.314v18.69h19.28l.94 17.905h43.936l1.094-17.906h19.03l.002-18.688h-17.875l1.125-17.97zm-46.343 73.252l.906 17.656h-15.313v18.687h16.282l.843 16h35.875l.968-16h14.625v-18.686h-13.467l1.093-17.656h-41.812zm3.687 71.03l.814 15.407h-14.5v18.688h15.437l.814 15.437h28.125l.967-15.438h16.563v-18.687h-15.406l.937-15.406h-33.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Brainstorm;

impl IconShape for Brainstorm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209.5 21.094c-.55.008-1.115.033-1.688.062H207.345c-10.422 0-19.238 3.402-23.125 7.938-3.646 4.252-5.472 10.1-.095 22.156 5.748 8.803 10.352 20.848 14.344 36.375l-18.126 4.656c-6.755-26.27-15.17-36.83-20.875-39.343-2.854-1.255-5.655-1.367-9.845-.093s-9.438 4.185-15.156 8.406c-8.817 6.506-14.327 14.915-14 22.03.25 5.477 3.61 12.565 15.25 20.345 1.096.61 2.187 1.205 3.31 1.844l-.093.186c2.797 1.684 5.95 3.396 9.594 5.125l-8.03 16.876c-5.075-2.408-9.628-4.944-13.688-7.594-14.715-8.047-25.54-11.577-31.312-11.093-3.078.257-4.93 1.067-7.25 3.374-2.32 2.306-4.914 6.49-7.28 13.094-3.94 10.99-4.602 19.98-1.595 24.874 2.392 3.895 8.464 8.087 22.844 9.532 3.59.074 7.412.22 11.593.406v.125c.4 0 .776.004 1.187 0l.156 18.688c-4.292.04-8.302-.11-12.094-.407-11.966-.073-19.223.894-22.218 2.406-1.876.947-2.586 1.665-3.625 3.782-1.04 2.116-2.022 5.81-2.69 11.25-.615 5.033-.204 8.733.845 11.28 1.05 2.55 2.562 4.42 6.28 6.407 7.44 3.975 24.322 6.5 52.564 4.095l1.593 18.625c-21.627 1.84-37.814 1.534-50.313-1.563-.853 3.737-.672 6.658.03 9.125.12.412.257.82.407 1.22.012.03.02.062.032.093 1.71 3.198 3.952 5.995 6.874 8.438.018.013.044.017.062.03 7.05 5.22 18.622 8.188 25.47 8.188h103.81c12.11 0 22.62-8.916 26.69-25.092l8.06-32.063 9.94 31.563c5.216 16.602 16.087 25.593 26.843 25.593h103.81c6.26 0 18.37-3.946 25.595-10.25.903-.787 1.747-1.608 2.5-2.436.142-.157.27-.31.406-.47.02-.022.046-.038.064-.06 1.5-1.915 2.716-4 3.75-6.25.126-.346.274-.686.375-1.033.612-2.107.84-4.314.436-6.874-12.646 3.365-29.16 3.74-51.437 1.844l1.592-18.625c28.243 2.404 45.093-.12 52.532-4.094 3.72-1.986 5.232-3.857 6.28-6.405 1.05-2.548 1.492-6.248.876-11.28-.667-5.442-1.68-9.135-2.72-11.25-1.038-2.118-1.748-2.835-3.624-3.782-2.995-1.513-10.252-2.48-22.22-2.407-3.79.296-7.8.447-12.092.406l.187-18.687c.412.004.787 0 1.19 0v-.125c4.18-.185 8-.332 11.592-.406 14.38-1.445 20.452-5.637 22.844-9.53 3.007-4.897 2.345-13.885-1.594-24.876-2.366-6.605-4.992-10.788-7.312-13.094-2.32-2.307-4.172-3.117-7.25-3.375-5.772-.485-16.57 3.045-31.28 11.093-4.066 2.654-8.636 5.18-13.72 7.593l-8-16.875c3.644-1.728 6.797-3.44 9.594-5.124l-.125-.187c1.185-.676 2.343-1.297 3.5-1.94 11.52-7.74 14.843-14.796 15.092-20.25.326-7.115-5.185-15.524-14-22.03-5.718-4.22-10.966-7.132-15.156-8.406-4.19-1.274-6.99-1.162-9.844.093-1.98.872-4.294 2.745-6.75 5.876-.453 1.054-.944 2.124-1.468 3.187l-.594-.28c-4.042 6.21-8.336 15.944-12.094 30.56l-18.094-4.655c4.456-17.33 9.653-30.324 16.375-39.313 3.834-10.083 2.083-15.33-1.25-19.218-3.887-4.536-12.703-7.938-23.125-7.938H308.094c-9.16-.46-15.315 1.746-20.406 5.563-5.092 3.816-9.184 9.628-12.282 16.905-6.195 14.554-7.937 34.38-7.937 48.906v.064l-.19 34.03v.095h-18.686v-.095l-.188-34.03v-.064c0-14.525-1.71-34.35-7.906-48.905-3.098-7.277-7.19-13.09-12.28-16.906-4.775-3.58-10.477-5.75-18.72-5.626zm48.78 239.47c-8.486 12.207-21.288 20.186-36.092 20.186H181.53l98.126 80.625-82.22 1.28 217.408 133.44L342.28 387.78l55.126 4.75-76.03-111.78h-27.657c-14.393 0-26.788-8.02-35.44-20.188z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BranchArrow;

impl IconShape for BranchArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95.053 18.096l.002.004v-.004h-.002zm.002.004L88.43 75.234l64.943 69.444c22.73-80.96-33.616-62.34-58.318-126.578zM76.307 89.633l-59.713 6.924c73.505 19.88 58.272 84.583 122.982 60.728l-63.27-67.652zm193.775 25.39c-59.893 27.56-58.306 75.928 3.877 110.715 39.215-50.06-20.79-53.14-3.878-110.715zm-103.77 42.375l-13.14 13.29c30.208 29.86 63.767 58.348 98.982 83.347l54.108 81.645 64.763 51.605c2.657-5.314 5.914-9.756 9.95-13.38.516-.465 1.045-.9 1.578-1.33l-42.22-33.643.692-.233c-4.833-14.35-4.43-28.26.516-42.946l-17.71-5.965c-3.46 10.272-5.133 20.8-4.78 31.353l-53.19-80.256-1.43-1.01c-34.845-24.603-68.176-52.88-98.12-82.48zM244.52 301.4c-16.637-.16-33.458 13.866-46.784 44.596 49.157-22.96 48.114 35.165 92.475-4.058-12.595-26.026-29.05-40.376-45.69-40.538zm200.507 43.03l-15.737 27.808 30.877 87.125-89.932-31.867-27.494 13.393 152.524 54.606-50.24-151.066zm-32.426 36.668c-8.966.967-14.955 2.948-19.14 6.71-4.377 3.93-8.102 11.308-10.782 24.27l46.775 16.574-16.853-47.554z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrandyBottle;

impl IconShape for BrandyBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.875 24.063c-2.522-.003-5.034.055-7.563.156l-8.718 32.5c3.663 2.907 7.336 5.594 11.03 8.093L246 123.186c-23.23 4.79-42.712 18.31-48.406 39.532-2.364 8.808-1.918 17.855.562 26.468-54.066 17.11-99.966 64.29-117.062 128.03-9.622 35.868-8.768 71.706.53 103.75L82.5 424l2.53 1.875c70.782 52.46 150.308 80.236 240.907 64.313l2.813-.47 2.063-2c23.965-23.08 42.722-53.81 52.312-89.562 17.19-64.1 1.024-128.3-37.72-170.125 6.28-6.01 11.225-13.345 13.564-22.06 5.643-21.047-4.445-42.12-21.814-57.75l15.688-58.44c5.257-.234 10.624-.685 16.094-1.343l8.718-32.53C341.814 35.622 304.71 24.1 266.876 24.062zm11.47 50.624c17.548 8.903 35.742 13.642 55.217 14.907L317.625 149l-1.594 5.97 4.845 3.81c16.433 12.885 23.708 28.638 20.03 42.345-1.937 7.223-6.92 13.34-14.5 18.313l-9.905 6.53 8.656 8.126c26.297 24.67 42.998 60.937 45.72 101.125h-32.688l-8.157 30.436-2.124 7.844-8-1.406c-7.09-1.26-12.636-.398-17.187 2.094-4.553 2.49-8.465 6.782-11.44 14.03l-2.967 7.22-7.532-2L180.314 366.5l-7.938-2.125 1.53-8.063c1.475-7.82-1.11-15.543-6.374-21.093H96.126c.833-4.38 1.82-8.763 3-13.158 16.49-61.473 62.41-105.173 113.594-117.562l11.53-2.78-5.406-10.564c-4.1-7.998-5.22-16.137-3.22-23.594 3.725-13.88 18.204-24.22 39.126-27.03l6.188-.845 1.593-6 15.814-59zm-62.22 186.688c-7.797 13.166-22.23 21.34-37.563 21.188l-8.718 32.406c13.257 7.37 21.91 21.207 22.156 36.342l86.375 23.125c4.037-6.84 9.4-12.254 15.844-15.78 6.232-3.413 13.287-4.913 20.624-4.782l8.75-32.656c-12.928-7.65-21.025-21.7-21.188-36.72l-86.28-23.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrassEye;

impl IconShape for BrassEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.295 19.137C174.005 18.97 94.94 61.107 51.33 136.643c-64.91 112.426-26.51 255.934 85.918 320.843 112.427 64.91 255.91 26.41 320.818-86.015 64.91-112.426 26.474-255.873-85.953-320.783-36.89-21.298-77.12-31.47-116.818-31.55zm72.264 104.44c23.888.1 47.577 6.047 69.118 18.476 72.557 41.867 93.585 141.627 46.838 222.55C396.77 445.52 299.768 477.276 227.21 435.41c-72.556-41.867-93.54-141.7-46.794-222.62 32.87-56.9 90.563-89.453 147.143-89.214zm69.854 42.398c13.708 22.326 19.042 51.598 15.473 82.795-6.7-12.15-16.443-22.473-28.955-29.676-40.07-23.07-93.725-5.624-119.54 38.965-25.818 44.586-14.2 99.74 25.872 122.807 10.52 6.057 21.984 9.31 33.634 10.014-36.447 22.57-77.037 27.46-108.996 9.016-1.976-1.14-3.884-2.363-5.738-3.646 8.023 8.542 17.338 16.016 27.9 22.11 64.273 37.087 149.69 9.063 191.098-62.618 39.038-67.578 24.853-149.527-30.748-189.767zm-53.11 62.04c10.274.123 20.466 2.733 29.776 8.092 31.778 18.295 40.878 61.486 20.404 96.846-20.473 35.36-62.59 49.197-94.37 30.902-27.558-15.865-38.003-50.53-26.94-82.52 4.262 16.973 19.722 29.677 37.957 29.677 21.485 0 39.085-17.632 39.085-39.11 0-19.34-14.273-35.523-32.803-38.552 8.006-3.33 16.43-5.157 24.838-5.327.685-.013 1.37-.016 2.055-.007z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Breastplate;

impl IconShape for Breastplate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M324.344 67.25c-44.475 19.314-91.03 25.953-136.656 1.938v39.53c45.86 22.493 90.487 21.026 136.656-.28V67.25zM133.72 74.22c-6.81.035-13.448.378-19.876 1-3.125 24.06 6.117 52.095 24.625 73.78 7.23-4.935 13.748-10.28 19.53-15.72-6.15-19.57-10.293-38.917-11.625-58.718-2.14-.095-4.324-.27-6.438-.312-2.082-.04-4.165-.042-6.218-.03zm245.343 0c-2.054-.012-4.136-.01-6.22.03-2.107.042-4.27.218-6.406.313-1.33 19.8-5.475 39.148-11.625 58.718 5.783 5.44 12.3 10.785 19.532 15.72 18.507-21.685 27.75-49.72 24.625-73.78-6.442-.624-13.086-.965-19.908-1zM94.75 78.062c-13.698 2.862-26.024 7.367-36.406 13.593-.193 29.268 13.016 59.952 33.156 77.22l-1.22 1.405c11.587-2.66 22.214-6.694 31.876-11.624-19.18-23.47-29.492-52.762-27.406-80.594zm323.313 0c2.086 27.83-8.227 57.123-27.407 80.593 9.663 4.93 20.29 8.964 31.875 11.625l-1.217-1.405c20.146-17.273 33.33-47.973 33.125-77.25-10.376-6.215-22.686-10.704-36.375-13.563zm-377.657 28c-13.318 14.436-20.88 34.407-20.53 62.406 17.887 4.688 34.462 6.026 49.686 4.936-16.07-18.11-26.396-42.29-29.156-67.344zm432 0c-2.76 25.052-13.084 49.234-29.156 67.343 15.225 1.09 31.8-.248 49.688-4.937.35-28-7.214-47.97-20.532-62.407zm-133.72 16.406l-.873.436c-24.024 11.837-48.424 18.767-72.907 20.28v214.095c73.59-26.01 122.813-81.045 122.813-144.25 0-13.11-2.14-25.886-6.158-38.155-17.663-9.017-32.466-20.5-44-32.063l-4.093-4.093 1.842-5.47c1.205-3.623 2.32-7.217 3.375-10.78zm-164.436.436c1.018 3.422 2.094 6.87 3.25 10.344l1.813 5.47-4.063 4.093c-12.424 12.456-28.62 24.84-48.125 34.125-3.644 11.637-5.563 23.723-5.563 36.093 0 63.404 50.45 118.71 124.657 144.595V143.28c-24.095-1.254-48.185-7.88-71.97-20.374zM157 326.72c-5.933 4.816-11.396 9.827-16.5 15 22.033 17.485 50.57 35.567 79.5 43.374 5.045-5.72 10.61-11.164 16.78-16.313L157 326.72zm197.906 0l-79.78 42.06c6.348 5.3 12.058 10.913 17.218 16.814 29.006-7.38 57.734-25.302 80.062-42.844-5.387-5.534-11.177-10.898-17.5-16.03zm-226.97 28.905c-6.25 7.537-11.945 15.36-17.25 23.375 23.228 18.444 53.698 37.554 84.25 44.594 3.68-7.79 7.9-15.355 12.783-22.594-30.46-9.71-58.2-28.08-79.782-45.375zm256.97 1.094c-21.83 17.33-49.757 35.53-80.312 44.874 4.804 7.193 8.967 14.706 12.594 22.437 30.588-6.498 61.223-25.386 84.78-43.874-5.26-8.024-10.874-15.883-17.062-23.437zM100.72 394.936c-5.853 9.823-11.394 19.87-16.97 30.032 28.236 27.185 59.256 42.295 95.28 45.78 2.33-10.074 5.165-19.994 8.657-29.656-33.072-8.298-63.446-27.63-86.968-46.156zm311.186 1.22c-23.8 18.54-54.345 37.583-87.5 45.406 3.415 9.513 6.18 19.277 8.47 29.187 36.024-3.485 67.044-18.595 95.28-45.78-5.346-9.746-10.664-19.378-16.25-28.814z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bridge;

impl IconShape for Bridge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.063 18.25L209.97 140c-49.033 13.39-90.27 48.118-114.876 94.594h-56.25v93.125h112.5c3.17-59.343 48.313-106.44 103.72-106.44 55.404 0 100.547 47.1 103.717 106.44h112.5v-93.126h-56.25c-24.6-46.47-65.85-81.2-114.874-94.594L255.063 18.25zM38.843 344.313v150.25H151.47v-150.25H38.843zm319.813 0v150.25H471.28v-150.25H358.657z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrightExplosion;

impl IconShape for BrightExplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M328.547 19.115c-30.61 99.22-47.583 151.205-86.88 156.778-18.626 2.642-42.988-19.225-70.16-50.29 15.47 30.702 21.275 55.265 10.845 61.348-15.787 9.21-51.095-6.94-106.815-30.837 31.653 20.827 83.667 50.18 77.358 58.63-8.074 10.81-77.23-4.706-130.866-13.163 89.224 25.398 137.61 55.572 137.61 82.387 0 18.423-48.845 62.18-71.888 83.928 19.558-11.397 64.736-24.44 76.777-2.99 13.335 23.758-6.577 61.6-28.5 128.027 31.39-46.19 73.363-108.122 90.734-106.49 12.248 1.15-4.805 60.692-10.47 98.71 21.547-80.082 46.534-132.5 90.153-131.015 29.665 1.01 58.022 30.762 88.99 52.047-16.188-19.81-45.975-47.99-39.55-53.243 8.9-7.276 56.48 12.547 94.224 25.726-24.982-17.962-68.644-43.88-61.653-50.852 10.417-10.387 72.436 1.332 117.49 7.178-87.746-30.728-136.846-44.187-147.33-78.533-5.283-17.31 10.853-40.3 40.89-68.038-31.377 17.197-54.588 28.694-63.737 12.392-11.576-20.622 11.374-65.883 35.238-126.06-21.135 32.47-48.532 83.487-55.254 77.174-8.972-8.425 5.598-77.597 12.795-132.813h-.003zM20.45 19.27v23.36c48.52 27.437 95.253 62.39 141.333 102.786-33.768-41.685-67.34-83.79-94.025-126.146H20.45zm175.79 0c18.465 37.356 34.503 76.96 48.475 117.97-5.007-39.79-9.898-79.367-12.264-117.97h-36.21zm160.022 0c-7.18 26.672-15.416 53.437-25.116 80.593 15.405-27.34 30.698-54.514 46.723-80.593H356.26zm105.123 0c-27.895 50.718-63.73 99.873-105.707 147.755 46.514-37.68 92.9-75.343 140.164-103.37V19.27h-34.457zm34.455 160.02c-36.077 17.98-74.843 34.036-115.635 47.89 38.908-6.17 77.882-12.105 115.635-15.77v-32.12zm-206.266 42.868c9.35 0 16.93 7.58 16.93 16.932 0 9.35-7.58 16.93-16.93 16.93s-16.93-7.58-16.93-16.93 7.58-16.932 16.93-16.932zm-52.06 1.598c15.508 0 28.082 12.57 28.082 28.08 0 9.718-4.938 18.28-12.44 23.322 3.614 3.843 5.842 9.002 5.842 14.694 0 11.86-9.613 21.474-21.473 21.474s-21.474-9.615-21.474-21.474c0-5.687 2.228-10.842 5.837-14.684-7.51-5.04-12.453-13.608-12.453-23.332 0-15.51 12.57-28.08 28.08-28.08zM20.45 235.078v38.547c31.87-4.584 64.46-5.693 97.532-4.09-33.727-10.19-67.407-20.35-97.53-34.457zm265.82 28.377c9.35 0 16.93 7.58 16.93 16.932 0 9.35-7.58 16.93-16.93 16.93s-16.932-7.58-16.932-16.93 7.58-16.932 16.932-16.932zM128.494 295.05c-36.153 11.99-72.24 20.293-108.043 24.313v51.393c30.994-28.64 69.426-52.264 108.044-75.703v-.002zm5.84 88.645c-37.923 30.72-75.607 61.482-113.885 87.02v23.943h29.784c24.02-37.76 52.365-74.765 84.1-110.963zm202.07 11.096c26.807 33.093 53.226 66.414 76.508 99.87h59.568c-46.586-27.078-91.877-61.12-136.074-99.87h-.002zm-52.562 9.93c-3.175 30.26-6.39 60.5-10.512 89.94h20.44c-4.51-29.083-7.904-59.17-9.926-89.94h-.002zm26.865 13.432c11.346 25.473 22.374 51.18 32.705 76.508h23.36c-19.395-23.9-38.105-49.64-56.065-76.508z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BroadDagger;

impl IconShape for BroadDagger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62.936 16.73L19.72 59.95c1.622 12.54 7.583 26.894 19.39 41.904l65.974-65.973C90.058 24.2 75.52 18.26 62.937 16.73zM96.1 71.295L74.895 92.5c6.34 11.07 15.39 23.783 26.533 36.965l25.197-36.94c-10.865-8.725-21.27-15.93-30.525-21.23zM258.627 88.26l19.406 19.408L112.15 273.55l-19.408-19.405 34.88 101.255 54.08-12.298-51.913-51.91 165.884-165.883 51.908 51.907 12.3-54.08L258.628 88.26zm-117.682 16.435L114.25 143.83c2.63 2.796 5.335 5.595 8.125 8.385 1.305 1.305 2.612 2.592 3.92 3.863l38.05-28.486c-2.757-2.94-5.6-5.883-8.532-8.817-4.95-4.95-9.925-9.645-14.868-14.08zm35.877 36.903l-36.564 27.37c9.672 8.487 19.167 15.894 28.04 22.005l26.266-26.266c-5.07-7.363-11.01-15.144-17.742-23.11zm101.34 27.652l-22.967 22.967c54.55 55.23 93.45 99.893 117.893 132.922 13.023 17.596 21.977 31.83 27.18 43.22 2.6 5.695 4.322 10.65 4.923 15.554.603 4.903-.024 10.743-4.266 15.025-4.243 4.28-10.11 4.957-15.014 4.373-4.905-.585-9.854-2.296-15.54-4.887-11.375-5.182-25.592-14.118-43.183-27.135-33.02-24.434-77.71-63.365-133.044-118.02l-21.457 21.457c78.36 65.017 223.158 187.35 324.5 219.406-36.243-99.91-155.985-246.05-219.024-324.883zm-36.183 36.184l-34.623 34.62c54.882 54.197 99.09 92.638 130.948 116.214 16.98 12.565 30.55 20.932 39.812 25.152 3.486 1.588 6.076 2.39 8.057 2.863-.476-2-1.294-4.627-2.906-8.158-4.244-9.292-12.63-22.88-25.202-39.87-23.586-31.868-61.997-76.044-116.087-130.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BroadheadArrow;

impl IconShape for BroadheadArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.656 20.688v36.437L73.5 110.97c6.515-14.93 17.988-27.23 32.313-34.814L50.25 20.686l-30.594.002zm119.47 65.906c-29.312 0-52.876 23.533-52.876 52.844 0 21.654 12.868 40.178 31.406 48.375 1.88-37.477 32.825-67.482 70.656-67.907-7.734-19.565-26.786-33.312-49.187-33.312zm213.843 44.25L312.06 145.47l97.032 253.436 7.5 19.625L397 410.97l-253.28-97.533-14.345 40.97L492.28 494.312l-139.31-363.47zm-163.845 7.72c-29.31 0-52.875 23.563-52.875 52.874 0 24.35 16.282 44.705 38.594 50.906 2.935-34.576 30.61-62.252 65.187-65.188-6.2-22.312-26.553-38.594-50.905-38.594zm113.5 34.53L278.75 273.688l-1.344 5.625-5.625 1.312-100.124 23.53L384.156 386l-81.53-212.906zm-56.5 22.47c-29.31 0-52.875 23.563-52.875 52.874 0 10.896 3.28 20.983 8.875 29.375l59.78-14.063 14.033-59.03c-8.473-5.784-18.724-9.157-29.813-9.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Broadsword;

impl IconShape for Broadsword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M491.844 22.533l-83.42 14.865L196.572 249.25c3.262 4.815 5.37 10.72 5.37 16.932 0 5.863-1.71 11.35-4.643 15.996-5.065-1.606-10.448-2.477-16.027-2.477-15.724 0-29.904 6.89-39.69 17.796l-9.112-9.113 17.237-17.237c-4.515-5.772-8.907-11.645-13.19-17.6l-19.443 19.44-13.215-13.215 21.828-21.827c-4.403-6.59-8.67-13.278-12.792-20.068l-40.802 40.803 58.314 58.314c-1.613 5.075-2.49 10.47-2.49 16.063 0 7.666 1.65 14.96 4.592 21.564l-72.14 72.14-14.56-14.56L21.013 437l14.558 14.56-8.607 8.608 27.246 27.246 8.606-8.61 14.56 14.56 24.798-24.8-14.557-14.556 72.158-72.16c6.586 2.922 13.858 4.562 21.498 4.562 5.593 0 10.988-.877 16.063-2.49l58.363 58.363L296.5 401.48c-6.797-4.127-13.486-8.395-20.068-12.793l-21.83 21.83L241.39 397.3l19.442-19.44c-5.962-4.29-11.835-8.683-17.603-13.194l-17.238 17.238-9.16-9.16c10.905-9.785 17.795-23.965 17.795-39.69 0-5.346-.806-10.51-2.285-15.39 4.703-3.04 10.288-4.817 16.265-4.816 6.21 0 11.776 1.77 16.52 4.955L476.98 105.95l14.864-83.417zm-66.227 53.012l13.215 13.215-191.684 191.68-13.214-13.213L425.617 75.545zM181.273 298.39c19.257 0 34.665 15.41 34.665 34.665 0 19.256-15.408 34.666-34.665 34.666-19.256 0-34.666-15.41-34.666-34.665s15.41-34.666 34.666-34.666z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenBone;

impl IconShape for BrokenBone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M301.486 20.37l-33.19 134.755 15.306 49.895 43.55-103.81-25.666-80.84zM161.324 43.46l2.03 110.69 90.68 36.516-92.71-147.207zm180.358 126.73l-29.532 40.572 85.268-39.008-55.736-1.563zm-99.346 39.134c-59.628 41.982-124.36 74.982-199.207 81.297-13.185 1.113-21.704 8.3-26.302 15.185-13.788 20.652 8.285 51.02 54.332 33.37-55.518 33.324-8.274 81.184 25.113 43.495 34.24-38.648 74.95-74.53 117.74-91.58l12.696-28.235-32.81 6.272 48.436-59.803zm59.62 21.973l120.356 61.736-8.443-53.13-111.913-8.606zm-19.214 25.398l5.78 34.688-40.055-13.627c70.405 49.457 118.18 111.73 161.883 190.79 22.65 40.976 71.903 6.46 34.275-34.278 41.4 33.974 78.094-24.99 40.883-40.883-63.653-27.187-118.033-62.682-150.73-109.434h-.003l-52.033-27.255zm-53.697 46.844v.003l.002-.004h-.002zm0 .003l-60.248 79.27 46.773-10.303 13.475-68.967zm18.963.934l18.996 118.392 36.414-19.62-55.41-98.773z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenBottle;

impl IconShape for BrokenBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384.47 9.938L320.436 26.03 181.03 165.438c-46.298 46.3 1.17 87.987-48.25 137.407l-81.593 81.594c-1.23-.054-2.468-.058-3.718.03-5.936.42-13.572 2.884-19.94 9.25-6.365 6.367-8.423 13.597-8.843 19.532-.418 5.935.87 11.557 2.907 17.47 4.076 11.823 12.242 24.43 23.718 35.905 11.477 11.476 24.05 19.642 35.875 23.72 5.912 2.037 11.565 3.324 17.5 2.905 5.936-.42 12.915-2.727 19.282-9.094 6.365-6.366 9.048-13.752 9.467-19.687.27-3.817-.147-7.53-1.03-11.25l78.374-78.376c49.42-49.42 91.108-1.95 137.407-48.25l160.938-160.938-107 12.156 7.78-101.593L327.47 104c3.406-34.72 23.273-64.073 57-94.063zm1.217 218.906l13.438 13.437-65.344 65.314c-25.316 25.317-51.6 25.56-73.874 25.656-22.274.098-40.82-.075-63.5 22.594l-77.625 78.5c-2.994-5.3-6.705-10.628-11.093-15.813l75.282-76.124c26.74-26.74 54.44-27.996 76.936-28.094 22.495-.097 39.457.857 60.438-20.125l65.343-65.343zm-344.78 175.5c2.838-.034 7.036.442 11.28 1.906 9.702 3.345 21.423 10.86 32.032 21.47 10.608 10.608 18.123 22.328 21.467 32.03 1.673 4.85 1.79 9.35 1.594 12.125-.28 1.417-.234 1.427-1.593 1.625-2.774.196-6.9-.327-11.75-2-9.696-3.343-21.395-10.9-32-21.5-10.608-10.61-18.155-22.33-21.5-32.03-1.672-4.852-2.446-9.195-2.25-11.97.038-1.55.02-1.547 1.594-1.625.348-.025.72-.026 1.126-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenHeart;

impl IconShape for BrokenHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373.47 25.5c-33.475-.064-67.614 13.444-94.44 43.156l37.22 145.156-33.437.032 35.343 132.093-116.718-188.375 50.03 5.375L202.5 47.312C120.437-1.43 4.756 40.396 8.5 158.156c4.402 138.44 191.196 184.6 247.406 331.625 59.376-147.035 251.26-184.33 246.656-331.624-2.564-82.042-64.6-132.532-129.093-132.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenHeartZone;

impl IconShape for BrokenHeartZone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160.45 21.785c-50.2.096-98.177 39.404-99.67 103.264h-.003C58.094 239.693 207.683 268.72 254.8 383.163c42.852-114.436 187.95-150.36 190.53-258.115 2.293-95.77-96.364-127.004-160.037-80.736l39.533 114.553-44.945-11.256 26.802 109.964-89.325-149.008 52.3 5.848-50.92-73.105c-17.913-13.358-38.275-19.563-58.288-19.525zM105.3 331.24c-51.466 16.674-84.68 41.936-84.68 69.955 0 50.166 104.813 91.108 234.19 91.106 129.374 0 234.19-40.94 234.19-91.105 0-28.02-33.215-53.28-84.682-69.955 27.147 12.916 43.8 29.23 43.8 47.18 0 41.414-86.502 74.836-193.31 74.836-106.805 0-193.31-33.422-193.31-74.836 0-17.95 16.656-34.264 43.803-47.18zm68.915 13.828c-28.252 9.053-46.72 22.11-46.72 37.418 0 27.24 57.065 49.62 127.314 49.62 70.247 0 127.315-22.38 127.315-49.62 0-15.31-18.47-28.365-46.72-37.418 14.94 7.037 24.527 15.398 24.527 25.217 0 22.488-47.13 40.672-105.123 40.672-57.994 0-105.124-18.186-105.124-40.672 0-9.82 9.59-18.18 24.53-25.217z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenRibbon;

impl IconShape for BrokenRibbon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.867 26.06l-1.05 59.12c87.818 31.78 175 31.654 262.9 1.535l-1.07-60.106c-87.14 22.31-174.228 18.73-260.78-.55zm-1.4 78.813l-3.317 186.662 72.694-65.21 62.41 207.1 62.41-207.1 72.69 65.21-3.29-185.213c-5.706 1.87-11.415 3.633-17.127 5.262l-50.962 70.947-45.288-55.13c-11.9.51-23.805.482-35.708-.09l-45.363 55.22-51.494-71.684.268-.192c-5.976-1.782-11.95-3.718-17.923-5.78zm45.77 13.066l24.374 33.93 21.617-26.313c-15.337-1.63-30.67-4.166-45.99-7.618zm172.644.662c-15.104 3.245-30.222 5.635-45.347 7.158l21.45 26.11 23.898-33.268zM183.343 313.717L85.838 439.95l84.443 53.974 13.062-180.207zm146.088 0l13.06 180.207 84.444-53.975-97.504-126.233z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenShield;

impl IconShape for BrokenShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.906 23.625v9.344c0 102.68 10.49 205.087 41.125 288.155 30.637 83.068 82.364 147.415 163.75 169.78l2.22.626 2.22-.5C344.49 472 396.864 407.39 425.593 323.47c28.728-83.92 35.25-187.777 35.25-290.5v-9.345H45.906zM64.72 42.313H442.06c-.413 98.8-7.497 197.342-34.125 275.125-27.21 79.487-73.39 136.637-154.375 154.78-73.28-21.03-119.914-78.696-149-157.562-28.475-77.212-39.206-174.13-39.843-272.344zm18.81 18.75c.807 84.13 12.486 172.823 39.314 244.812 7.825 20.998 16.874 40.495 27.25 58.063l45.844-38.438-40.75-75.063-5.47-10.062 10.97-3.344s38.865-11.786 60.406-18.25l20.437-7.25-94.843-150.468H83.53zm160.25 0l45.782 91.5 132.407-43.157c.69-16.205 1.053-32.366 1.155-48.344H243.78zm177.157 68.343L298.031 169.47l24.908 49.78 25.875 48.72 53.28-1.845c10.245-42.834 16.03-89.664 18.844-136.72zM310.908 236.47l-30.75 10.374 67.25 145.187c17.813-23.2 31.737-51.6 42.624-83.686 2.578-7.595 4.966-15.39 7.19-23.344l-53.626 1.844-5.844.22-2.75-5.158-24.094-45.437zm-99.22 4.686c-13.133 3.972-27.346 8.262-34.625 10.47L216 323.28l3.625 6.72-5.844 4.906-53.56 44.906c24.67 35.91 55.887 61.828 94.655 73.125 30.34-6.91 55.36-21.496 76.03-42.062L211.69 241.155z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenSkull;

impl IconShape for BrokenSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206.875 27.03l-3 2.064c-14.3 9.87-22.835 28.048-25.344 52.375-19.293 11.407-37.976 13.766-50.843 10.905-4.06 4.988-6.62 10.712-8.937 16.938 20.462 6.71 47.52 2.697 73.688-14.344l3.906-2.532.312-4.657c1.392-21.138 7.59-34.313 15.25-41.186l22.344 3.093c-1.668 18.234-1.372 38.198 7.53 60.376l2.657 6.562 7.032-.78c23.817-2.638 31.686-3.652 54.81.405l7.533 1.313 2.78-7.126c3.936-10.084 7.778-18.638 12.376-25.968 6.878 6.72 15.8 12.09 25.31 16.093 11.845 4.985 24.8 8.13 36.595 5.093-3.235-5.86-7.044-12.416-10.97-18-5.35-.25-11.948-1.607-18.374-4.312-11.263-4.742-21.638-13.227-24.686-18.75L330.47 53.03l-8.783 9.876c-8.824 9.927-14.54 21.44-19.687 33.907-16.88-2.398-28.733-2-45.188-.282-6.25-19.213-5.357-36.077-3.156-53.75l1.125-9.124-9.124-1.28-35.187-4.845-3.595-.5zm171.094 6.845L367.686 49.78c17.986 12.885 30.035 27.273 40.375 47.814l3.282 6.53-4.28 5.94c-6.31 8.73-11.433 19.695-15.908 32.374 4.09 11.243 6.268 24.716 6.28 35.968l.033 14.188-14.033-2.28L354 185.5l-26.594 29.188-11.97 13.125-7.78-15.938-16.594-34.03c-10.396 12.86-19.287 23.182-30.593 30.936-15.34 10.52-34.276 14.385-61 12.564l-8.126-.563-2.5-7.75L177.78 179l-40.624 7.844-11.937 2.344-2.19-12s-2.258-12.142-6.31-25.532c-2.028-6.695-4.507-13.658-7.157-19.156-2.65-5.498-5.83-9.36-6.75-10.03l-6.47-4.72 1.876-7.813c4.586-19.172 17.198-36 37.218-50.374l-10.72-19.813C56.08 95.554 25.5 197.82 24.095 296.344c43.835 22.98 73.8 47.83 92.28 74.844 17.738 25.923 24.46 53.747 23.407 81.562 11.497 6.293 22.977 11.934 35.69 15.344 21.81 5.85 45.39 8.69 69.78 8.687 24.396-.003 49.41-2.844 72.375-8.717 18.33-4.69 35.105-11.838 50.656-20.47 1.95-55.263 35.304-110.082 118.814-151.468-1.55-97.394-34.025-206.568-109.125-262.25zM202.436 250.063c6.002 3.154 11.246 7.896 14.625 13.75 12.22 21.162-.962 51.59-29.218 67.906-28.256 16.313-61.282 12.128-73.5-9.033-6.974-12.077-5.45-27.048 2.156-40.812 12.835-.22 27.956-2.805 44.25-9.03 15.522-5.93 30.078-14.063 41.688-22.783zm106.22 0c11.61 8.72 26.164 16.852 41.687 22.78 16.294 6.227 31.415 8.812 44.25 9.032 7.607 13.764 9.13 28.735 2.156 40.813-12.218 21.16-45.213 25.346-73.47 9.03-28.255-16.314-41.436-46.743-29.217-67.906 3.38-5.853 8.592-10.595 14.593-13.75zm-53.063 75.625c18.53 36.128 33.233 72.246 40.53 108.375-27.02-8.244-54.042-9.343-81.062 0 9.866-36.13 21.727-72.247 40.532-108.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BrokenTablet;

impl IconShape for BrokenTablet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.156 23.688l11.22 37.156-34.72-32.97-92.562 43.876 37 102.47-48.47 35.468-12.874 179.718 102.563 34.156-9.375-31 36.312 34.47 151.188-76.157 32.468-94.656-62.25-10.064 70.688-14.53 33.844-98.69-215.032-109.25zM66.22 57.124L28.405 105.25l52.625 54.344 31.72-59.344-46.53-43.125zm162.155 21.563l140.688 99.843-10.813 15.25-140.688-99.843 10.813-15.25zm-21.688 31.562l112.688 79.97 17.188 12.186-20.563 4.53c-25.486 5.633-45.376 14.116-60.406 24.626 31.188 5.15 50.3 18.783 57.344 36.938 8.38 21.597-1.696 45.65-20.907 61.53l-11.905-14.405c14.65-12.11 20.17-27.987 15.375-40.344-4.74-12.213-20.912-24.79-58.563-26.936-5.286 6.23-9.412 12.884-12.468 19.844-12.038 27.414-8.065 61.404 11.593 97.187l-16.375 8.97c-21.57-39.264-27.277-79.646-12.344-113.658 13.06-29.744 41.485-53.265 84.97-66.78l-96.44-68.438 10.814-15.22zm280.594 15.875l-1.81 5.22-39.314 114.686 11.97 22.44 32.093-93.283-2.94-49.062zm-463 1.75l-5.124 36.47 56.75 58.624-1.344-43.157-50.28-51.938zM118.595 129l-25.406 47.47 1.28 41.186 25.5-50.875-1.374-37.78zm319.25 141.188l-30.72 89.562 1.095 53.78 41.592-120.936-11.968-22.406zM388.72 372.656l-151.095 76.156-2.656 1.344L229 487.22l160.72-64.283-1-50.28zm-277.97 36.78l10.22 50.377 89.093 27.687 6.875-42.688-106.188-35.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BubbleField;

impl IconShape for BubbleField {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.906 13.47c-132.42 0-240.03 107.578-240.03 240 0 132.42 107.61 240.03 240.03 240.03 132.42 0 240-107.61 240-240.03 0-132.422-107.58-240-240-240zm-9.375 23.25v18.093c3.11-.146 6.233-.22 9.376-.22 3.123 0 6.226.076 9.313.22V36.718c13.066.55 25.82 2.243 38.186 5l-4.687 17.53c6.108 1.352 12.117 2.97 18 4.875l4.717-17.563c12.366 3.906 24.24 8.896 35.532 14.844L345.81 77.25c5.522 2.91 10.898 6.065 16.094 9.47l9.188-15.94c10.828 6.956 20.983 14.85 30.375 23.564l-13.126 13.125c4.56 4.244 8.92 8.718 13.062 13.374l13.22-13.22c8.58 9.458 16.335 19.694 23.155 30.564l-16.342 9.437c3.29 5.275 6.333 10.72 9.125 16.313l16.468-9.5c5.78 11.266 10.587 23.13 14.345 35.437l-18.53 4.97c1.792 5.94 3.328 11.99 4.56 18.155l18.658-5c2.607 12.257 4.173 24.884 4.625 37.813h-19.532c.062 2.034.094 4.074.094 6.125 0 4.22-.145 8.407-.406 12.562h19.72c-.644 12.87-2.405 25.447-5.19 37.625l-19.28-5.156c-1.423 6.096-3.15 12.102-5.125 17.967l19.436 5.22c-3.912 12.15-8.86 23.832-14.75 34.937l-17.625-10.188c-2.947 5.513-6.15 10.847-9.592 16.03l17.78 10.252c-6.872 10.634-14.644 20.632-23.218 29.875l-14.656-14.657c-4.25 4.565-8.713 8.917-13.375 13.063l14.75 14.75c-9.316 8.453-19.377 16.096-30.064 22.842l-10.47-18.156c-5.246 3.317-10.65 6.4-16.217 9.22l10.5 18.187c-11.097 5.734-22.73 10.57-34.845 14.343l-5.47-20.406c-5.9 1.855-11.936 3.45-18.06 4.75l5.467 20.406c-12.102 2.646-24.572 4.275-37.343 4.813v-21.126c-3.088.143-6.19.22-9.314.22-3.143-.002-6.267-.075-9.375-.22v21.125c-12.76-.542-25.216-2.198-37.31-4.845L212.687 445c-6.126-1.3-12.162-2.895-18.063-4.75l-5.47 20.375c-12.103-3.77-23.755-8.583-34.843-14.313l10.5-18.187c-5.58-2.826-10.99-5.925-16.25-9.25l-10.468 18.156c-10.68-6.744-20.723-14.392-30.03-22.842l14.717-14.72c-4.663-4.147-9.09-8.525-13.343-13.093L94.78 401.03c-8.568-9.237-16.348-19.214-23.218-29.842l17.782-10.282c-3.434-5.174-6.65-10.498-9.594-16l-17.625 10.188c-5.888-11.104-10.838-22.79-14.75-34.938l19.438-5.22c-1.974-5.864-3.67-11.87-5.094-17.967l-19.314 5.155c-2.784-12.183-4.543-24.754-5.187-37.625h19.718c-.262-4.155-.407-8.34-.407-12.563 0-2.05.033-4.09.095-6.125h-19.53C37.54 232.89 39.08 220.25 41.687 208l18.687 5c1.233-6.165 2.77-12.214 4.563-18.156l-18.532-4.97c3.763-12.313 8.56-24.164 14.344-35.436l16.47 9.5c2.79-5.594 5.832-11.038 9.124-16.313L70 138.187c6.82-10.864 14.577-21.077 23.156-30.53l13.22 13.218c4.142-4.66 8.47-9.158 13.03-13.406l-13.094-13.095c9.385-8.708 19.526-16.61 30.344-23.563l9.188 15.938c5.207-3.413 10.59-6.582 16.125-9.5l-9.157-15.844c11.278-5.94 23.152-10.91 35.5-14.812l4.718 17.562c5.895-1.91 11.91-3.55 18.032-4.906l-4.687-17.5c12.358-2.756 25.097-4.478 38.156-5.03zm-13.343 42.56l-28 176.25-76.093 23.376V242.03h-18.688v108h18.688v-17.967h68.187l22.626 22.406h-19.47v41.686h110.908V354.47h-19.5l22.625-22.408h68.25v17.97h18.686v-108H380.72v36.874l-76.126-23.375-28-176.25h-45.406zM253.875 166c12.892.016 25.78 24.938 25.78 74.688h-51.56c0-49.816 12.888-74.704 25.78-74.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bubbles;

impl IconShape for Bubbles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M82.055 26.807c-33.127 0-60.182 27.057-60.182 60.183 0 33.126 27.055 60.182 60.182 60.182 33.126 0 60.18-27.056 60.18-60.182 0-33.127-27.054-60.183-60.18-60.183zm13.85 21.043c16.15 5.665 27.64 20.98 27.64 39.14 0 23.025-18.465 41.49-41.49 41.49-23.025 0-41.49-18.465-41.49-41.49 0-.55.02-1.097.04-1.642 6.067 8.444 15.966 13.95 27.157 13.95 18.46 0 33.425-14.966 33.425-33.427 0-6.638-1.943-12.82-5.28-18.02zm158.058 11.855c-58.15.002-105.123 47.627-105.123 105.71 0 48.528 32.96 89.51 77.738 101.726-8.41 17.653-13.498 37.277-13.498 58.294 0 76.485 62.51 138.998 138.996 138.998h.004c76.485 0 138.412-62.562 138.412-138.998 0-38.083-15.76-72.427-40.658-97.454 16.358-14.68 26.643-36.147 26.643-59.648 0-43.695-35.733-79.426-79.428-79.426-20.743 0-39.395 8.335-53.43 21.41-18.555-30.156-51.717-50.61-89.657-50.61zm0 18.69c34.466 0 64.11 20.527 78.127 49.697-2.174 5.54-3.38 11.563-3.38 17.873 0 27.04 21.918 48.96 48.958 48.96s48.96-21.92 48.96-48.96c0-14.81-6.586-28.073-16.978-37.05 27.496 5.802 48.137 30.194 48.137 59.417 0 21.225-10.98 40.403-27.336 51.186l-10.354 6.826 9.418 8.07c25.745 22.062 42.29 54.548 42.29 91.02 0 66.374-53.402 120.308-119.724 120.308h-.004c-57.162 0-105.154-40.103-117.322-93.642 15.684 22.5 41.747 37.226 71.254 37.226 47.94 0 86.8-38.862 86.8-86.8 0-47.94-38.86-86.8-86.8-86.8-28.382 0-53.578 13.625-69.416 34.688-39.414-8.176-69.063-43.066-69.063-85 0-.494.01-.985.017-1.476 9.545 23.694 32.734 40.425 59.846 40.425 35.627 0 64.51-28.88 64.51-64.508 0-28.533-18.534-52.723-44.214-61.232 2.07-.148 4.162-.228 6.273-.228zm-148.018 163.44c-7.16-.028-14.436.883-21.668 2.82C40.2 256.47 14.415 302.08 26.203 346.076c6.57 24.52 23.502 43.28 44.84 53.198-6.084 12.932-7.977 27.963-3.982 42.87 9.028 33.693 44.24 53.447 77.813 44.45 33.573-8.995 53.595-43.677 44.6-77.25-3.488-13.016-10.86-23.98-20.496-32.017 16.684-19.844 24.108-47.014 16.87-74.027v-.003c-9.596-35.817-41.55-59.943-76.84-61.395-1.017-.042-2.04-.064-3.062-.068zm0 18.665c.794.002 1.586.018 2.375.05 27.367 1.083 52.01 19.727 59.475 47.585 6.445 24.055-2.003 47.964-19.39 63.7l-9.663 8.743 11.383 6.346c10.19 5.68 18.04 15.104 21.295 27.256 6.393 23.86-7.526 47.97-31.383 54.36-20.92 5.606-42.49-4.383-51.775-22.935 6.85 3.057 14.754 3.877 22.564 1.784 18.086-4.847 28.82-23.438 23.973-41.525-4.847-18.085-23.437-28.816-41.523-23.97-2.766.74-5.36 1.807-7.752 3.14-19.715-6.628-35.476-22.17-41.27-43.797-.678-2.524-1.18-5.05-1.548-7.572 10.962 18.105 32.915 27.61 54.387 21.857 26.044-6.978 41.5-33.75 34.52-59.796-4.7-17.548-18.392-30.275-34.788-34.586 3.055-.432 6.1-.647 9.12-.64z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BubblingBeam;

impl IconShape for BubblingBeam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.607 15.518v72.9L225.837 278.5 114.91 254.926l144.863 114.262c1.57-15.168 14.386-27 29.97-27 16.642 0 30.136 13.49 30.136 30.134 0 16.64-13.49 30.135-30.136 30.135-10.836 0-20.334-5.722-25.644-14.31l-105.08-2.928 156.667 71.807-124.75 22.85 43.122 15.246h121.036c.962-5.602 2.166-11.124 3.597-16.555-13.39-4.216-23.105-16.73-23.105-31.515 0-18.244 14.79-33.037 33.04-33.037 6.266 0 12.127 1.746 17.12 4.777 5.93-8.855 12.5-17.16 19.61-24.81-4.832-4.24-8.404-9.88-10.07-16.294-3.96 3.357-9.082 5.386-14.68 5.386-12.543 0-22.713-10.167-22.713-22.713 0-12.543 10.167-22.713 22.712-22.713 8.763 0 16.365 4.965 20.153 12.235 5.95-7.925 15.426-13.053 26.1-13.053 12.914 0 24.075 7.504 29.363 18.39 12.128-6.168 24.79-10.725 37.685-13.425v-67.293l-7.635-65.463-38.052 105.1-38.988-164.658-28.673 111.69-93.04-160.578 10.25 119.818L99.375 15.518H17.606zm268.09 241.447c8.683 0 16.033 5.703 18.512 13.568 5.346-4.592 12.292-7.373 19.894-7.373 16.875 0 30.56 13.68 30.56 30.56 0 16.875-13.68 30.56-30.56 30.56-16.744 0-30.337-13.47-30.55-30.167-2.403 1.066-5.058 1.67-7.857 1.67-10.718 0-19.408-8.69-19.408-19.41 0-10.718 8.686-19.408 19.407-19.408zm112.25 25.084c10.72 0 19.41 8.688 19.41 19.41 0 10.717-8.69 19.407-19.41 19.407-10.718 0-19.408-8.687-19.408-19.408 0-10.72 8.686-19.41 19.407-19.41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BubblingBowl;

impl IconShape for BubblingBowl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.982 22.29c-17.095 0-30.953 13.86-30.953 30.954 0 17.096 13.857 30.953 30.952 30.953 17.096 0 30.954-13.857 30.954-30.953 0-17.095-13.858-30.953-30.954-30.953zm-2.77 9.33c-1.963.883-3.61 2.304-5.22 3.915-7.128 7.128-7.344 18.743-.217 25.87 7.128 7.13 18.96 7.13 26.088 0 1.707-1.705 2.808-3.775 3.698-5.87-.526 4.734-2.46 9.416-6.087 13.043-8.487 8.487-22.166 8.268-30.653-.217h-.002c-8.484-8.483-8.703-22.166-.216-30.65 3.48-3.48 8.08-5.463 12.61-6.09zm-89.09 2.294c-23.916 0-43.302 19.384-43.302 43.3 0 23.914 19.386 43.3 43.3 43.3 3.23 0 6.375-.365 9.403-1.035 1.283 15.915 14.596 28.434 30.842 28.434 17.096 0 30.953-13.858 30.953-30.953 0-16.374-12.717-29.77-28.812-30.87.597-2.866.916-5.834.916-8.877 0-23.915-19.386-43.3-43.3-43.3zm-6.476 15.88c-2.674 1.203-4.917 3.14-7.11 5.333-9.717 9.716-10.012 25.55-.298 35.266 9.715 9.716 25.845 9.716 35.56 0 2.328-2.327 3.827-5.15 5.04-8.002-.718 6.454-3.354 12.837-8.3 17.782-11.565 11.568-30.216 11.27-41.782-.297h-.002c-11.566-11.566-11.863-30.22-.295-41.785 4.742-4.743 11.014-7.443 17.186-8.297zM324.49 87.196c-32.255 0-58.402 26.147-58.402 58.403 0 32.255 26.147 58.402 58.402 58.402 32.256 0 58.403-26.147 58.403-58.402 0-32.256-26.147-58.403-58.403-58.403zm-111.57 11.74c-1.85.83-3.4 2.17-4.918 3.688-6.72 6.72-6.926 17.668-.207 24.387 6.718 6.718 17.873 6.718 24.594 0 1.608-1.61 2.642-3.56 3.48-5.533-.494 4.46-2.317 8.873-5.735 12.293-8 8-20.896 7.794-28.895-.205-7.998-7.998-8.206-20.895-.207-28.894 3.28-3.28 7.618-5.15 11.887-5.738zm104.89 2.717c-3.913 1.76-7.193 4.592-10.404 7.803-14.21 14.21-14.644 37.37-.433 51.582 14.21 14.21 37.803 14.21 52.013 0 3.402-3.404 5.596-7.53 7.37-11.704-1.05 9.438-4.905 18.773-12.137 26.006-16.92 16.92-44.2 16.485-61.118-.434-16.92-16.92-17.353-44.198-.434-61.117 6.937-6.936 16.11-10.887 25.14-12.136zm-96.124 68.07c-23.87 0-43.22 19.348-43.22 43.217 0 23.87 19.35 43.22 43.22 43.22 23.87 0 43.216-19.35 43.216-43.22 0-23.868-19.347-43.215-43.216-43.215zm-3.52 11.803c-2.824 1.27-5.192 3.316-7.512 5.633-10.262 10.262-10.572 26.98-.31 37.242 10.262 10.262 27.294 10.262 37.554 0 2.456-2.457 4.04-5.436 5.32-8.45-.756 6.815-3.54 13.555-8.763 18.778-12.215 12.215-31.912 11.903-44.127-.312h-.002c-12.215-12.215-12.53-31.914-.312-44.13 5.008-5.007 11.632-7.86 18.152-8.76zm82.322 68.106c-14.153 0-26.078 9.5-29.767 22.47-5.014-.097-10.057-.166-15.154-.166-64.15 0-122.217 7.86-165.02 20.92-21.403 6.53-39.006 14.3-51.93 23.623-14.435 12.847-25.627 24.45-20.85 42.916 5.49 36.45 32.217 68.37 70.718 91.483 43.34 26.017 102.216 41.702 167.08 41.702 64.865 0 123.74-15.685 167.08-41.703 38.48-23.103 65.2-55 70.71-91.427.707-4.507 1.486-9.716.51-14-2.14-11.28-10.294-21-21.344-28.973-12.925-9.324-30.528-17.092-51.93-23.623-25.175-7.682-55.657-13.545-89.524-17.087-2.313-14.808-15.12-26.137-30.578-26.137zm-1.26 11.597c-1.85.832-3.4 2.17-4.92 3.688-6.718 6.72-6.923 17.668-.204 24.387 6.718 6.718 17.87 6.718 24.59 0 1.61-1.61 2.647-3.56 3.486-5.534-.496 4.464-2.32 8.876-5.74 12.296-7.997 8-20.894 7.794-28.893-.205-8-7.997-8.204-20.894-.205-28.893 3.28-3.28 7.618-5.148 11.887-5.737zm-43.662 29.405c5.286 0 10.512.074 15.707.183 4.226 12.065 15.707 20.72 29.215 20.72 12.17 0 22.69-7.023 27.748-17.235 33.278 3.444 62.996 9.144 86.897 16.437 20.132 6.144 36.143 13.47 46.447 20.903 9.27 6.687 13.307 12.79 14.027 17.976-.107 1.926-.283 3.845-.54 5.755-1.483 4.648-5.58 9.927-13.487 15.63-2.407 1.737-5.137 3.468-8.146 5.18-60.55-67.602-319.786-71.505-397.23-.867-2.423-1.428-4.647-2.867-6.65-4.312-7.927-5.72-12.026-11.013-13.5-15.67-.25-1.888-.423-3.784-.53-5.688.708-5.192 4.744-11.306 14.03-18.005 10.305-7.434 26.315-14.76 46.448-20.903 40.265-12.287 96.956-20.105 159.564-20.105zM52.376 394.617c10.775 5.7 23.588 10.725 38.17 15.174 42.803 13.063 100.87 20.92 165.02 20.92s122.22-7.857 165.024-20.92c14.576-4.447 27.384-9.47 38.158-15.167-10.695 14.855-26.175 28.496-45.725 40.232-39.745 23.86-95.63 39.04-157.46 39.04-61.828 0-117.714-15.18-157.46-39.04-19.552-11.737-35.033-25.38-45.728-40.238z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BubblingFlask;

impl IconShape for BubblingFlask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M186.22 21.25c1.304 7.696 2.775 14.91 4.436 21.625h-24.999l10.53 14.78s13.66 19.322 21.75 43.814c4.047 12.245 6.576 25.603 5.595 38-.98 12.394-5.132 23.72-15.093 33.718-20.252 20.325-47.89 40.234-70.968 64.406-23.08 24.17-41.844 53.534-41.845 91.656 0 2.038.002 39.462-.03 76.813-.018 18.675-.04 37.337-.064 51.593-.01 7.13-.017 13.167-.03 17.53-.013 4.366-.07 7.62-.063 7.345l-.28 9.564 9.562.062 312.53 2.28 9.75.064-.344-9.75c.007.21-.043-3.14-.062-7.594-.02-4.454-.046-10.56-.063-17.78-.033-14.443-.068-33.324-.092-52.188-.05-37.73-.063-75.526-.063-77.938 0-38.97-19.523-68.73-43.53-93.03-24.01-24.302-52.733-44.122-73.75-64.407-9.965-9.617-13.824-20.463-14.408-32.563-.583-12.1 2.526-25.324 7.188-37.5 9.003-23.515 23.025-42.038 24-43.313l15.53-15.562h-32.53c1.647-6.712 3.142-13.924 4.438-21.625H186.22zM217 99.78c14.52 15.522 31.15 15.58 45.656.064-4.346 12.522-7.3 26.29-6.625 40.312.764 15.827 6.586 32.085 20.064 45.094v.03c22.692 21.903 51.186 41.51 73.47 64.064 22.28 22.555 38.123 47.073 38.123 79.906 0 2.55.014 40.232.063 77.97.024 18.867.06 37.73.094 52.186.016 6.595.045 11.937.062 16.28l-293.719-2.155c.013-4.24.02-9.396.032-15.842.023-14.266.044-32.948.06-51.625.035-37.356.032-74.663.032-76.813 0-32.095 15.238-56.318 36.657-78.75 21.417-22.432 48.81-42.17 70.686-64.125 13.238-13.287 19.274-29.548 20.53-45.438 1.135-14.317-1.343-28.396-5.186-41.156zm34.47 98.782c-17.31 0-31.532 14.224-31.532 31.532 0 17.307 14.223 31.53 31.53 31.53 17.308 0 31.532-14.223 31.532-31.53 0-17.308-14.224-31.53-31.53-31.53zm0 18.688c7.206 0 12.843 5.636 12.843 12.844 0 7.207-5.637 12.844-12.844 12.844-7.21 0-12.845-5.637-12.845-12.844 0-7.208 5.636-12.844 12.844-12.844zM131.5 277.625c-10.615 14.95-18.094 31.583-18.094 52 0 5.323-.142 119.566-.344 124.72l256.094 3.81c-.304-6.364-.53-121.892-.53-128.53 0-20.39-7.51-37.15-18.126-52h-37c3.193 5.568 5.03 12.007 5.03 18.844 0 20.968-17.215 38.186-38.186 38.186-20.97 0-38.156-17.217-38.156-38.187 0-6.838 1.842-13.277 5.03-18.845H131.5zm144 0c-8.475 2.115-14.625 9.648-14.625 18.844 0 10.87 8.597 19.5 19.47 19.5 10.87 0 19.5-8.632 19.5-19.5 0-9.197-6.175-16.73-14.658-18.845H275.5zM211.344 319.5c18.92 0 34.437 15.518 34.437 34.438 0 18.918-15.516 34.468-34.436 34.468s-34.47-15.55-34.47-34.47c0-18.918 15.55-34.436 34.47-34.436zm0 18.688c-8.82 0-15.78 6.93-15.78 15.75s6.96 15.78 15.78 15.78 15.75-6.96 15.75-15.78-6.93-15.75-15.75-15.75zm92.97 10.125c25.53 0 46.436 20.905 46.436 46.437 0 25.53-20.905 46.438-46.438 46.438-25.532 0-46.437-20.906-46.437-46.438 0-25.532 20.905-46.438 46.438-46.438zM304.31 367c-15.433 0-27.75 12.317-27.75 27.75s12.317 27.75 27.75 27.75 27.75-12.32 27.75-27.75c0-15.433-12.316-27.75-27.75-27.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bud;

impl IconShape for Bud {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M384.125 18.97c-70.015 129.283-252.07 74.705-332.5 193.757l38.88 103.666c22.01-21.787 47.782-40.787 79.567-54.06l9.258-3.868 3.2 9.51c12.575 37.39 23.49 94.565 26.86 147.505l102.616-30.894c22.346-120.723 64.364-227.22 179.244-188.4-.588-.9-1.215-1.802-1.844-2.686-25.24-32.43-76.745-57.15-126.562-53.344-7.054 6.68-14.54 13.147-22.156 19.75-41.628 36.097-88.005 75.316-100.375 170.75l-18.563-2.406c13.072-100.845 65.095-146.402 106.688-182.47 20.796-18.032 38.698-33.91 49.125-53 10.15-18.584 14.12-40.507 6.562-73.81zm99.906 61.968c-25.515 2.268-52.788 3.074-82.03 1.624-2.063 6.823-4.76 13.198-8.03 19.188-3.806 6.966-8.29 13.374-13.25 19.438 22.365.908 44.225 6.32 63.905 15.124l39.406-55.375zM92.966 112.686c-24.006 18.624-41.328 40.01-55.32 62.77l6.193 16.51c15.573-19.714 34.12-34.565 54.695-46.66l-5.568-32.62zm-65.36 89.218c-9.833 47.09-12.01 104.668-2.27 155.688 11.808 61.856 40.106 112.43 90.153 127.283 34.535 10.248 83.65 10.54 126.72-4.996 38.26-13.802 71.604-39.362 88.542-81.42l-120.473 36.27c.24 8.67.253 17.144-.004 25.293l-18.68-.587c1.737-55.24-9.873-129.092-23.745-175.46-39.45 18.767-68.732 47.248-94.04 79.536l-14.71-11.53c5.46-6.967 11.147-13.825 17.107-20.503l-48.6-129.576z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BugleCall;

impl IconShape for BugleCall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M340.53 16.47l-19.25 89.374L391.94 16.47H340.53zm151.283 18.686L372.063 167.75l119.75-47.906V35.156zM185.375 80.25c-.652.01-1.293.034-1.938.063-9.51.422-18.37 2.635-25.687 7.593-16.964 11.492-11.295 37.156-22.78 63.094C95.73 239.616 56.09 303.885 21.062 351.313v103.375c61.582-21.345 153.303-43.464 287.343-47.907 28.125-.93 49.728 12.582 66.594 1.158 41.638-28.207 26.563-122.468-33.28-210.813-3.74-5.52-7.224-11.14-11.126-16.344-46.8-62.426-104.125-101.083-145.22-100.53zM180 104.75c-6.756 13.893-.412 43.86 15.938 80.75-5.16-18.626-4.688-32.142 2.687-36.625 16.125-9.802 59.054 27.175 95.875 82.594 36.82 55.417 53.593 108.29 37.47 118.093-6.634 4.032-17.81.138-31.22-9.688 27.717 28.092 52.734 44.51 68.094 43.656-1.785 3.17-3.675 6.244-6.5 8.158-26.9 18.225-91.755-30.25-144.656-108.344-52.902-78.094-73.87-156.34-46.97-174.563 2.757-1.866 5.784-3.525 9.282-4.03zm311.813 115.563l-84.688 27.437 84.688 12.844v-40.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bulb;

impl IconShape for Bulb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M313.3 17.086c-13.082 12.09-26.162 25.898-39.24 42.238-40.78 61.662-59.706 130.838-39.908 213.328-35.99-92.217-15.31-164.737 29.243-228.96-1.796-8.394-4.97-16.178-9.848-23.335-18.883 65.377-89.362 100.41-147.62 146.344-32.994 28.667-51.81 58.787-57.06 89.454-4.766 27.835 1.33 56.803 19.78 87.094 10.802-34.31 26.768-63.865 46.324-84.49l9.24-9.744 5.927 12.048c32.275 65.613 71.142 112.01 114.412 140.842 10.374-18.086 14.635-36.342 19.333-55.845l2.474-10.277 9.895 3.715c22.212 8.34 44.04 18.5 61.678 35.14 18.183-38.612 27.566-85.392 23.783-142.236l-.797-11.978 11.81 2.168c22.627 4.154 45.408 14.432 65.753 30.54 3.233-10.887 3.598-21.046 1.475-30.638-2.42-10.94-8.185-21.423-17.627-31.346-55.215-43.087-121.203-82.3-109.03-174.062zM459.16 223.828c1.99 13.81.06 28.272-5.61 42.79 14.545 14.657 27.26 32.713 36.968 54.05 6.42-42.19-8.148-71.86-31.358-96.84zm-78.387 19.922c3.938 117.992-48.892 196.586-118.076 246.203 41.487-1.66 82.776-11.07 118.708-28.603 38.565-59.352 53.18-120.09 21.737-183.485 41.182 56.464 37.983 108.683 14.457 161.6 29.275-21.75 52.308-50.63 64.94-86.918-18.195-60.55-60.133-96.758-101.767-108.797zm-351.93 23.576c-6.177 20.626-8.39 44.052-5.187 71.22 3.357 28.463 14.477 53.087 31.186 73.73 1.48-15.455 3.942-30.564 7.295-45.065-23.806-33.228-35.06-67.02-33.294-99.884zm91.03 14.627c-25.597 33.54-44.708 89.362-47.594 148.688 25.046 22.66 57.76 39.022 93.898 48.803-34.22-40.04-60.895-91.9-43.45-151.37-9.138 65.866 35.742 116.368 82.06 159.146 8.045 1.097 16.177 1.884 24.355 2.382 21.233-12.672 41.274-27.57 59.058-45.157-65.71-22.84-123.458-76.94-168.325-162.492zm159.564 79.024c-4.064 16.386-8.998 33.45-18.932 50.656 13.564 7.528 27.518 13.412 41.795 17.732 9.843-11.415 18.77-23.84 26.56-37.367-13.084-13.78-30.284-23.143-49.424-31.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bull;

impl IconShape for Bull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M68.596 28.182c-86.767 50.67-51.027 136.884 123.35 136.884l2.835-70.433c-71.07 14-169.105 15.57-126.184-66.45zm378.455 0c42.92 82.022-55.114 80.45-126.185 66.45l2.836 70.434c174.378 0 210.117-86.213 123.35-136.884zM174.206 220.768c-3.798.104-7.758.785-11.816 2.087-1.887 29.822 11.63 50.308 48.516 39.88-.462-26.26-16.194-42.53-36.7-41.967zm167.213 0c-20.507-.563-36.24 15.707-36.7 41.966 36.886 10.43 50.404-10.057 48.518-39.88-4.058-1.3-8.02-1.982-11.818-2.086zm-53.123 162.7l-10.793 15.266c15.535 10.978 19.19 32.196 8.21 47.73C274.736 462 253.533 465.64 238 454.663c-15.535-10.978-19.19-32.193-8.21-47.728 2.03-2.875 4.483-5.42 7.288-7.543l-11.263-14.894c-4.34 3.283-8.153 7.203-11.292 11.645-16.805 23.784-11.098 56.982 12.685 73.788 23.784 16.806 56.956 11.098 73.762-12.686 16.806-23.783 11.11-56.967-12.672-73.773z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BullHorns;

impl IconShape for BullHorns {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73.813 39.28c70.517 36.34 49.052 103.816 8.374 138.22-88.595 74.925-82.78 199.22 48.25 244.563-10.524-32.924-9.554-66.272 2.063-99.063-30.195-25.72-38.378-63.247 11.906-135.656 30.388-43.758 23.922-140.87-70.594-148.063zm361.5 0c-94.516 7.193-100.982 104.306-70.594 148.064 47.774 68.795 42.742 106.107 16.217 131.72 7.033 17.736 12.06 35.84 13.282 54.467.963 14.702-.57 29.68-5.25 44.72 120.973-48.166 124.15-167.84 37.936-240.75-40.677-34.404-62.11-101.88 8.406-138.22zm-79.875 268.345c-66.123 9.62-131.398 17.49-196.22.688-23.464 45.56-24.194 89.256.47 134.656 65.572-6.135 131.11-5.805 196.593.06 15.795-23.503 20.762-45.73 19.283-68.28-1.44-21.957-9.355-44.356-20.125-67.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Bullets;

impl IconShape for Bullets {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M162.322 17.943l-28.316 105.682 18.053 4.838 4.194-15.654 169.764 45.487 11.28-42.088-169.872-45.105 4.838-18.052 169.87 45.103 4.038-15.066L176.404 37.6l3.97-14.82-18.052-4.837zM361.336 98.7l-14.453 53.943c53.99 13.97 102.986 20.59 150.95 10.964-37.1-32.648-82.453-50.034-136.497-64.906zM128.676 145l-41.82 101.104 17.27 7.142 6.216-15.023L272.75 305.4l16.36-39.556-162.43-67.12 7.142-17.27 162.432 67.118 6.254-15.12-162.406-67.18 5.843-14.13-17.27-7.142zm186.818 105.95l-21.344 51.605c51.717 20.872 99.435 33.81 148.24 30.502-32.538-37.196-75.244-60.332-126.896-82.106zM77.107 266.067l-54.705 94.752 16.186 9.346 8.133-14.086 152.23 87.893 20.472-35.452L66.988 320.97l9.344-16.183 152.434 87.545 9.117-15.79L85.65 288.647l7.643-13.238-16.186-9.344zM248.46 395.594l-27.92 48.363c48.526 27.46 94.13 46.532 142.942 49.647-27.38-41.132-66.678-69.662-115.02-98.01z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningBlobs;

impl IconShape for BurningBlobs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.936 23.332c-.97 100.412 10.37 192.13 100.757 231.064 109.81 47.303 46.883 118.85-58.246 83.002 76.11 65.222 145.665 141.652 200.928 159.985 6.78 2.995 14.26 4.674 22.12 4.674 11.404 0 22.023-3.508 30.835-9.495 31.55 8.544 59.065 11.345 82.4 9.23 19.94-.195 38.412-6.676 53.524-17.556 49.986-33.49 55.46-109.83 11.715-201.34 1.573-8.565 1.077-16.997-1.154-25.322-1.973-9.506-6.227-18.195-12.152-25.476-28.97-42.765-97.358-83.18-159.58-124.506 77.79 99.205 67.214 143.1 10.635 94.234 1.09-7.624-1.225-15.174-6.103-23.178-1.8-3.4-4.032-6.54-6.625-9.343-17.988-22.57-52.22-49.85-87.02-92.078 38.056 186.15-97.83 83.32-182.036-53.895zM267.79 173.836c14.032 0 25.208 11.176 25.208 25.21 0 14.032-11.175 25.208-25.21 25.208-14.032 0-25.208-11.176-25.208-25.21 0-14.032 11.175-25.208 25.21-25.208zm147.575 54.834c22.756 0 41.004 18.248 41.004 41.004 0 22.756-18.248 41.004-41.005 41.004-5.145 0-10.056-.942-14.582-2.65-.746-19.392-10.64-36.512-25.476-47.16 3.997-18.478 20.328-32.198 40.058-32.198zm-75.45 39.473c23.44 0 42.24 18.802 42.24 42.242 0 23.44-18.8 42.242-42.24 42.242s-42.243-18.802-42.243-42.242c0-23.44 18.8-42.242 42.242-42.242zm68.886 65.464c41.396 0 74.755 33.36 74.755 74.754 0 41.397-33.357 74.755-74.754 74.755-23.397 0-44.22-10.662-57.91-27.404.458-2.85.704-5.772.704-8.75 0-15.814-6.752-30.113-17.506-40.183.268-12.963 3.804-25.092 9.828-35.61 23.163-1.518 42.872-16.092 51.803-36.403 4.247-.746 8.613-1.157 13.08-1.157zm-145.53 10.59c12.626 0 22.662 10.038 22.662 22.664 0 12.628-10.035 22.663-22.662 22.663-12.627 0-22.663-10.035-22.663-22.662 0-12.625 10.035-22.663 22.663-22.663zm33.226 66.35c20.22 0 36.414 16.194 36.414 36.414 0 20.222-16.192 36.413-36.414 36.413-20.22 0-36.412-16.192-36.412-36.412s16.19-36.413 36.412-36.413z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningBook;

impl IconShape for BurningBook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.813 18.594c-50.387 12.75-80.69 66.325-50.813 111.22 22.477 33.773 44.967 61.167 8.75 79.06-23.353 11.54-50.027-16.454-46.125-49.28 4.812-40.485-18.705-79.927-46.125-88.188 46.237 106.42-43.46 176.998-24.53 77.094-30.286 16.095-32.784 59.017-11.25 122.72-40.372-17.2-55.07-66.767-38.282-120.564-35.866 28.35-53.3 130.904-14.626 183.47C136.425 464.08 248.156 496.343 268 496.343c21.144 0 117.334-33.716 189.594-115.125 41.782-47.074 50.926-168.9 9.22-243.658 5.98 25.335-6.117 76.786-33.845 94.032 4.998-57.774-3.913-140.944-36.69-171.53 32.622 172.802-93.01 152.202-48.374 99.53 29.51-34.825-.17-102.5-17.5-112.375 10.894 42.12-14.24 69.676-54.72 61.436-27.252-5.547-44.743-44.957-11.873-90.062zm-115.157 211.47h18.688V395.25l102.72 55.813L372.78 395.25V230.094h18.69v176.28l-4.908 2.657L274.5 469.876l-4.438 2.438-4.468-2.438L153.53 409.03l-4.874-2.655V230.062zm37.53.217l73.533 44.532v148.313l-73.533-41.438V230.28zm167.72 0v151.407l-75.5 42.563V276.03l75.5-45.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningDot;

impl IconShape for BurningDot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.813 48.094c69.06 40.8 122.263 96.67 124.937 153.312-49.83.664-72.508-14.408-101.97-51 17.725 93.07 55.393 143.855 100.72 156.563-22.006 26.968-60.902 30.456-97.625 25.342 35.897 33.924 95.12 70.913 149.094 84.75-17.05 15.34-38.742 24.516-68 29.157 269.316 114.287 386.556 10.27 295.217-277.376-12.035 25.526-29.11 41.112-60.343 57.5-7.906-55.298-31.41-152.12-95.656-171.75 24.362 41.713 21.98 99.445-4 138.937C268.363 122.72 161.85 54.283 53.813 48.095zm308.28 236.656c26.127-.13 52.073 11.014 70.157 32.72 32.15 38.584 26.96 95.63-11.625 127.78-38.586 32.15-95.632 26.96-127.78-11.625-32.15-38.586-26.962-95.632 11.624-127.78 16.88-14.067 37.303-20.994 57.624-21.095z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningEmbers;

impl IconShape for BurningEmbers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.344 24.063c-9.56 0-17.313 7.754-17.313 17.312 0 9.558 7.755 17.313 17.314 17.313 9.558 0 17.28-7.755 17.28-17.313 0-9.56-7.722-17.313-17.28-17.313zM39.594 35.75c-10.393 0-18.813 8.42-18.813 18.813 0 10.39 8.42 18.812 18.814 18.812 10.393 0 18.812-8.42 18.812-18.813 0-10.392-8.42-18.812-18.812-18.812zM188.47 51.156c-14.34 0-25.97 11.6-25.97 25.938 0 14.336 11.63 25.97 25.97 25.97 14.337 0 25.968-11.634 25.968-25.97 0-14.338-11.63-25.938-25.97-25.938zm116.25 2.563c26.45 67.124-59.23 117.28-57 35.218-40.215 36.923-12.817 84.228 4.78 121.874 13.34 28.545 12.342 53.843-10.125 63.47-16.035 6.87-33.87-11.593-39.625-30.532-1.254-4.128-1.663-9.237-1.47-15.375 9.652-.805 17.22-8.892 17.22-18.75 0-10.393-8.42-18.813-18.813-18.813-10.392 0-18.812 8.42-18.812 18.813 0 7.014 3.84 13.14 9.53 16.375-18.82 20.668-37.66 10.494-25.186-51.78-59.608 67.83-38.06 198.86 45.03 238.874-12.994-25.466-20.146-57.053-14.25-84 36.35 78.815 121.1 1.41 126.03-69.094 13.49 44.606 11.636 109.75-10.78 156.47 90.405-35.317 110.666-171.47 63-239.47-5.868 82.112-70.492 50.032-44.03-58.406 6.495-26.622-12.05-57.205-25.5-64.875zM54.5 90.78c-9.56 0-17.313 7.756-17.313 17.314 0 9.557 7.754 17.312 17.313 17.312 9.56 0 17.313-7.755 17.313-17.312 0-9.56-7.754-17.313-17.313-17.313zm66.625 5.157c-11.525 0-20.844 9.352-20.844 20.876 0 2.88.57 5.628 1.626 8.124-11.332 2.75-19.75 12.98-19.75 25.157 0 14.284 11.59 25.875 25.875 25.875 14.287 0 25.876-11.592 25.876-25.876 0-5.263-1.582-10.166-4.28-14.25 7.284-3.256 12.374-10.537 12.374-19.03 0-11.526-9.35-20.876-20.875-20.876zm258.28 22.376c-9.557 0-17.28 7.754-17.28 17.312 0 9.558 7.723 17.313 17.28 17.313 9.56 0 17.314-7.755 17.314-17.313 0-9.56-7.755-17.313-17.314-17.313zM99.814 196.5c-9.56 0-17.313 7.755-17.313 17.313 0 9.557 7.754 17.312 17.313 17.312 9.558 0 17.312-7.755 17.312-17.313S109.37 196.5 99.812 196.5zm1.406 168c-50.154 13.628-82.564 33.797-82.564 56.188 0 41.017 106.546 74.375 237.72 74.375 131.172 0 237.687-33.358 237.687-74.375 0-22.31-32.125-42.562-81.97-56.188 17.232 8.88 27.5 19.243 27.5 30.438 0 32.13-82.28 58.562-183.218 58.562-100.937 0-182.688-26.435-182.688-58.563 0-11.254 10.125-21.528 27.532-30.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningEye;

impl IconShape for BurningEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.094 17.844C60.934 66.176 249.458 163.35 184.72 198.22c-32.796 17.66-86.03 15.048-64.657-73.876-106.688 86.723-75.665 284.316 48.093 349.5-27.153-25.674-44.125-62.01-44.125-102.25 0-77.624 63.128-140.75 140.75-140.75 77.625 0 140.75 63.128 140.75 140.75 0 37.55-14.77 71.708-38.81 96.97 150.706-76.96 122.903-288.475 22.5-342.533 23.96 56.174 11.553 99.36-18.22 123.44C385.64 57.762 174.494 135.013 235.094 17.843zM264.78 249.53c-67.523 0-122.06 54.54-122.06 122.064s54.54 122.062 122.06 122.062c67.523 0 122.064-54.538 122.064-122.062 0-67.522-54.54-122.063-122.063-122.063zm0 53.782c46.983 0 85.283 38.3 85.283 85.282s-38.3 85.25-85.282 85.25c-46.98 0-85.25-38.268-85.25-85.25s38.27-85.28 85.25-85.28zm0 18.688c-36.88 0-66.56 29.712-66.56 66.594 0 36.88 29.68 66.562 66.56 66.562 36.882 0 66.595-29.68 66.595-66.562 0-36.88-29.712-66.594-66.594-66.594zm0 18.656c26.45 0 47.876 21.457 47.876 47.906 0 26.45-21.426 47.875-47.875 47.875-26.447 0-47.905-21.425-47.905-47.875 0-8.41 2.19-16.315 6-23.187 1.84 12.334 12.466 21.813 25.313 21.813 14.14 0 25.593-11.486 25.593-25.625 0-8.62-4.25-16.236-10.78-20.875.59-.022 1.185-.032 1.78-.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningMeteor;

impl IconShape for BurningMeteor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.5 18c40.728 58.21-63.708 25.914-88.03 2.47 1.058 40.082 100.03 99.633 147.374 72.124C195.904 75.71 136.984 22.936 107.5 18zm97.75 57.28l.875 1.47c120.364 99-4.023 175.247-64.97 48.78 15.823 82.506-78.425 44.2-89.655-30.655C-13.17 230.463 172.715 231.293 178.438 324c3.23 52.3-77.82 19.908-113.875-48.844C308.49 797.09 814.024 262.64 205.25 75.28zm134.97 136.376c44.577 0 85.52 18.708 109.56 52.5 43.656 75.614-63.777 27.4-70.717-8.844-21.45 58.675 101.883 114.72 16 170.375 25.962-34.188 2.345-113.552-87.875-109.125 116.512 72.473 42.326 206.9-19.688 93.157 1.306 35.083 11.99 54.83 27.156 64.436-60.89-11.955-107.03-65.528-107.03-129.906 0-39.06 16.94-74.22 43.874-98.5 1.674 61.897 83.61 37.656 115.97 62.344-11.544-60.34-56.022-59.933-82.72-84.28 16.883-7.803 35.67-12.158 55.47-12.158zM234.72 309c-1.386.015-2.724.112-4.064.25 26.032 6.737 74.684 83.827 33.875 61.75 3.41 14.6 43.038 41.75 57.5 21.156 18.816-26.79-44.374-83.634-87.31-83.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningPassion;

impl IconShape for BurningPassion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.844 18.75v2.72c64.27 50.956 95.31 115.847 89.437 179.25-10.604-55.003-41.756-104.8-89.436-138.907v23.53c55.244 45.177 82.41 114.314 72.97 185.25-.398 2.332-.76 4.664-1.064 7-.085.513-.16 1.02-.25 1.532h.063c-6.553 53.797 11.2 108.566 49.593 156.03 6.405 11.073 13.982 21.804 22.688 32.126C95.248 406.656 59.077 335.534 53.22 262.407c-11.112 83.002 15.11 163.21 90.686 230.22H188.5c.033.028.06.063.094.093h130.47c.032-.03.06-.065.092-.095h43.625c75.578-67.008 101.8-147.217 90.69-230.22-5.75 71.774-40.697 141.62-106.845 201.5 9.558-11.752 17.677-24.018 24.28-36.686 34.1-45.58 49.597-97.276 43.408-148.095-.004-.02.003-.042 0-.063-.405-3.31-.91-6.606-1.5-9.906-9.365-74.246 21.308-146.348 82.312-190.875V55.626c-52.75 34.073-87.21 86.497-98.53 144.844-5.85-64.208 26.103-129.92 92.124-181.126l-.47-.594h-28.063c-72.054 64.343-99.845 149.67-72.5 228.063 2.893 8.292 5.105 16.676 6.657 25.093.005.043.026.083.03.125.44 3.435.933 6.876 1.532 10.314h.03c2.304 19.373 1.12 38.894-3.405 58.156-.044-28.376-6.778-57.15-20.436-85.063-40.06-81.862-20.768-171.425 52.406-236.687h-31.03c-50.145 46.623-66.324 91.56-57.44 151.094-21.488-59.165-19.415-103.58 20.69-151.094H152c40.104 47.514 42.177 91.93 20.688 151.094 8.885-59.535-7.266-104.47-57.407-151.094H83.157c73.174 65.262 92.465 154.825 52.406 236.688-14.898 30.448-21.52 61.915-20.25 92.78-6.146-21.747-8.016-43.91-5.406-65.874.6-3.436 1.123-6.88 1.563-10.313 1.552-8.458 3.78-16.884 6.686-25.217 27.346-78.394-.446-163.72-72.5-228.063H19.844zm234.25 19.688c16.4 0 27.024 6.18 34.72 16.593 7.693 10.413 11.967 25.726 11.967 43 0 18.664-6.886 38.56-15.967 49.5l-10.125 12.22 15.593 2.938c12.522 2.353 21.72 8.774 29.44 19 7.718 10.225 13.572 24.36 17.686 40.687 7.522 29.843 9.135 66.52 9.375 99.344h-23.31l-.814-70.5-18.687.218.967 86.437-7.75 111.625c47.057-43.67 71.99-94.302 76.157-146.313 8.212 61.338-11.15 120.606-67 170.125H295.53v.22h-32.937V333.81h-18.687v139.72H212.624v-.22h-9.655c-55.852-49.52-75.244-108.787-67.032-170.125 4.13 51.56 28.66 101.776 74.937 145.188L203.78 345.72l2.595-94.126-18.688-.53-1.937 70.655h-24.375c.24-32.826 1.885-69.502 9.406-99.345 4.116-16.326 9.97-30.462 17.69-40.688 7.718-10.225 16.915-16.646 29.436-19l15.594-2.937-10.125-12.22c-9.083-10.94-15.97-30.835-15.97-49.5 0-17.274 4.276-32.587 11.97-43 7.694-10.41 18.32-16.593 34.72-16.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningRoundShot;

impl IconShape for BurningRoundShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51 24.656c-66.505 105.062 49.65 121.762 116.97 130.563 84.404 11.032 37.33 166.2-71.814 84.405.045 58.045 58.398 82.567 95.063 94.625 40.878 13.43-3.76 79.175-83.25 61.22 327.925 246.796 476.227-18.285 340.905-223-22.38-33.857-73.925-67.47-126.72-63.47 126.32 83.08-47.533 116.238-80.436-6.563-20.76-77.47-143.593 17.79-190.72-77.78zm309.188 218.47l24.968 47.124-20.906 42.47-82.5-58.626c20.543-19.186 48.118-30.937 78.438-30.97zm22.25 2.155c52.99 10.323 93 56.96 93 112.97 0 3.995-.197 7.953-.594 11.844l-50.938 28.25 12.25-46.5.938-3.53-1.72-3.22-52.937-99.813zM269.125 288l35.75 25.406-59.375 53.28c-.202-2.783-.313-5.6-.313-8.436 0-26.456 8.937-50.81 23.938-70.25zm126.813 22.625l21.218 40-15.875 60.25-18.655 10.344L350 403.936l45.938-93.312zm-75.47 13.875l35.407 25.188-22.406 45.5-14.94-7.907-8.436-4.5-4.28 8.564-25.064 50.125c-14.917-14.267-26.003-32.49-31.563-53l71.282-63.97zm149.188 69.844c-15.138 45.91-58.363 79.03-109.344 79.03-26.287 0-50.495-8.827-69.875-23.655l5.657 2.842 22.156-44.28 60.094 31.843 4.47 2.375 4.436-2.47 82.406-45.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurningTree;

impl IconShape for BurningTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209.906 16.125c-18.31 47.87-56.033 104.995-70.72 39.438-16.274 27.416-10.256 53.922 9.064 82.218 42.266 61.903-39.984 76.248-60.594 6.345-50.57 94.417 82.135 93.904 18.594 155.5 22.12 20.493 56.106 34.44 88.438 42.156-9.14-39.964-36.95-78.658-53.75-105.56l-17.875-28.564 30.03 15.28L192.407 243l-6.344-32.5-5-25.72 20.157 16.75 45.374 37.72 24.375-53.188 14.31-31.218 3.5 34.156 7.22 70.97 39.094-16.408 12.937-5.437V254.688l-1.217 2.156c-14.27 24.902-32.285 55.24-43.032 85.75 50.648-11.874 103.977-41.077 124.533-94.188-43.47 45.328-60.434 16.79-33.844-2.594 36.068-26.292 43.75-77.024 28.25-118.937-13.63 68.1-92.673 52.044-65.033-22.656-20.067 28.493-36.314 3.203-31.125-16.22 7.113-26.62 51.107-3.21 40.563-66.47-13.164 38.42-72.515 37.995-64-3.03-59.663 23.75 3.063 49.98-28.156 90.22-28.584 36.84-64.516-32.764-65.064-92.595zM416 20.47c-32.896 66.95 36.964 63.44 33.906 143.06C519.983 76.167 425.87 79.393 416 20.47zM102.03 58.5C16.29 86.946 2.42 139.407 60.47 224.97c-11.16-60.34 4.22-118.607 41.56-166.47zm171.626 166.563l-15.125 33.062-5.092 11.094-9.375-7.783-34.625-28.812 4.968 25.625 3.656 18.813-17.062-8.72-25.563-13.03c17.91 28.255 37.988 64.358 40.688 103.437 1.87 27.082-5.253 55.706-27.125 81.938-15.725 18.86-38.942 36.497-71.375 52.562h228.22c-21.07-11.225-36.772-24.016-47.94-38.125-17.764-22.447-23.52-47.973-21.874-72.97 2.615-39.672 22.45-78.424 40.783-110.655l-25.22 10.563-11.624 4.906-1.283-12.564-5.03-49.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct BurstBlob;

impl IconShape for BurstBlob {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M347.23 23.738c-30.88.348-54.187 33.782-38.234 65.9 27.51 55.38-8.916 128.376-33.87 127.078-22.65 3.18-23.026 2.874-39.174 1.213-16.244 1.693-49.453-53.98-31.032-89.866 13.22-25.754-10.464-53.07-36.617-45.154-30.397 9.2-28.025 44.015-11.676 55.166 32.177 21.946 45.407 84.595 23.582 100.34-1.68 1.116-3.327 2.28-4.954 3.465 22.32 22.08 50.217 36.42 82.742 38.708 42.065 2.96 73.905-8.254 94.627-27.026-2.628-2.502-5.35-4.905-8.168-7.197l.467.162c-.466-.28-.918-.583-1.367-.888-1.047-.838-2.105-1.66-3.176-2.468-29.222-25.908-16.064-108.42 33.96-138.356 24.04-14.386 29.526-66.077-13.504-79.1-4.628-1.4-9.194-2.027-13.606-1.978zM56.977 58.86c-.834-.016-1.664-.006-2.49.033-6.615.306-12.97 2.392-18.26 6.044-10.443 7.21-17.63 21.37-16.288 37.245 1.343 15.876 10.833 33.877 35.806 48.824 59.178 35.422 83.054 111.95 65.617 174.63v.003c-13.175 47.362-.92 88.896 24.944 119.317 25.862 30.42 65.612 49.268 107.082 49.268 49.833 0 86.897-23.327 111.188-53.412 24.29-30.085 34.85-67.278 31.51-91.217-4.508-32.312-6.234-57.578-1.65-77.62 4.583-20.04 17.547-34.925 37.638-40.415 45.54-12.445 60.74-33.136 62.78-51.156 2.038-18.02-9.91-36.214-25.96-43.63-26.064-12.042-68.95 9.33-69.312 53.54-.506 61.757-55.606 115.057-142.898 108.917-45.827-3.224-83.848-27.697-110.668-62.26-26.82-34.566-42.89-79.244-45.998-124.628-1.855-27.076-13.025-41.893-25.704-48.82-5.547-3.03-11.505-4.537-17.34-4.66z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Butterfly;

impl IconShape for Butterfly {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.97 43.094l-17.72 5.937c18.246 54.362 27.075 112.164 24.406 174.47l-.875 20.5 16.032-12.78c47.213-37.597 81.827-86.216 102.282-146.095l-17.688-6.063c-17.04 49.88-44.08 90.906-80.656 124.22.156-56.652-8.915-109.937-25.78-160.188zM53.812 51.22C51.09 160.79 110.03 244.245 208.75 273c2.573-110.1-55.144-193.608-154.938-221.78zm335.156 150.374c-58.436-.03-115.656 25.943-163.5 76.094 90.775 49.848 192.148 32.407 268.217-47.563-34.172-19.135-69.658-28.513-104.718-28.53zM136.936 277.03c-52.45.582-94.1 32.36-116.687 91.25 82.336 33.03 151.56 4.26 182.72-77.374-23.333-9.574-45.51-14.102-66.032-13.875zm81.97 19.47c-37.76 80.056-8.793 149.03 75.343 183.094 37.786-80.46 9.994-149.316-75.344-183.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ButterflyWarning;

impl IconShape for ButterflyWarning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.656 19.78c-30.5.17-59.177 22.708-80.125 62.97-.06.12-.124.224-.186.344L46.656 311.814l-.25.405c-24.31 38.264-29.428 74.37-14.343 100.874 15.08 26.497 48.628 40.094 93.5 37.875v.03h265.093v-.03c44.888 2.226 78.446-11.373 93.53-37.876 15.09-26.51 9.927-62.627-14.405-100.906l-.217-.375L337.219 81.938h-.033c-20.512-40.02-49.058-62.324-79.53-62.157zm-.062 18.876c13.575-.13 26.545 6.444 38.187 17.75 11.565 11.23 22.36 27.28 33.064 48.22.073.142.145.26.22.405L445.56 307.22l.063.092.156.282c12.062 18.924 20.543 35.996 24.876 51.53 4.362 15.64 4.54 30.2-1.5 42.438-6.04 12.24-17.97 20.882-33.75 25.72-15.668 4.803-35.544 6.348-60.375 5.093v.03H141.22v-.03c-22.915 1.16-41.99-.127-57.44-4.47-15.558-4.372-27.84-12.177-34.75-23.936-6.906-11.76-7.785-26.4-3.874-42.408 3.884-15.898 12.374-33.677 25.282-53.937l.25-.406 115.218-201.533c.063-.12.125-.222.188-.343C196.946 84.452 207.864 68.346 219.47 57c11.672-11.412 24.55-18.212 38.124-18.344zm.187 18.688c-7.502.073-15.764 3.727-25.25 13-9.484 9.273-19.69 23.974-30.03 43.937l-.094.157-.094.188-87.343 152.78c13.76-5.03 27.72-7.523 41.56-7.53 34.365-.018 68.02 15.233 96.157 44.688-49.69 27.25-104.785 20.256-148.25-18.72l-17.78 31.063-.094.188-.126.187C74.076 336.63 66.477 353.044 63.314 366c-3.166 12.957-2.053 21.95 1.812 28.53 3.865 6.58 11.153 11.845 23.72 15.376 12.565 3.532 30.023 4.95 51.874 3.813h70.436c-14.237-41.996 3.346-77.317 49.188-95.44 18.38 38.924 9.88 73.377-21.656 95.44H375.5c23.735 1.233 41.894-.468 54.438-4.314 12.543-3.845 19.11-9.29 22.468-16.094 3.358-6.803 3.848-16.257.25-29.156-3.598-12.898-11.28-28.78-22.844-46.875l-.125-.155-.125-.188-69.968-121.5c-8.44 48.982-40.586 85.365-88.97 99.438-1.364-58.31 26.12-103.905 74.563-124.438l-32.53-56.5-.126-.187-.124-.22c-10.195-20.008-20.282-34.614-29.656-43.718-9.374-9.103-17.465-12.54-24.97-12.468zm-2.655 105.875l17.72 5.968c-10.588 31.498-15.707 64.94-14.158 101.062l.875 20.47-16.03-12.75c-28.31-22.513-49.124-51.743-61.376-87.564l17.688-6.062c8.81 25.758 22.248 47.273 40.094 65.25.81-30.364 6.037-59.15 15.187-86.375zm54.063 140.28c31.794-.467 57.084 18.255 70.656 53.594-48.42 19.4-89.145 2.506-107.47-45.438 12.96-5.31 25.313-7.987 36.813-8.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CagedBall;

impl IconShape for CagedBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.9 19.84c-1.3 0-2.7 0-4 .1-80.8 1.83-158.74 44.5-202.05 119.46-66.01 114.4-26.8 260.8 87.55 326.8 113 65.3 257.5 27.6 324.5-83.8 1.1-1.4 2-3.1 2.7-4.5 63.6-111.2 28.1-252.4-79.1-320.59-6.1-4.25-12.4-7.85-18.9-10.81-33.9-17.87-76.6-26.55-110.7-26.66zm25.6 19.97c-14.1 3.2-28.2 8.29-42.1 15.06-10.9 5.33-21.7 11.72-32.2 19.07-5.7-.47-11.3-.76-16.9-.85-6.7-.1-13.4 0-19.9.5-15.8 1.09-30.8 3.87-44.8 8.28 36.8-27.32 81.2-42.37 126.7-43.37 9.9-.13 20.6.37 29.2 1.31zm52.1 16.07c-13.1 7-27 18-41.8 32.31-1.4 1.37-2.8 2.79-4.2 4.22-17.3-6.49-34.6-11.35-51.6-14.57 3.9-2.21 7.8-4.28 11.7-6.18 21.5-10.53 43-16.36 63.3-17.13 7.4 0 15.2.2 22.6 1.35zm31.5 10.96c1.7.49 3.2 1.49 4.2 2.47 3.1 3.07 5.7 9.09 6.4 19.38.8 12.01-1.1 28.51-5.9 48.01-9.7-7-19.9-13.7-30.7-19.9-10.8-6.2-21.7-11.8-32.7-16.7C319.9 86.28 333.2 76.28 344 71c5.6-2.74 10.2-4.12 13.9-4.53 2.1-.23 4.3-.14 6.2.37zm29.4 24.1c17.1 20.86 27.1 49.36 29.4 82.46.3 4.3.5 8.8.5 13.2-11.3-13.1-24.2-25.7-38.5-37.5l1.5-5.7c5-20 7.6-37.6 7.1-52.46zm-210.2.81c-13.1 11.25-25.6 24.05-37.2 38.35-1.9-.5-3.7-1-5.4-1.5-16.2-4.1-30.9-6.5-43.73-7-2.98-.1-5.85-.1-8.63 0 20.86-17.1 49.26-27.06 82.36-29.35 4.4-.26 8.8-.46 12.6-.5zm28.1 1.47c19.8 2.19 40.4 6.88 61.1 13.98-10.1 11.3-20.5 23.9-30.8 37.7-10.8 1.3-21.1 4-30.8 8-15.7-6.7-30.9-12.4-45.2-17 14.7-15.9 30.6-31.4 45.7-42.68zm79.9 21.18c12.6 5.3 25.1 11.5 37.5 18.6 12.3 7.1 23.9 14.8 34.6 23-3.5 11.7-8 24.2-13.2 37.3-19.2-27.1-49.7-45.7-84.6-48.7 8.7-11.1 17.3-21.2 25.7-30.2zm142.2 13.7c33 44.8 48 100.7 41.7 156-3.2-14.3-8.4-28.6-15.3-42.7-5.2-10.8-11.5-21.5-18.7-31.9 1-12.8 1.2-25.3.3-37.4-1-15.4-3.7-30.2-8-44zM96.19 140.3c10.51.4 23.21 2.4 37.51 5.9-7 9.6-13.6 19.8-19.8 30.5-6.2 10.8-11.8 21.7-16.68 32.7C83.48 195 73.57 181.7 68.31 171c-5.04-10.3-5.5-17.2-3.75-21.3.38-.7.78-1.4 1.13-2 2.7-3.5 8.87-6.5 20.28-7.3 3.46-.2 7.07-.3 10.22-.1zM153 151.5c11.5 3.5 23.8 7.9 36.7 12.9-27.3 18.8-46.2 48.8-49.9 83.4-10.3-8.2-19.8-16.4-28.3-24.3 5.3-12.6 11.5-25.1 18.6-37.5 7.1-12.2 14.7-23.7 22.9-34.5zm226.1 17.3c16.6 14.3 30.9 29.8 42.7 45.9-2.2 19.7-6.9 40.2-14.1 60.9-11.1-10.1-23.6-20.3-37.2-30.6-1.5-10.8-4.4-21.2-8.6-30.9 6.8-15.8 12.5-31 17.2-45.3zM53.16 182.3c7 13.1 18.01 27.1 32.34 41.9 1.3 1.4 2.64 2.7 4 4-6.49 17.4-11.34 34.7-14.56 51.7-2.15-3.8-4.17-7.6-6.03-11.4-14.56-29.8-20.15-59.5-15.75-86.2zm-16.28 51.6c3.19 14.3 8.31 28.7 15.21 42.8 5.29 10.8 11.62 21.5 18.91 32-1.03 12.6-1.14 24.9-.31 36.7 1.1 16 3.93 31.3 8.47 45.5-33.52-45-48.68-101.3-42.28-157zm400.32 4.4c2.1 3.7 4.1 7.5 6 11.3 14.5 29.7 20.1 59.3 15.7 85.9-7-13.1-18-27-32.3-41.8-1.3-1.3-2.6-2.7-4-4 6.5-17.3 11.3-34.5 14.6-51.4zm-332.9 4c10.7 9.6 22.5 19.3 35.4 29.1 1.2 12.4 4.3 24.3 9.1 35.3-6.2 14.8-11.5 29.1-15.9 42.6-16.5-14.3-30.8-29.8-42.59-45.7 2.19-19.9 6.85-40.5 13.99-61.3zm266.8 26.9c10.8 8.5 20.7 17 29.5 25.2-5.2 12.4-11.4 24.9-18.5 37.1-7.1 12.4-14.9 24.1-23.2 34.9-11-3.4-22.8-7.5-35.1-12.3 26.7-19.5 44.7-50.1 47.3-84.9zm43.8 39.2c13.7 14.4 23.6 27.8 28.9 38.6 5.1 10.4 5.5 17.3 3.6 21.4-.2.6-.5 1.1-.8 1.6-2.7 3.6-8.8 6.8-20.5 7.6-11.9.8-28.4-1.1-47.8-5.9 7.1-9.7 13.8-20 20-30.8 6.2-10.7 11.7-21.6 16.6-32.5zm-254.3 19.1c19 26.8 49.1 45.1 83.6 48.4-8.1 10-16.1 19.3-23.8 27.6-12.4-5.2-24.9-11.4-37.1-18.4-12.3-7.2-24-14.9-34.8-23.1 3.3-10.9 7.4-22.4 12.1-34.5zm-71.73 4.2c11.23 13 24.03 25.5 38.23 37.2-.5 1.8-.9 3.5-1.4 5.3-5 19.9-7.5 37.5-7 52.3-17.1-20.9-27.07-49.3-29.36-82.3-.28-4.1-.42-8.3-.47-12.5zM303.5 366c14.9 6.3 29.2 11.6 42.8 16-14.4 16.6-30 31-46 42.8-19.8-2.2-40.4-6.9-61.1-14.1 9.5-10.5 19.1-22.2 28.8-35 12.5-1.3 24.5-4.7 35.5-9.7zm-160.3 15.3c9.7 7.1 20 13.7 30.7 20 10.7 6.1 21.5 11.6 32.4 16.5-14.3 13.6-27.6 23.5-38.2 28.7-10.4 5.1-17.3 5.5-21.4 3.7-.6-.3-1.4-.7-1.8-1-3.6-2.7-6.7-8.8-7.5-20.4-.8-11.8 1.1-28.2 5.8-47.5zm222.6 6.5c18.2 4.9 40.2 9.1 58.1 8.6-20.9 17.1-49.4 27.1-82.5 29.4-4.3.3-8.6.5-13 .5 13.1-11.3 25.7-24.2 37.4-38.5zm-140.7 37.7c17.3 6.5 34.5 11.4 51.5 14.6-3.7 2.1-7.4 4-11 5.8-29.8 14.6-59.5 20.1-86.2 15.8 13.1-7 27.1-18.1 41.9-32.4 1.3-1.2 2.5-2.5 3.8-3.8zm162.3 10.8c-45.1 33.4-101.6 48.4-157.3 41.8 14.6-3.1 29.3-8.4 43.7-15.4 10.7-5.2 21.2-11.5 31.6-18.6 12.7 1.1 25.2 1.2 37.3.4 15.7-1.7 31.8-4.3 44.7-8.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CakeSlice;

impl IconShape for CakeSlice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224.375 19.5c-.627.005-1.25.035-1.875.063-22.916 1.004-39.905 16.736-45.063 35.093-4.796 17.07-.468 35.99 21.688 49.907-24.784 5.082-44.582 24.197-50.625 48.624L28.22 266.125l344.75-48.688c-4.686-11.665-7.433-24.554-7.72-37.875-12.373 3.495-25.437 1.82-35.688-4.843-12.483-8.115-19.316-24.395-15.156-42.97-11-3.865-20.314-11.138-28.937-20.156-2.67 1.933-5.597 3.722-8.876 5.47-4.904 2.61-10.448 4.996-16.406 7.03-5.415-5.783-11.86-10.583-19.032-14.125 2.016-.402 4.02-.877 6-1.407 7.72-2.07 14.993-4.985 20.656-8 5.664-3.016 9.72-6.49 10.657-7.75l7.03-9.438 7.625 9c11.86 14.042 21.687 21.77 34.406 23.53l12.22 1.69-4.938 11.31c-7.348 16.822-2.72 25.15 4.938 30.126 7.657 4.978 20.167 5.28 29.938-2.03l17.718-13.28-2.844 21.968c-4.23 32.48 11.383 64.938 31.844 77.875 10.23 6.468 21.06 8.458 32.78 4.53 11.724-3.927 24.924-14.41 37.533-35.405 21.685-36.113-15.126-77.975-47.376-66.625l-12.75 4.5.312-13.532c.912-37.316-34.334-67.822-74.344-59.03l-8.437 1.844-2.53-8.25c-3.99-13.03-12.2-21.695-21.19-25.25-8.988-3.556-18.85-2.703-29.155 5.625l-7.97 6.436-5.686-8.53C264.252 29.87 243.812 19.34 224.374 19.5zM212.28 121.906c1.566 0 3.102.072 4.626.22-8.18 3.796-13.844 12.073-13.844 21.686 0 13.204 10.703 23.907 23.907 23.907 13.203 0 23.905-10.704 23.905-23.907 0-.646-.044-1.274-.094-1.907 5.35 7.632 8.5 16.92 8.5 27 0 6.146-1.19 12.007-3.31 17.375-26.588 19.077-53.165 20.028-79.75 12.845-6.835-8.157-10.94-18.68-10.94-30.22 0-26.063 20.937-47 47-47zm169.845 113.156L19.97 286.156v16.594l374.436-52.844c-4.555-4.38-8.67-9.372-12.28-14.844zm97.156 16.375c-6.23 5.497-12.678 9.638-19.28 12.5l-.75 169.125 11.625-1.187 8.406-.844V251.44zm-60.56 13.907L19.97 321.656v52.75l30.843-17.156 4.593-2.563 4.563 2.625c16.475 9.383 28.455 10.95 40.155 7.813 11.7-3.138 23.93-11.893 37.875-25.875l3.875-3.875 5.28 1.5c24.013 6.806 38.055 9.512 49.064 7.625 11.008-1.887 21.244-8.403 38.218-23.78l6.28-5.69 6.25 5.69c7.754 7.03 11.293 7.7 12.47 7.655 1.176-.045 3.25-1.242 7.937-4.344 4.688-3.1 11.853-7.25 21.53-7.655 8.286-.346 18.054 2.04 29.97 7.688 8.374-7.562 15.014-12.59 23.75-13.594 8.592-.99 15.815 2.258 24.906 7.092 6.724-5.367 13.502-8.383 20.033-9.156 8.26-.978 15.21 1.12 21 2.75 5.79 1.63 10.514 2.88 15.312 2.563 4.656-.31 9.9-1.895 17.25-7.5l.156-37.658c-7.78.51-15.41-.668-22.56-3.218zm-27.533 61.53c-.486.013-.968.04-1.437.095-3.75.443-7.92 2.043-14.313 8.467l-4.906 4.938-6.155-3.313c-11.897-6.416-17.156-8.315-19.625-8.03-2.47.283-7.388 3.3-17.906 13.03l-4.906 4.532-5.875-3.156c-13.036-7.02-21.216-8.59-26.375-8.375-5.16.215-8 1.883-12 4.53-4.002 2.648-9.25 7.153-17.532 7.47-6.335.24-12.545-2.27-19.312-7.25-14.828 12.75-27.21 20.65-41.47 23.093-14.998 2.57-30.607-.71-52.186-6.687-13.58 13.024-26.973 22.878-42.22 26.967-15.368 4.123-31.947 1.747-49.5-7.156l-35.5 19.75v17.69c31.86-14.53 63.46-14.035 95.844-5.5 10.952-15 24.617-25.098 41.813-27.783 17.11-2.67 36.716 1.77 60.53 11.688 4.384-9.426 9.76-15.932 16.532-19.656 8.8-4.84 18.007-4.127 25.844-3.033 15.676 2.19 27.35 6.595 43.19-6.437l4.25-3.5 5.124 2.03c23.357 9.21 50.61 11.247 73.625-7.5l5.81-4.717 5.876 4.625c15.268 11.986 29.62 11.267 42.5 1.906l.125-27.5c-5.555 2.605-10.908 3.948-15.936 4.28-8.64.573-15.835-1.597-21.594-3.218-5.04-1.418-8.91-2.363-12.313-2.28zm1.72 45.626c-26.39 18.067-56.995 16.428-81.844 7.813-20.187 13.676-40.456 9.14-53.094 7.375-6.793-.95-11.016-.873-14.25.906-3.237 1.78-7.39 6.21-11.532 18.47l-3.313 9.81-9.438-4.28c-26.59-12.11-45.507-16.066-58.937-13.97-13.43 2.098-22.934 9.533-32.813 25.032l-3.78 5.938-6.75-2c-35.05-10.37-64.65-11.103-97.188 6.75v43.375l10.28-1.033 410.313-41.718.25-58.44c-15.042 6.07-32.325 5.435-47.907-4.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Caldera;

impl IconShape for Caldera {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322.906 60.906l-7.72 1.47-63.592 12.093-3.22.624-2.124 2.47c-7.074 8.218-17.59 13.896-28.97 14.655-11.38.758-23.822-3.012-36.093-15.19l-5.718-5.655-6.47 4.78-55.5 41.407-2.53 1.876-.876 3C98.38 162.385 64.634 244.3 17.97 312.688v32.03C73.347 271.667 112.546 178.6 127.03 130.75l47.032-35.03c14.115 11.464 29.877 16.128 44.47 15.155 15.478-1.033 29.394-8.116 39.5-18.594l52.937-10.093 11.374 30.032 1.812 4.78 5 1.03c25.286 5.29 57.767 17.538 83.47 41.564 7.697 82.853 28.944 142.817 80.624 194.28v-27.312c-39.61-45.515-55.92-97.534-62.438-172.375l-.28-3.437-2.5-2.438c-27.842-27.25-62.216-40.858-89.97-47.343l-12.375-32.72-2.78-7.344zm-59.562 70.156c-38.16 0-72.7 6.43-96.844 16.282-12.072 4.926-21.48 10.752-27.438 16.5-3.952 3.813-6.323 7.357-7.468 10.75-.042.123-.087.252-.125.375-12.766 37.944-29.76 75.897-49.126 113.843 24.3-23.393 44.42-49.902 56.75-77.813l-13.656 59.375-44.626 122-1.718 4.688 2.937 4.03 26.126 36.063-25.25 57.813h20.406l24.094-55.25 2.156-4.908-3.125-4.312-26.374-36.375 7.687-20.97 70.72-156.905c22.04 7.065 50.196 11.578 80.905 11.938l9.03 114.75 28.564 125.968-5.126-131.687 14.72-73.876 26.498 37.812-1.03-80.437c10.397-2.448 19.878-5.417 28.124-8.782 5.128-2.093 9.762-4.352 13.875-6.688 7.416 37.274 29.225 72.748 60.064 108.25-17.907-42.653-36.687-88.07-38.656-130.063.32-1.282.468-2.536.468-3.78 0-4.904-2.323-10.065-8.28-15.813-5.96-5.748-15.398-11.574-27.47-16.5-24.143-9.853-58.652-16.28-96.812-16.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Campfire;

impl IconShape for Campfire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281.53 23.438c48.44 71.504-18.447 145.556-63.655 58.968 27.295 144.502-65.22 166.347-74.75 74.75-73.554 65.057-59.358 147.17-20.438 210.75l45.844-26.344c-12.004-18.318-17.995-42.502-15.31-66.218 25.688 39.43 106.855 10.088 97.124-59.938 10.695 32.074 37.802 28.97 65.78-20.5C278.07 297.622 337.95 364.248 378.032 333.5c1.47 11.97-2.95 25.657-10.592 38.063l46.968 12.53c55.122-47.503 79.71-135.97-3.812-175.53 39.08 60.478-13.1 105.064-60.72 41.468-38.546-72.133 82.366-113.394-68.343-226.593zM173.876 48.124c-64.128 32.333-14.642 60.51-14.03 92.344 44.122-38.935-3.722-53.508 14.03-92.345zm74.47 269.094L75 416.874c2.71 18.39 8.98 34.417 18.813 48.5l92-44.063-78.688 59.875c3.39 3.38 7.033 6.62 10.938 9.75L192.78 448c-.023-.738-.06-1.475-.06-2.22 0-37.22 30.495-67.56 67.81-67.56 10.53 0 20.527 2.413 29.44 6.717-2.323-13.414-7.28-27.104-14.72-39.28l-94.938 40.124 82.47-56.467c-4.34-4.55-9.166-8.64-14.438-12.094zm58.874 57.624c1.61 7.148 2.6 14.315 2.967 21.312l.22 3.938c11.13 12.042 17.937 28.09 17.937 45.687 0 7.795-1.356 15.276-3.813 22.25l91.345 24.376c4.642-6.327 8.588-12.768 11.844-19.375l-63.158-24.686 70.125 6.844c.866-2.948 1.61-5.923 2.22-8.938l-97.063-34.22L439 427.5c.156-5.772-.103-11.67-.813-17.72L307.22 374.845zm-46.69 22.062c-27.26 0-49.124 21.8-49.124 48.875 0 27.078 21.864 48.876 49.125 48.876 27.263 0 49.126-21.798 49.126-48.875 0-27.075-21.863-48.874-49.125-48.874zm-4.936 11.78c43.778.002 58.435 71.595 0 71.595 26.622-23.113 29.81-46.888 0-71.592zm.187 9.845c-21.616 17.916-19.304 35.177 0 51.94-42.375 0-31.745-51.94 0-51.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CandleFlame;

impl IconShape for CandleFlame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M334.656 17.125c-39.668 10.85-74.78 27.46-100.75 51.97-.7-12.52-4.5-25.147-13.28-38.032-.99 44.914-50.315 103.934-30.5 153.53.003.01-.005.023 0 .032 7.68 30.364 37.266 53.535 65.468 58.313-2.05-19.67-7.09-37.707-14.47-54.72l17.157-7.437c8.366 19.287 13.92 39.993 16 62.47 23.252-3.66 41.33-23.623 38.283-67.594-3.658-52.788-.63-114.802 22.093-158.53zM209.53 258.72c-31.372.18-59.653 7.37-81.81 19.936-22.914 12.996-39.443 32.518-44.376 55.5-2.557 8.937-4.03 19.326-4.03 30.406 0 32.55 12.64 59.1 28.5 60.532V489.5h301.155v-18.47c1.204.15 2.44.22 3.686.22 16.484 0 29.844-13.362 29.844-29.844 0-15.464-11.78-28.173-26.844-29.687-2.632-46.515-15.848-80.1-41.875-103.47-23.49-21.094-56.093-33.432-98.592-41.78-.3 21.733-3.715 45.06-10.75 70.28l-18.032-5.03c7.006-25.113 10.208-47.738 10.22-68.533-4.84-.782-9.746-1.537-14.813-2.25-11.03-1.55-21.824-2.28-32.282-2.218zm-103.186 79.186h18.687c0 5.588 2.556 11.307 8.69 17.5 6.13 6.194 15.744 12.395 28.06 17.656 24.636 10.524 59.83 17.375 98.75 17.375 49.15 0 92.438-11.197 115.845-26.312l10.125 15.72c-28.443 18.366-74.097 29.28-125.97 29.28-41.077 0-78.3-7.003-106.092-18.875-13.897-5.936-25.473-13.075-34-21.688-8.528-8.612-14.094-19.157-14.094-30.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CandleHolder;

impl IconShape for CandleHolder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.75 14.625c-14.073 0-47.344 43.993-47.344 79.97 0 26.674 11.15 44.41 38.375 46.81 3.648-21.18 3.137-42.01-3-62.874l17.908-5.28c6.65 22.616 7.458 45.273 4.093 67.625 27.623-3.88 37.283-20.537 37.283-46.28 0-35.977-33.655-79.97-47.313-79.97zm-45.188 140.063v11.843l-.187-3.905c.774 26.386-17.415 28.686-17.125 48.156.227 15.365 12.172 20.084 17.313 12.69v145.75h97.156v-83.5c6.51 7.5 19.83 1.552 20.092-16.22.31-20.772-16.87-25.295-20.093-48.22v-66.593c-32.392 10.276-65.8 9.795-97.158 0zM113.625 285.344c-19.435.005-37.23 10.322-48.094 26.125-14.485 21.068-17.477 52.02-.81 81.405 7.814 13.78 4.407 25.93-2.126 32.28-6.533 6.352-15.494 8.594-27.563-2.53l-12.655 13.72c17.56 16.183 40.3 14.805 53.25 2.217 12.95-12.587 16.81-34.69 5.344-54.906-13.474-23.753-10.43-46.47-.032-61.594 10.398-15.124 27.313-22.524 45.968-15.593 23.738 8.82 34.46 29.795 32.813 48.124-1.355 15.062-9.978 28.618-30.095 33.437h-25.688c3.313 6.736 7.145 13.262 11.407 19.533l.03 1c.213-.006.415-.025.626-.032 10.88 15.772 24.687 29.972 41.063 42.158H443c23.286-17.327 41.907-38.453 53.75-62.657H164.28c8.205-9.01 13.02-20.162 14.064-31.78 2.414-26.863-13.754-55.694-44.938-67.28-6.646-2.47-13.303-3.628-19.78-3.626z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CandleLight;

impl IconShape for CandleLight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.75 23.563c-27.913 0-93.875 87.237-93.875 158.593 0 59.35 29.018 79.715 68.625 94.875-15.47-15.607-26.03-43.75-26.03-76.186 0-49.232 31.292-89.188 53.25-89.188 21.132 0 53.25 39.955 53.25 89.188 0 30.39-9.41 56.833-23.283 72.937 36.097-18.016 61.938-35.72 61.938-91.624 0-71.356-66.786-158.594-93.875-158.594zm6.72 175.906l-18.5 2.686c5.764 39.366 6.665 69.034 4.25 97.875-24.957-.97-49.677-5.972-73.69-14.75v95.47c-3.295 25.668-22.434 30.526-22.093 53.47.29 19.547 14.998 26.003 22.094 17.624v36.28h164.69v-88.343c8.615 10.89 27.17 3.06 27.53-21.31.432-29.117-24.597-34.605-27.53-68.814V285.28c-23.916 8.88-48.17 13.702-72.314 14.72 2.337-29.752 1.383-60.792-4.437-100.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CandleSkull;

impl IconShape for CandleSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.104 22.578c-20.107 0-36.407 24.864-36.407 55.54 0 14.627 3.712 27.924 9.77 37.843-.797-3.59-1.227-7.4-1.227-11.353 0-21.304 12.457-38.572 27.822-38.572 15.366 0 27.825 17.27 27.825 38.572 0 4.027-.448 7.908-1.274 11.557 6.133-9.94 9.897-23.318 9.897-38.047 0-30.672-16.3-55.54-36.406-55.54zm-8.625 79.795c-3.055 12.47-6.142 26.436-3.298 40.94-8.287-1.01-16.575-2.958-24.862-5.82 9.937 28.745 14.647 57.702 3.748 87.278-16 14.62-32.728 27.616-47.52 38.335-9.616 6.97-8.897 18.14-4.433 22.663 2.232 2.26 5.295 3.785 11.748 2.43 6.453-1.357 16.117-6.333 27.883-17.92 5.477-5.395 12.057-7.237 20.416-9.216 8.36-1.978 18.263-3.21 28.584-3.304 20.642-.19 43.666 3.353 56.88 19.592 7.75 9.527 14.644 12.63 19.724 13.14 5.08.51 9.04-1.392 11.892-4.53 2.853-3.14 4.186-7.386 3.487-11.25-.7-3.866-3.072-8.03-10.7-11.653-17.862-8.484-35.915-21.494-51.493-37.217-12.106-29.452-8.637-58.902 3.578-88.348-9.837 3.664-19.674 5.752-29.51 6.4-3.613-11.36-1.362-23.237 2.026-37.074l-18.15-4.445zm12.438 174.072c-8.915.083-17.664 1.196-24.453 2.803-6.79 1.607-11.856 4.59-11.606 4.344-13.444 13.24-25.725 20.493-37.153 22.894-10.256 2.156-19.96-.205-26.695-5.627-21.038 17.212-33.722 40.734-32.33 71.636 2.607 57.89 28.36 96.284 58.69 113.104 28.96 16.058 61.78 13.472 87.425-11.93l-11.3-42.274 18.054-4.826 8.218 30.74c20.986-3.343 42.087-5.46 63.275-5.664 1.523-.014 3.048-.02 4.572-.013 19.34.07 38.748 1.778 58.203 5.63 1.013-31.385-.38-62.404-7.734-89.658l-29.46-4.492c2.29-18.12 21.336-32.636 38.835-35.996l-53.68-29.41c-.235.275-.464.555-.708.822-6.503 7.155-16.556 11.662-27.59 10.554-11.033-1.108-22.353-7.65-32.353-19.94-6.595-8.104-24.38-12.864-42.212-12.7zm-19.36 23.43l13.84 12.555c-13.42 14.796-24.91 36.053-24.787 61.01 15.837 2.025 31.16 7.527 42.18 20.964l-14.452 11.852c-8.717-10.63-21.02-14.297-37.256-15.133l-8.03-.412-.788-8c-3.423-34.676 11.938-63.7 29.293-82.835zm50.487 26.36c19.1-.178 43.927 16.05 46.56 36.872l-64.568 10.04c-11.24-33.82 1.155-46.753 18.008-46.91zm80.846 44.974l15.98 58.38-22.43-19.973-7.682 21.2c-8.4-21.78-15.746-44.162 14.133-59.608zM344.93 470.4c-5.53.124-11.065.404-16.608.784l3.592 24.076h13.664l-.648-24.86zm18.7.12l.642 24.74h13.367l-.12-23.924c-4.626-.38-9.256-.652-13.89-.817zm-53.948 2.376c-6.34.727-12.693 1.6-19.055 2.582l5.29 19.782h17.1l-3.335-22.364zm86.537.606l.11 21.758h13.323c.488-6.335.924-12.712 1.3-19.102-4.908-1.025-9.82-1.915-14.733-2.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Candlebright;

impl IconShape for Candlebright {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.5 20.563c24.226 185.95-94.27 281.193-69.688 372.937 3.67 13.694 10.22 26.198 18.907 37.375-2.572-7.143-4.053-14.664-4.22-22.5-1.053-49.328 50.494-92.216 87.344-161.25 11.533 31.27 23.798 68.703 16.75 116.28 62.933-18.27 110.746-66.518 121.187-117.655 37.003 66.223 41.693 141.46.876 196.78-.134-3.025-.612-6.104-1.53-9.186-6.996-23.464-39.652-36.488-72.688-28.03-61.143 15.66-69.61 98.658 16.625 85.217.44-.068.896-.144 1.343-.217 24.446-3.723 47.13-12.838 64.906-28.063C510.78 335.102 388.185 103.572 182.5 20.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cannister;

impl IconShape for Cannister {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336.438 20.375c-.93-.01-1.855.01-2.782.03-23.67.532-46.656 11.083-62.437 29.907l143.06 82.594c13.666-37.527-1.125-80.59-36.905-101.25-12.925-7.463-27.007-11.128-40.938-11.28zm-88.72 37.97l-9.812 17 44.22 25.53c10.07 5.815 16.038 16.205 19.374 27 3.336 10.795 4.395 22.475-1.375 32.47l-47.063 81.53c-5.4 9.354-14.777 15.994-25.53 19.313-10.754 3.318-23.383 3.12-34.47-3.282l-45.437-26.22L79.187 350.22l168.875 97.53 23.094-40-45.906-26.594-8.063-4.687 4.657-8.064L336.72 168.75l4.655-8.125 8.125 4.72 46.125 26.718 20.938-36.25-168.844-97.47zm-74.343 1.03l-9.344 16.188 17.095 9.874-52.906 91.72-17.126-9.876-9.344 16.19 17.125 9.874-.063.125 83.594 48.25c5.86 3.38 12.94 3.655 19.625 1.593 6.686-2.063 12.448-6.63 14.845-10.782L283.938 151c1.39-2.408 2.03-10.11-.282-17.594-2.313-7.484-7.217-14.232-10.875-16.344l-16.467-9.5.125-.218-83.063-47.97zm45.375 54.094c4.968.015 10.01 1.284 14.656 3.968 14.163 8.176 18.958 26.024 10.78 40.187-8.176 14.163-26.02 18.928-40.186 10.75-14.163-8.177-18.958-25.993-10.78-40.156 5.11-8.853 14.003-14.04 23.405-14.69.705-.047 1.415-.064 2.125-.06zm-52.156 51.624c2.72.05 5.505.8 8.125 2.312 7.982 4.61 10.583 14.204 6.28 21.656-4.303 7.454-13.92 10.017-21.906 5.407-7.984-4.61-10.553-14.205-6.25-21.657 2.69-4.658 7.452-7.41 12.594-7.688.385-.02.767-.038 1.156-.03zm181.656 21.094L242.687 369.625l41.125 23.844 105.563-183.44-41.125-23.843zm-137.313 4.5c2.727.05 5.537.8 8.157 2.312 7.983 4.61 10.553 14.204 6.25 21.656-4.303 7.453-13.89 10.017-21.875 5.406-7.976-4.604-10.565-14.175-6.282-21.625v-.03c2.69-4.66 7.45-7.41 12.593-7.688.387-.022.768-.04 1.157-.032zM83.313 374.217c-17.224 38.714-2.76 84.968 34.75 106.626 37.522 21.664 84.817 11.05 109.72-23.25L83.31 374.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cannon;

impl IconShape for Cannon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M142.373 116.285l-15.92 9.79 19.223 31.257c-17.208 13.06-28.326 33.725-28.326 56.994 0 21.555 9.55 40.866 24.632 53.977l-71.76 92.16L20.66 379.69v17.828h71.834l73.588-95.78h8.22c-5.383 42.56 21.434 83.807 63.995 95.21 46.448 12.447 94.437-15.26 106.883-61.708 3.015-11.253 3.667-22.595 2.273-33.502h35.3v-30.61l109.858-7.968v-96.365l-286.655-21.91c-5.48-1.345-11.2-2.072-17.094-2.072-9.53 0-18.62 1.88-26.934 5.265l-19.553-31.793zM260.637 244.04c5.936-.01 11.978.757 17.998 2.37 36.692 9.832 58.323 47.3 48.492 83.992-9.832 36.692-47.3 58.326-83.992 48.494-36.692-9.83-58.326-47.3-48.494-83.992 7.99-29.812 34.222-49.684 63.46-50.814.843-.033 1.69-.05 2.537-.05zm3.633 19.747l-8.225 30.697-22.47-22.47-13.216 13.215 22.47 22.47-30.695 8.226 4.838 18.053 30.695-8.226-8.225 30.695 18.053 4.835 8.225-30.693 22.47 22.47 13.214-13.216-22.468-22.47 30.695-8.226-4.837-18.052-30.695 8.224 8.224-30.697-18.052-4.838z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CannonBall;

impl IconShape for CannonBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.22 19.22V144.5l24.19 19c1.02-5.3 2.84-10.8 5.31-16.5 7.36-16.9 20.6-35.6 38.22-53.25 17.66-17.62 36.26-30.86 53.26-38.22 5.4-2.37 10.7-4.14 15.8-5.19l-25.4-31.12zM164.1 68c-4.3.15-10.5 1.65-17.4 4.69-14 6.07-31.3 18.07-47.55 34.31-16.21 16.2-28.21 33.5-34.28 47.5-3.03 7-4.53 13.1-4.68 17.4-.13 3.5.46 5.4 1.28 6.6 5.27 4.8 12.65 10.2 18.47 15.3 5.09 4.5 11.53 6 17.5 5.4 5.96-.6 11.96-2.7 18.26-5.7 12.7-6.2 26.8-16.5 40.3-30 13.4-13.5 23.8-27.6 29.9-40.2 3.1-6.4 5.2-12.4 5.8-18.3.5-5.99-.6-12.73-5.4-17.53-4.8-5.01-10.5-12.16-16-18.35-2-.67-4-1.03-6.2-1.12zm9 35.2c-.3 2.6-1.6 6.9-4 11.9-4.8 10.1-14.1 22.9-26.3 35.2-12.3 12.2-25.1 21.5-35.2 26.4-5 2.4-9.34 3.6-11.97 3.9-1.76.2-2.55-.5-2.51-2.5.25-2.6 1.51-6.9 3.93-11.9 4.85-10.1 14.15-22.9 26.35-35.2 12.2-12.2 25.1-21.5 35.1-26.3 5-2.5 9.4-3.7 12-4 2.1.1 2.8.6 2.6 2.5zm17.5 99.9l91.6 137.5-54.9 4.8 84.7 75.5-41.3 16.2c80.9 53.3 172.4 74.5 205.1 41.7 32.8-32.7 16.4-131.5-35.7-185.5l-4.1 41.9-59.3-89.2-7.6 57zm241.9 192.4c21.8 0 39.3 17.4 39.3 39.3 0 21.8-17.5 39.3-39.3 39.3-21.8 0-39.3-17.5-39.3-39.3 0-21.9 17.5-39.3 39.3-39.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CannonShot;

impl IconShape for CannonShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.875 11.395l86.455 98.443c2.175-1.122 4.337-2.206 6.47-3.215 14.37-6.805 27.684-11.083 39.76-12.103.75-.064 1.498-.113 2.243-.15L242.69 11.396h-73.815zM18.348 64.145v27.722l.21-.25 128.432 107.3c3.262-3.764 6.643-7.526 10.127-11.276L18.347 64.147zm287.896 48.835c-.982.017-2.017.07-3.11.163-8.734.738-20.327 4.21-33.337 10.37-.564.268-1.146.567-1.715.844l30.996 35.295c1.406-.72 2.808-1.43 4.193-2.1 13.245-6.395 25.504-10.477 36.683-11.554.592-.057 1.183-.1 1.774-.14l-21.385-29.032-.344.344c-2.62-2.62-6.88-4.304-13.754-4.19zm-287.896 2.817V264.15l69.13 47.274c.036-.995.088-1.993.172-2.996 1.02-12.077 5.298-25.392 12.104-39.762 8.213-17.34 20.215-36.21 35.324-55.348l-116.73-97.52zm326.18 48.625c-.875.025-1.802.083-2.784.178-7.853.756-18.432 4.027-30.346 9.78-23.826 11.508-53.028 32.712-80.87 60.554-27.843 27.84-49.048 57.044-60.555 80.87-5.754 11.914-9.025 22.494-9.782 30.346-.755 7.853.795 12.184 3.197 14.586 2.402 2.402 6.735 3.952 14.588 3.196 7.852-.757 18.432-4.028 30.345-9.782 7.81-3.77 16.202-8.6 24.928-14.347-17.195 39.23-28.067 89.333-34.394 153.564 37.517-129.093 80.838-109.43 114.544-6.287-18.62-109.564 99.38-61.623 185.008 5.397-66.417-101.782-124.625-177.518 4.55-188.135-124.058-5.07-140.995-44.53-21.876-102.653-58.372 6.19-105.555 15.9-143.54 32.65 4.806-7.536 8.915-14.8 12.206-21.613 5.754-11.914 9.023-22.494 9.78-30.346.756-7.852-.794-12.183-3.196-14.585-1.8-1.8-4.688-3.122-9.332-3.352-.774-.038-1.596-.046-2.47-.02zm-173.442 35.65c-3.353 3.61-6.6 7.226-9.734 10.842l37.066 30.97c2.84-3.234 5.753-6.464 8.768-9.687l-36.1-32.125zm142.27 1.117c3.84.122 6.953 1.23 9.142 3.42 6.837 6.836 3.118 22.676-8.182 41.52-29.24 17.088-52.02 39.92-69.58 70.706-20.12 12.694-37.26 17.173-44.45 9.984-11.437-11.437 6.648-48.066 40.396-81.814 26.365-26.366 54.49-43.17 70.986-43.81.577-.02 1.14-.024 1.69-.007zm-163.9 24.138c-14.242 18.11-25.428 35.748-32.81 51.338-6.163 13.01-9.634 24.602-10.373 33.336-.738 8.734 1.033 13.87 4.026 16.86l-.1.1 31.152 21.304c.034-1.296.112-2.6.238-3.91 1.076-11.177 5.158-23.437 11.555-36.68 7.777-16.104 19.084-33.65 33.275-51.465l-36.965-30.882z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Capitol;

impl IconShape for Capitol {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.594 19.406l-15.78 59.125c5.184-.58 10.44-.874 15.78-.874 5.338 0 10.595.293 15.78.875l-15.78-59.124zm0 76.97c-57.894 0-106.156 40.154-118.656 94.186H374.25c-12.5-54.032-60.762-94.187-118.656-94.187zM19.406 209.25v33.53h472.406v-33.53H19.406zM71.5 261.47v159.124h50.406V261.47H71.5zm105.97 0v159.124h50.405V261.47H177.47zm105.936 0v159.124h50.406V261.47h-50.406zm105.938 0v159.124h50.406V261.47h-50.406zm-161.78 177.655l-31.658 56.656h120.5l-32.062-56.655h-56.78zm-208.158.156v33.533h167.938l18.72-33.532H19.405zm286.531 0l18.97 33.533h166.906V439.28H305.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CargoCrane;

impl IconShape for CargoCrane {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M306.875 18.22c-.47-.002-.935.014-1.406.03-.158.005-.313.024-.47.03-1.583.056-3.176.204-4.78.47-3.61.597-7.01 1.7-10.158 3.22L49.595 120.062c-.918.42-1.808.877-2.688 1.343-.598.318-1.2.63-1.78.97-13.697 7.67-22.918 21.836-24.188 37.655-.058.635-.094 1.27-.125 1.907-.363 7.292.943 14.76 4.156 21.844 10.908 24.058 39.464 34.588 64.25 23.407l.093-.03L321.375 90.968l.156-.095.158-.063c19.685-8.925 28.3-31.436 19.656-50.5-6.28-13.85-19.92-22.07-34.47-22.093zm.28 18.718c8.924.308 16.542 6.77 18.064 15.968 1.737 10.51-5.208 20.23-15.72 21.97-10.512 1.738-20.2-5.21-21.938-15.72-1.738-10.51 5.208-20.23 15.72-21.968 1.313-.218 2.6-.295 3.874-.25zM354 86.656c-5.762 8.854-14.006 16.267-24.28 21-.108.05-.206.108-.314.156l-16.47 8.25 57.533 97.907c7.09-11.768 19.637-19.107 33.06-19.845 1.59-.087 3.18-.07 4.783.03L354 86.656zM67.906 135.03c.484-.005.96.015 1.438.032 13.393.478 24.876 10.217 27.156 24 2.606 15.75-7.873 30.426-23.625 33.032-15.752 2.606-30.426-7.906-33.03-23.656-2.607-15.75 7.903-30.395 23.655-33 1.477-.245 2.955-.387 4.406-.407zm60.188 73.595l-16.813 8.438 7.814 21.625-50.78-8.22-.064-.187c-7.272-.066-14.432-1.293-21.22-3.593l59.5 163.344-.405.783.75.187 16.906 46.406c4.612-4.79 9.704-9.125 15.22-12.875l-10.28-28.217 51.624 12.562h.03c3.962-.504 8-.78 12.095-.78 2.655 0 5.272.128 7.874.342l-72.25-199.812zm277.437 4.094c-.365 0-.73.012-1.092.03-8.72.434-16.66 5.983-19.844 14.78-4.244 11.733 1.706 24.414 13.437 28.657 11.733 4.244 24.445-1.705 28.69-13.437 4.243-11.734-1.707-24.412-13.44-28.656-2.565-.93-5.186-1.376-7.75-1.375zm39.158 9.81c2.728 8.395 2.806 17.714-.407 26.595-.456 1.264-.994 2.497-1.56 3.688l27.936 5-4.375 51.25-19.405 11.562 9.563 16.063 23.53-14.032 4.126-2.437.406-4.783 6.313-73.937.937-10.78-2.03.124-45.033-8.313zm-80.094 12.376l-44 26.78-.094.033v.03l-.063.03.157.158 4.47 9.5 31.498 67.187 2.032 4.344 4.72.874 26.905 5 3.436-18.375-22.22-4.126-21.467-45.813 26.842-16.186c-7.77-7.738-12.248-18.393-12.218-29.438zM75.656 250.594l35.156 5.687-18.593 39.845-16.564-45.53zm52.406 12.906l18.344 50.78-37.812-9.06 19.47-41.72zm-26.093 59.344l35.31 8.47-19.03 36.31-16.28-44.78zm52.968 15.03l18.093 49.97-39.28-9.53 21.188-40.44zm37.53 88.907c-39.29 0-71.475 29.325-76.062 67.345h22.5c4.46-25.5 26.83-45.03 53.563-45.03 26.73 0 49.074 19.53 53.53 45.03h22.5c-4.587-38.02-36.74-67.344-76.03-67.344zm0 41c-16.555 0-30.22 11.145-34.312 26.345h68.594c-4.092-15.2-17.725-26.344-34.28-26.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Carillon;

impl IconShape for Carillon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M385.094 18.03l4.25 37.814h-.22l3.063 27.343h.22L438.25 492.25h66.563V364.344L427.156 18.03h-42.062zm-296.625.095L10.812 364.47v127.905h66.562L123.25 83.187h.03l3.064-27.343h-.03l4.217-37.72H88.47zm56.718 37.72l-3.063 27.343h105.75v32c-10.452 4.037-17.97 14.21-17.97 26 0 4.962 1.337 9.633 3.657 13.687-9.215 3.742-16.44 10.183-23.375 19.97-12.268 17.314-22.33 46.215-33.406 87.56-9.713 36.27-23.063 54.097-32.81 66.908-9.75 12.81-15.285 19-15.282 40.03 0 3.104 1.746 6.535 7.78 10.938 6.036 4.405 15.845 8.82 28.126 12.408 24.56 7.173 58.89 11.304 94.594 11.312 35.703.008 70.067-4.083 94.625-11.25 12.278-3.583 22.092-8.004 28.125-12.406 6.032-4.402 7.75-7.86 7.75-10.97-.004-21.03-5.53-27.217-15.282-40.03-9.75-12.813-23.118-30.638-32.844-66.906-11.087-41.35-21.13-70.242-33.406-87.563-7.51-10.597-15.365-17.26-25.72-20.844 2.032-3.853 3.19-8.22 3.19-12.843 0-12.21-8.035-22.717-19.063-26.437V83.187h106.812l-3.063-27.343H145.188zM257.78 132c5.17 0 9.158 4.017 9.158 9.188 0 5.17-3.987 9.156-9.157 9.156s-9.155-3.986-9.155-9.156S252.61 132 257.78 132zm9.75 35.25c29.084 10.748 41.874 57.507 49.283 89.406 15.208 65.5 48.59 77.5 48.53 110.188-2.848 2.364-7.698 5.03-13.75 7.156-7.64 2.684-16.88 4.66-25.812 6.094 3.806-40.826-29.81-52.602-29.31-104.594.522-54.635-14.517-90.058-33.658-106.938 1.63-.302 3.2-.736 4.72-1.312zm17.345 254.78c-8.423.444-17.01.66-25.688.658-7.31-.002-14.548-.182-21.687-.5.75 12.437 11.06 22.28 23.688 22.28 12.683.003 23.022-9.923 23.687-22.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CarnivoreMouth;

impl IconShape for CarnivoreMouth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M35.344 47.063c3.72 50.664 10.165 99.533 100.28 92.656-2.466-81.82-50.998-87.873-100.28-92.657zm412.094 8.78l-4.188 84.938c66.643-15.697 37.995-78.956 4.188-84.936zM285.875 170.47c-.567-.002-1.14.013-1.72.06-1.54.13-3.135.45-4.75.907-12.91 3.67-26.198 18.925-24.5 39.125.694 8.22 11.438 30.375 22.44 48.094 4.454 7.176 8.508 13.076 12.186 18.47 2.647-6.54 5.605-13.978 8.69-22.688 3.656-10.332 7.185-21.38 9.467-31.125 2.283-9.746 3.055-18.44 2.438-22.188-2.44-14.78-7.734-22.812-13.063-26.813-3.497-2.625-7.216-3.837-11.187-3.843zm68.72 2.25c-3.975-.05-7.713 1.114-11.22 3.686-5.345 3.92-10.69 11.883-13.25 26.625-.65 3.734.05 12.412 2.25 22.19 2.2 9.776 5.617 20.9 9.188 31.28 3.017 8.774 5.967 16.262 8.562 22.844 3.72-5.338 7.776-11.18 12.28-18.28 11.138-17.554 22.068-39.538 22.845-47.752v-.062c1.868-20.184-11.325-35.658-24.22-39.5-1.61-.48-3.178-.79-4.717-.938-.578-.055-1.152-.086-1.72-.093zm75.686 18.75c-.54-.02-1.09-.005-1.624.03-1.424.094-2.836.37-4.22.844-5.527 1.89-11.996 7.37-17.436 20.625-1.08 2.63-2.367 13.09-2.156 25.343.21 12.252 1.36 26.844 2.812 40.75 1.258 12.043 2.666 22.74 3.938 31.937 4.414-5.49 8.972-11.096 14.28-18.063 14.252-18.7 29.51-41.82 32.095-50.03 5.855-18.6-3.784-38.863-16-47.157-4.01-2.72-7.91-4.156-11.69-4.28zm-219.436 3.31c-3.782.075-7.695 1.464-11.72 4.126-12.262 8.112-22.052 28.226-16.343 46.906 1.13 3.7 5.977 12.356 12.564 21.657 6.586 9.3 14.868 19.74 22.937 29.436 6.238 7.496 11.668 13.632 16.814 19.47.62-9.29 1.314-19.916 1.78-31.97.55-14.162.813-28.992.376-41.5-.437-12.508-2.057-23.222-3.28-26.28-5.332-13.334-11.754-18.905-17.282-20.876-1.383-.493-2.795-.793-4.22-.906-.533-.043-1.084-.073-1.624-.063zm-66.375 32.407c-2.453.017-5.087.63-7.94 1.875-11.406 4.987-22.748 20.613-20.686 37.188.77 6.195 10.784 23.992 21.062 37.813 3.69 4.96 6.898 8.8 10.063 12.687 2.096-5.953 4.4-12.534 6.78-20.28 2.916-9.493 5.668-19.585 7.375-28.345 1.703-8.74 2.02-16.468 1.47-19.125-.002-.006 0-.025 0-.03-2.577-12.177-7.183-17.677-11.345-20.032-2.083-1.18-4.33-1.767-6.78-1.75zm24.155 121.282c-3.992 2.06-7.825 3.972-12.53 6.655-14.032 8-29.33 19.6-32.157 24.344-7.848 13.17-3.97 30.466 3.812 38.78 3.89 4.157 7.944 5.888 12.25 5.438 4.306-.45 10.18-3.32 16.906-12.72v-.03c1.37-1.912 4.006-8.585 5.813-16.688 1.806-8.103 3.206-17.8 4.25-27 .805-7.108 1.236-13.094 1.655-18.78zm223.844 5.686c-.895 7.812-1.907 16.832-2.75 27.156-.983 12-1.712 24.705-1.72 35.625-.008 10.92.98 20.412 2.188 24.032 4.544 13.623 10.658 19.552 16.062 21.842 5.404 2.29 11.33 1.567 17.688-2.125 12.714-7.383 23.674-26.89 19.062-45.875l-.063-.218c-.91-3.428-5.07-10.897-11.156-18.75-6.19-7.99-14.148-16.756-21.967-24.78-6.416-6.585-12.142-12.018-17.344-16.908zm-163.97 17c-5.757 4.13-12.516 9.088-19.688 14.813-8.564 6.835-17.29 14.394-24.062 21.436-6.77 7.042-11.36 13.99-12.22 16.97-5.408 18.723 4.71 38.753 17.126 46.75 6.208 3.997 12.142 4.993 17.625 2.968 5.485-2.026 11.82-7.648 16.94-21.03 2.968-7.76 4.864-34.22 4.81-56.69-.02-9.613-.282-17.953-.53-25.218zm49.5 14.03c-3.595 5.436-7.53 11.398-11.875 18.627-10.72 17.833-21.096 40.096-21.656 48.312-1.385 20.22 12.17 35.375 25.155 38.906 6.492 1.767 12.315.985 17.563-3.06 5.247-4.048 10.42-12.138 12.625-26.94.56-3.742-.38-12.405-2.813-22.124-2.434-9.72-6.086-20.772-9.906-31.062-3.232-8.706-6.34-16.137-9.094-22.656zm62.28.845c-2.487 6.602-5.313 14.09-8.186 22.876-3.407 10.416-6.642 21.58-8.688 31.375-2.045 9.798-2.614 18.49-1.906 22.22 2.793 14.716 8.295 22.628 13.72 26.5 5.422 3.872 11.278 4.457 17.686 2.47 12.816-3.98 25.754-19.555 23.563-39.72-.89-8.187-12.166-30.082-23.595-47.53-4.625-7.063-8.786-12.887-12.594-18.19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Carrion;

impl IconShape for Carrion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M323.625 96.625c12.83 15.365 21.246 32.45 24.063 49.844.007.01.023.018.03.03 4.098 6.483 7.3 13.663 9.376 21.406 3.872 14.452 3.23 28.98-.906 42.406 5.385-.137 10.753.234 16.03 1.063 20.337-50.824-1.366-99.53-48.593-114.75zm-229.03 6.313c-3.192-.04-6.272.958-8.75 2.78-7.217 5.303-9.528 17.636 3.874 31.5-31.695-23-53.314 13.355-23.47 23.5 38.186 12.98 62.297 37.852 91.03 66.657 4.5-8.95 9.99-16.856 16.22-23.72-29.31-29.85-48.34-53.623-62.5-87.686-3.777-9.087-10.316-12.96-16.406-13.032zm311.03 15.843c16.36 35.31 14.957 72.632-10.094 99.5 5.688 2.547 11.118 5.665 16.158 9.282 4.792 3.44 9.254 7.362 13.28 11.72 30.32-43.23 21.423-94.163-19.343-120.5zm-130.094 7.97c-5.81.065-11.757.88-17.686 2.47-36.142 9.682-56.886 44.88-47.97 78.155 4.906 18.306 17.715 31.888 34.72 39.375l4.125 1.813 1.155 4.312 10.72 40.03 77.31-20.686-10.75-40.033-1.155-4.343 2.656-3.625c10.983-14.988 15.28-33.163 10.375-51.47-7.223-26.964-32.437-45.255-61.03-45.97-.825-.02-1.64-.04-2.47-.03zm27.595 41.78c.43-.015.854-.016 1.28 0 7.4.296 14.078 5.348 16.095 12.876 2.483 9.266-3.013 18.798-12.28 21.28-9.27 2.485-18.8-3.014-21.283-12.28-2.482-9.266 3.014-18.798 12.282-21.28 1.302-.35 2.613-.546 3.905-.595zm165.594 3.19c6.195 35.648-2.874 68.998-29.22 89.155 5.5 11.813 8.25 25.165 7.25 39.406 49.058-33.438 56.908-89.938 21.97-128.56zm-222.064 12.218c7.486.204 14.276 5.273 16.313 12.875 2.482 9.266-3.015 18.797-12.283 21.28-9.267 2.484-18.798-3.014-21.28-12.28-2.484-9.267 3.013-18.798 12.28-21.282 1.16-.31 2.317-.492 3.47-.56.503-.032 1-.046 1.5-.032zm31.53 21.843l23.095 28.69-27.56 6.655 4.467-35.344zm-86.592 5.595c-11.07 10.506-19.91 24.784-24.78 43.25 14.297 7.06 26.344 16.036 35.686 27.063 13.265 15.656 20.738 35.304 21.75 57.78 4.04-.872 8.185-1.363 12.375-1.437 17.238-.304 35.058 6.446 47.875 22.658l-14.656 11.593c-14.735-18.635-37.164-19.036-53.53-10.186-8.185 4.425-14.354 11.116-17.033 18.594-.06.173-.096.356-.155.53L180 380.5c.418-2.084.98-4.12 1.688-6.094 4.274-11.932 13.145-21.438 23.968-27.75.413-21.826-5.678-39.026-17.437-52.906-11.62-13.713-29.194-24.297-52.626-31.22-2.038-.3-3.986-.457-5.813-.467-2.086-.012-4.026.152-5.843.468-7.266 1.268-12.8 4.773-17.5 10.75-9.398 11.958-14.07 34.817-10.406 61.845l3.907 28.688-19.937-21c-11.16-11.77-22.013-14.838-31.72-13.782-9.704 1.057-18.63 6.773-24.218 14.75-5.587 7.98-7.745 17.722-4.718 27.283 1.668 5.27 4.98 10.753 10.75 15.968 11.96 15.804 46.246 32.908 102.937 43.595-15.04 4.874-24.75 12.64-24.75 21.375 0 14.755 27.74 26.72 61.97 26.72 34.23 0 61.97-11.965 61.97-26.72 0-4.09-2.126-7.972-5.94-11.438 11.142.44 22.745.657 34.814.657 119.344 0 216.955-20.41 224.28-46.22 25.16-46.828-19.41-82.85-47.03-74.72l-15.313 4.5 3.564-15.56c6.54-28.536-5.674-52.045-25.813-66.5-15.23-10.935-34.772-16.04-53.53-12.907-.324.52-.633 1.048-.97 1.562l12.064 45.03 2.437 9.033-9.03 2.437-95.344 25.53-9.03 2.408-2.407-9-12.064-45.063c-19.58-9.923-35.08-27.09-41.094-49.53-.075-.283-.146-.563-.218-.845zM401.094 455c-15.935 0-28.875 5.57-28.875 12.438s12.94 12.437 28.874 12.437c15.935 0 28.844-5.57 28.844-12.438S417.027 455 401.094 455zM78.72 470.313c-15.936 0-28.845 5.568-28.845 12.437 0 6.87 12.91 12.438 28.844 12.438 15.934 0 28.843-5.57 28.843-12.438 0-6.87-12.91-12.438-28.844-12.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cartwheel;

impl IconShape for Cartwheel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.75 18.72C150.05 19.84 55.67 89.402 27.5 194.53-6.415 321.106 68.582 451.023 195.156 484.94c126.574 33.915 256.49-41.083 290.406-167.657C519.478 190.708 444.48 60.79 317.906 26.876c-19.777-5.3-39.657-7.957-59.22-8.156-1.65-.018-3.29-.02-4.936 0zm2.313 53.81c12.822-.048 25.848 1.247 38.843 4.032 1.034.222 2.06.48 3.094.72.488.115.98.223 1.47.343.51.123 1.018.247 1.53.375 1.004.255 1.994.512 3 .78 3.028.812 6.018 1.674 8.97 2.626 41.44 13.382 75.138 40.527 97.374 74.906.1.158.21.312.312.47.742 1.153 1.473 2.33 2.188 3.5.812 1.33 1.596 2.65 2.375 4 .733 1.27 1.452 2.555 2.155 3.843.594 1.09 1.177 2.18 1.75 3.28.107.207.206.42.313.626.08.16.17.312.25.47 18.66 36.453 25.32 79.192 16.187 121.78-.323 1.508-.7 3.026-1.063 4.533-.374 1.525-.747 3.037-1.156 4.562-.81 3.028-1.672 6.018-2.625 8.97-13.38 41.44-40.526 75.138-74.905 97.374-.157.1-.31.21-.47.31-1.153.743-2.33 1.474-3.5 2.19-1.328.81-2.65 1.595-4 2.374-1.27.734-2.554 1.453-3.842 2.156-1.09.594-2.18 1.177-3.282 1.75-.205.107-.417.206-.624.313-.157.08-.31.17-.47.25-36.452 18.66-79.19 25.32-121.78 16.187-1.507-.323-3.025-.693-4.53-1.063-.01-.002-.022.003-.032 0-1.516-.37-3.016-.75-4.53-1.156-3.03-.81-6.02-1.67-8.97-2.624-41.49-13.398-75.107-40.577-97.22-75-.068-.107-.15-.205-.218-.312-.773-1.21-1.505-2.43-2.25-3.656-.015-.025-.047-.04-.062-.063-.34-.56-.666-1.124-1-1.688-1.16-1.956-2.29-3.938-3.375-5.937-.7-1.287-1.395-2.57-2.064-3.875-.113-.22-.232-.436-.344-.656-18.464-36.382-24.94-79.035-15.812-121.533.324-1.506.693-3.025 1.063-4.53.002-.01-.003-.022 0-.032.37-1.516.75-3.017 1.156-4.53.33-1.242.672-2.463 1.03-3.69.08-.272.17-.54.25-.81.437-1.473.875-2.952 1.344-4.407.007-.022.024-.04.03-.063 13.345-41.36 40.262-75.04 74.44-97.313 1.284-.837 2.567-1.662 3.874-2.468.02-.012.042-.02.062-.03.99-.612 1.998-1.222 3-1.814.342-.202.688-.394 1.03-.594.687-.4 1.373-.797 2.064-1.187.485-.275.98-.544 1.47-.814.23-.13.453-.278.686-.406 1.314-.72 2.638-1.407 3.97-2.094 23.324-12.032 49.244-19.11 76.093-20.22 2.247-.09 4.49-.146 6.75-.155zm33.968 22.157l-25.75 96.188c3.07.368 6.15.96 9.22 1.78 3.062.822 6.01 1.85 8.844 3.064l25.78-96.22c-2.947-.97-5.933-1.874-8.968-2.688-3.038-.814-6.083-1.49-9.125-2.124zM182.5 109c-5.56 2.83-10.95 5.965-16.156 9.406l49.72 86.094c4.922-3.863 10.38-7.01 16.186-9.344L182.5 109zm211.72 56.594l-86.25 49.812c3.865 4.92 7.037 10.383 9.374 16.188l86.25-49.813c-2.812-5.572-5.953-10.965-9.375-16.186zM100.686 204.47c-.97 2.948-1.873 5.93-2.687 8.968-.81 3.025-1.522 6.065-2.156 9.093l95.687 25.626c.367-3.058.932-6.13 1.75-9.187.825-3.074 1.875-6.033 3.095-8.876l-95.688-25.625zM255.25 209c-20.188.584-38.553 14.304-44.03 34.75-6.68 24.925 8.23 50.79 33.155 57.47 24.925 6.677 50.79-8.233 57.47-33.158 6.677-24.924-8.233-50.79-33.158-57.468-3.115-.835-6.27-1.35-9.375-1.53-1.358-.08-2.716-.103-4.062-.064zm1.688 18.625c.408.008.807.037 1.218.063 1.88.117 3.792.43 5.688.937 15.17 4.065 24.033 19.424 19.97 34.594-4.066 15.17-19.425 24.032-34.595 19.967-15.17-4.064-24.035-19.423-19.97-34.593 3.446-12.86 15.01-21.206 27.688-20.97zm64.656 36.03c-.365 3.07-.928 6.152-1.75 9.22-.822 3.066-1.877 6.006-3.094 8.844l96.188 25.78c.97-2.948 1.874-5.934 2.687-8.97.81-3.025 1.524-6.063 2.156-9.092l-96.186-25.782zM195.78 280.22l-86.093 49.686c2.787 5.577 5.884 10.995 9.282 16.22l86.124-49.72c-3.857-4.922-6.983-10.384-9.313-16.187zm101.25 27.155c-4.92 3.86-10.383 7.01-16.186 9.344l49.812 86.25c5.566-2.81 10.942-5.96 16.156-9.376l-49.78-86.22zm-66.31 8.75l-25.782 96.188c2.947.97 5.933 1.874 8.968 2.687 3.026.81 6.065 1.524 9.094 2.156l25.78-96.187c-3.057-.367-6.128-.932-9.186-1.75-3.076-.825-6.03-1.873-8.875-3.095z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cash;

impl IconShape for Cash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M210.6 44.39l-7-4.39c-13.7-8.4-30.8-13.28-45.5-8.7-15.8 4.92-28.4 17.09-35 35.37l-9.4-4.84c-16.2-8.34-24.68-8.47-31.71-5.31-5.61 2.51-11.46 8.55-18.09 17.37l82.4 63.71c12.9 4.2 31.8 4.1 50.7-.8 19-4.9 37.9-14.5 51.7-27.4l31.1-76.9c-27.4-21.65-52.4-9.11-69.2 11.89zm53.1 76.51c-17 17.2-42.3 28.8-62 34-6.9 1.8-13.8 3.1-20.5 3.8-3.7 6.1-6.8 12.3-9.2 18.5 4.8 24.4 13.8 44.4 27.3 60.8l-14.4 12c-8.3-10-15.7-20.8-21.3-32.8-.9 23.2 4.3 47.2 12.8 72.2l-17.7 6c-15.6-45.6-20.9-92.3 1-136.3-7.4-.6-14.4-2-20.9-4.3l-.3-.1c-4.3 4.1-8.4 8.4-12.3 12.9-31.57 36.6-48.96 85.3-39.86 123.2 4.87 20.3 13.6 39.5 26.16 55.9 18.4-.4 35.8 0 51.6 6 7.5-.8 15.2-1.3 23.2-1.3 28.5 0 54.3 5.3 73.8 14.5 7.6 3.6 14.5 7.9 20 12.8 0-5.3.8-11 2.4-15.2-8.9-8.4-14.5-18.6-14.5-30.2 0-16.1 10.7-29.4 26.2-39 0-4.6.9-9 2.5-13.2-10.1-8.7-16.6-19.5-16.6-32.1 0-7.9 2.6-15.1 7-21.6-4.4-6.4-7-13.6-7-21.5 0-3.9.6-7.5 1.7-11-9.7-8.6-15.8-19.2-15.8-31.4 0-12.1 6-22.6 15.6-31.1-5.9-4.6-12.2-8.5-18.9-11.5zm111.4 2.3c-26 0-49.5 5.5-65.6 13.6-16.2 8.1-23.8 18.1-23.8 26.7 0 8.7 7.6 18.7 23.8 26.8 16.1 8.1 39.6 13.6 65.6 13.6 11.3 0 22-1.1 31.9-2.9v-17c13.9-2.1 25.4-5.9 32.8-10.8v17.6c12.5-3.6 24.5-16.9 24.8-27.3 0-8.6-7.6-18.6-23.8-26.7-16.2-8.1-39.6-13.6-65.7-13.6zm96.5 67.7c-3.3 3.5-7.2 6.8-11.6 9.8l.2 29c12.6-7.5 18.5-16.2 18.5-23.8 0-4.8-2.3-10-7.1-15zm-171.8 15.4c.3 8.6 7.9 18.3 23.8 26.3 16.2 8.2 39.6 13.6 65.7 13.6 16.3 0 31.6-2.2 44.7-5.8l.7-27.2c-17.2 6-37.6 9.3-59.6 9.3-28.5 0-54.4-5.7-74-15.5-.5-.2-.9-.5-1.3-.7zm2 34.8c-1.4 2.7-2 5.4-2 7.9 0 8.7 7.6 18.7 23.8 26.8 16.2 8.1 39.6 13.5 65.7 13.5 13.2 0 25.7-1.3 37-3.8v-24c-11.6 2.2-24 3.3-37 3.3-28.6 0-54.5-5.6-74.1-15.5-4.9-2.4-9.4-5.2-13.4-8.2zm174.9 0c-6.1 4.3-11.4 7.5-17.6 10.2v22.3c13.3-7.7 19.6-16.7 19.6-24.6 0-2.5-.6-5.2-2-7.9zm7.5 36.8c-2 2-4.2 3.9-6.6 5.8v32.4c10.3-7 15.3-14.7 15.3-21.7 0-5.3-2.9-11-8.7-16.5zm-170.1 14c-.1.9-.2 1.7-.2 2.5 0 8.7 7.6 18.6 23.8 26.7 16.2 8.2 39.7 13.6 65.7 13.6 14.9 0 29.1-1.8 41.4-4.8V300c-16.3 5.2-35.2 8-55.5 8-28.6 0-54.5-5.7-74.1-15.5-.4-.2-.7-.4-1.1-.6zm-13.6 21.4c-8.7 6.5-12.8 13.6-12.8 20 0 8.7 7.6 18.6 23.8 26.8 16.2 8.1 39.6 13.5 65.7 13.5 9.5 0 18.7-.7 27.3-2v-18.2h-1.1c-28.6 0-54.5-5.7-74.1-15.6-12.5-6.2-22.9-14.5-28.8-24.5zM463 343.9c-7.9 2.8-16.5 5.1-25.7 6.6v12.1c1.9-.8 3.8-1.6 5.6-2.5 9.8-5 16.4-10.6 20.1-16.2zm9.2 18.2c-3.8 3.8-8.2 7.2-13.1 10.3V401c13.3-7.6 19.6-16.6 19.6-24.5 0-4.6-2.1-9.6-6.5-14.4zm-348.7 2.8c-10.2.1-21.2 1.4-32.6 4.1-22.81 5.3-42.42 15-55.22 25.7-12.8 10.6-17.8 21.4-16.3 29.1 1.5 7.7 9.4 14.8 24.8 18.9 15.35 4 36.82 4.2 59.62-1.1 9.2-2.2 17.8-5 25.7-8.3v-20.7c14.6-6.5 25.5-14.3 30.4-21.9v24.4c12.1-10.4 16.8-20.8 15.4-28.4-1.4-7.7-9.4-14.8-24.8-18.8-7.7-2-16.9-3.1-27-3zm64.6 5.2c2.7 3.9 4.6 8.3 5.6 13.2 1.1 6 .6 11.8-1.2 17.5 9.9 2.6 18.9 6.1 26.7 10.5 4.4 2.4 8.5 5.3 12.1 8.3 9-2.1 16.6-5.1 22-8.7v20.6c16.1-7.6 23.5-16.9 23.5-24.3 0-7.5-7.4-16.8-23.6-24.4-16.1-7.5-39.3-12.6-65.1-12.7zm111.8 5c-.1.4-.1.9-.1 1.4 0 8.7 7.6 18.6 23.8 26.8 16.2 8.1 39.6 13.5 65.7 13.5 13.2 0 25.7-1.4 37-3.8v-26.9c-14.8 4-31.5 6.2-49.1 6.2-28.6 0-54.5-5.7-74.1-15.5-1.1-.6-2.2-1.2-3.2-1.7zm2.8 37.3c-2 3.3-2.9 6.5-2.9 9.6 0 8.7 7.6 18.6 23.8 26.8 16.2 8.1 39.6 13.5 65.7 13.5 13.2 0 25.7-1.4 37-3.8v-26.4c-11.6 2.2-24 3.4-37 3.4-28.6 0-54.5-5.7-74.1-15.6-4.5-2.2-8.7-4.7-12.5-7.5zm173.1 0c-5.8 3.9-10.9 7-16.7 9.5v24.6c13.3-7.6 19.6-16.6 19.6-24.5 0-3.1-.9-6.3-2.9-9.6zm-292.6 5.4c-3.5 4.4-7.6 8.6-12.2 12.4-15.6 13.1-37.6 23.7-63 29.6-9.06 2.1-18.06 3.4-26.7 4.1 3.2 5.3 8.83 10.5 17.07 15.1 13.63 7.7 33.63 12.9 55.83 12.9 10.1 0 19.7-1.1 28.5-3v-20.8c13.8-2.1 25.4-5.9 32.8-10.8v18.4c10-7 14.8-14.9 14.8-22.4 0-8.7-6.5-18-20.2-25.7-7.4-4.1-16.6-7.5-26.9-9.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Castle;

impl IconShape for Castle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.25 15.344c-132.537 0-240.188 107.62-240.188 240.156 0 132.537 107.65 240.188 240.188 240.188 132.537 0 240.156-107.65 240.156-240.188 0-132.537-107.62-240.156-240.156-240.156zm0 18.687c122.436 0 221.47 99.034 221.47 221.47 0 65.65-28.465 124.583-73.75 165.125V238.75l14-22.78h-7.595L364 101.5l-43.813 114.47h-8.156l14.595 22.78v33.875h-36.813v-88.188l14.625-22.78h-7.593l-44.406-114.47-44.375 114.47h-7.594l14.03 22.78v123.22h-37.375v-18.094l14.594-22.782h-8.19l-43.78-114.467L95.344 266.78H87.75l14.03 22.783V416.25C59.25 375.9 32.75 318.83 32.75 255.5c0-122.436 99.064-221.47 221.5-221.47zm1.094 160.532h18.687v36.344h-18.686v-36.344zm110.156 87.97h18.688v36.312H365.5V282.53zm-246.656 22.03h18.687v36.344h-18.686v-36.344zm50.875 29.407h18.686v36.342H169.72V333.97zm170.81 30.5h18.69v36.342h-18.69V364.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cat;

impl IconShape for Cat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M463.46 37.008l-30.694 50.738-7.043-2.28c-27.146-8.797-71.525-7.15-97.6.11L321.22 87.5l-28.68-48.543c-33.63 69.254-32.264 117.56-14.79 148.574 18.71 33.208 57.378 49.09 99.117 48.574 48.743-.606 88.968-19.665 107.035-54.194 16.918-32.332 15.684-80.456-20.443-144.902zM323.935 137.594c18.45.1 29.36 15.338 31.462 36.644-37.11 17.91-53.963 3.398-61.173-26.545 11.382-7.063 21.324-10.144 29.71-10.1zm109.26 0c8.385-.045 18.328 3.036 29.71 10.1-7.21 29.942-24.064 44.454-61.174 26.544 2.104-21.306 13.014-36.545 31.463-36.644zm-293.553 50.96c-1.226-.01-2.446-.003-3.66.018-30.175.536-56.142 10.59-75.743 26.574-43.444 35.43-57.27 100.752-12.824 166.192 20.293 33.995 44.432 54.24 70.797 64.187 32.85 12.395 66.655 8.823 99.94 4.114 33.284-4.71 65.854-10.63 96.896-8.42 31.04 2.212 62.09 10.18 90.505 41.165 19.374 21.125 46.887-1.627 23.82-24.156-35.024-34.207-72.527-47.42-109.377-50.04-36.85-2.62-72.2 4.698-104.207 9.228-32.007 4.53-60.272 6.552-84.558-2.61-14.39-5.43-28.308-14.802-41.55-31.142h351.744c13.673-52.293 14.867-106.368 1.873-142.072-19.765 8.49-42.412 12.9-66.2 13.197h-.002c-29.85.37-59.458-6.925-82.907-22.823-4.647 3.012-9.407 6.23-14.292 9.685l-5.734 4.057-5.49-4.382c-46.63-37.2-91.028-52.48-129.03-52.773z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cauldron;

impl IconShape for Cauldron {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.063 25.094c-56.045 0-106.836 9.775-144.438 26.125-18.8 8.174-34.34 17.96-45.594 29.53-11.254 11.57-18.28 25.338-18.28 40.188 0 9.936 3.17 19.388 8.625 28.03-10.218 21.883-15.844 45.794-15.844 70.782 0 103.158 95.757 187.844 215.532 187.844 119.776 0 215.563-84.686 215.563-187.844 0-24.99-5.653-48.897-15.875-70.78 5.454-8.644 8.625-18.096 8.625-28.032 0-14.85-7.026-28.617-18.28-40.188-11.256-11.57-26.825-21.356-45.626-29.53-37.603-16.35-88.363-26.126-144.408-26.126zm0 18.687c53.848 0 102.554 9.6 136.968 24.564 17.208 7.482 30.775 16.306 39.658 25.437 8.882 9.133 13 18.115 13 27.157 0 9.043-4.118 18.057-13 27.188-8.883 9.13-22.45 17.956-39.657 25.438-34.413 14.963-83.12 24.562-136.967 24.562-53.85 0-102.555-9.6-136.97-24.563-17.206-7.48-30.804-16.306-39.687-25.437-8.882-9.13-12.97-18.145-12.97-27.188 0-9.042 4.088-18.024 12.97-27.156 8.883-9.13 22.48-17.954 39.688-25.436 34.414-14.964 83.12-24.563 136.97-24.563zm-7.782 17.282c-80.57 0-146 26.008-146 57.844 0 31.836 65.43 57.81 146 57.813 40.04 0 76.404-6.613 102.782-16.94-21.316 3.34-45.064 5.845-70.656 5.845-86.066 0-155.937-21.656-155.937-47.906s69.868-47.282 155.936-47.282c20.43 0 39.926.725 57.813 2.906-24.816-7.704-55.957-12.28-89.94-12.28zM87.657 360.5c-9.916 19.897-14.758 36.638-15.78 49.03-1.23 14.906 2.752 22.238 6.655 24.626 3.905 2.388 11.497 2.48 23.376-5.75 9.25-6.41 20.16-17.73 31.375-34.406-16.778-9.432-32.1-20.71-45.624-33.5zm342.75.063c-13.532 12.782-28.872 24.043-45.656 33.468 11.21 16.666 22.13 27.97 31.375 34.376 11.88 8.23 19.472 8.138 23.375 5.75 3.903-2.388 7.886-9.72 6.656-24.625-1.022-12.38-5.855-29.098-15.75-48.967zm-199.25 64.25c1.36 21.275 5.296 37.554 10.344 48.468 6.272 13.56 13.26 17.82 17.72 17.908 4.457.088 11.14-3.683 17.374-16.907 5.133-10.89 9.165-27.52 10.437-49.467-9.175.965-18.51 1.468-27.967 1.468-9.437 0-18.75-.506-27.907-1.467z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CelebrationFire;

impl IconShape for CelebrationFire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.72 13.396c-79.94 38.87 9.013 152.854-74.402 191.567 21.946-43.348 30.93-118.453-39.69-169.342v.003c57.41 92.152-39.578 101.073 10.68 235.037.884 2.098 1.724 4.216 2.467 6.383-.86-2.16-1.682-4.286-2.468-6.383-17.056-40.42-58.356-69.442-47.875-146.558-92.397 139.136 61.726 179.234 39.968 296.226-20.22-52.322-96.068-38.077-65.88-94.582-81.617 64.483 68 99.77-25.282 168.19h349.006c-44.892-35.722-38.733-108.488-9.29-92.71-14.63-42.75-54.515-10.383-56.477 22.604-15.55-101.866 86.23-108.78 74.388-226.197-19.395 67.794-73.366 65.522-92.71 55.322 68.964-32.598 91.818-125.04 17.15-161.248 23.033 28.635 15.785 123.762-33.243 84.998-18.193-14.385-70.182-60.235-46.34-163.31zm-165.656 4.778c-6.35.16-12.967 2.232-19.62 6.578 38.005 7.337 57.7 61.682 52.892 122.08 34.38-59.225 5.54-129.638-33.272-128.658zm218.29 44.633c8.507 47.444-17.105 75.028-38.82 30.52 22.306 83.01 95.766 93.25 38.82-30.52zm103.84 93.88c35.616 36.454 25.294 104.74-14.133 160.057 81.137-36.52 81.26-153.81 14.133-160.057zm-379.22 78.917c19.553 54.61-90.043 56.077 5.62 157.767-38.953-68.595 67.41-69.424-5.62-157.766z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Centipede;

impl IconShape for Centipede {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M103.12 15.697l-30.364 10.07c2.132 3.412 3.902 7.116 5.223 11.098.693 2.094 1.228 4.2 1.643 6.31l29.38-9.74-5.884-17.738zm-80.975 3.25c-1.438.126-2.884.317-4.336.567v129.812c4.642 3.457 10.744 5.995 17.336 7.317 1.792-2.69 3.824-5.25 6.067-7.664 3.214 5.766 6.57 11.448 10.055 17.047-8.84 12.366-9.92 28.358-1.98 40.64 5.96 9.215 15.91 14.655 26.802 15.536 1.91-4.064 4.302-7.973 7.166-11.642 4.07 4.942 8.252 9.784 12.54 14.526-10.71 16.322-8.597 37.015 4.847 48.705 8.243 7.17 19.245 9.643 29.908 7.52.592-6.093 2.13-12.2 4.65-18.09 5.02 4.246 10.14 8.37 15.355 12.362-5.245 17.902 1.975 36.393 17.36 44.117 8.827 4.43 18.888 4.585 27.98 1.103-.452-4.9-.29-9.918.49-14.932 5.874 3.315 11.832 6.476 17.87 9.472-.06 15.63 8.735 29.594 22.772 34.785 9.716 3.593 20.26 2.36 29.19-2.684-.755-3.713-1.154-7.538-1.197-11.418 6.297 2.03 12.652 3.897 19.064 5.577 2.214 15.41 12.886 27.908 27.47 31.04 10.786 2.314 21.726-.918 30.067-8.074-1.587-4.19-2.685-8.627-3.227-13.252 6.336.617 12.71 1.045 19.115 1.305 3.928 18.824 21.574 32.055 42.64 30.36 4.906-.397 9.55-1.593 13.815-3.427 50.857 41.905 57.015 94.14-26.582 113.084 94.115 2.325 106.816-72.573 45.854-129.438 4.343-6.848 6.654-14.918 6.168-23.337-.187-3.25-.78-6.37-1.713-9.326 73.82-44.358 76.68-122.575-17.778-137.824 78.128 32.182 63.177 84.56 2.39 117.61-7.312-4.797-16.425-7.286-26.294-6.49-14.564 1.172-26.844 9.335-33.633 20.653-6.755-.22-13.48-.655-20.166-1.31 1.882-4.65 4.353-9.032 7.325-13.053-4.956-7.48-12.43-12.924-21.377-14.844-2.396-.515-4.8-.756-7.18-.74-12.55.08-24.468 7.27-31.345 18.964-6.12-1.66-12.19-3.492-18.203-5.496 2.96-5.945 6.824-11.273 11.367-15.8-3.922-7.43-10.26-13.31-18.326-16.294-4.022-1.488-8.19-2.147-12.324-2.053-.59.015-1.18.043-1.77.087-9.92.743-19.512 5.808-26.358 14.192-5.603-2.85-11.136-5.844-16.59-8.988 3.493-4.782 7.612-8.966 12.187-12.437-3.116-7.598-8.68-13.954-16.203-17.73-4.38-2.2-9.066-3.347-13.787-3.518-.443-.016-.885-.025-1.328-.024-7.363.017-14.74 2.405-21.13 6.832-5.063-3.875-10.032-7.883-14.903-12.015 3.476-2.892 7.23-5.365 11.185-7.365-1.5-7.214-5.16-13.83-10.887-18.81-5.55-4.826-12.35-7.527-19.456-8.13-.74-.063-1.482-.104-2.228-.12-4.187-.098-8.445.522-12.583 1.852-4.45-4.82-8.78-9.755-12.984-14.8 4.905-2.315 10.048-3.945 15.27-4.84 1.405-8.398-.12-17.03-4.85-24.344-6.653-10.292-18.283-15.88-30.647-15.662-3.625.065-7.313.632-10.957 1.722-3.356-5.388-6.58-10.86-9.665-16.41 6.697-2.53 13.666-3.813 20.55-3.895.234-.003.468.012.704.012 2.56-8.096 2.275-16.83-1.353-24.714-5.758-12.515-18.612-20.043-32.78-20.168-.946-.008-1.896.016-2.85.074-2.167.132-4.355.447-6.544.934-2.233-5.84-4.31-11.743-6.24-17.7 5.77-1.484 11.626-2.09 17.37-1.873 1.985.076 3.956.254 5.906.524 3.1-7.53 3.635-15.884 1.01-23.8-4.48-13.518-17.1-22.556-31.787-23.8h-6.308zm101.837 54.176L94.928 86.49c2.497 3.156 4.662 6.643 6.416 10.453.922 2.004 1.69 4.04 2.336 6.09L131.793 90.1l-7.81-16.977zm26.405 53.55l-26.87 17.372c2.95 2.786 5.613 5.958 7.91 9.512 1.18 1.822 2.213 3.696 3.134 5.6l25.973-16.792-10.146-15.693zm25.342 42.343l-20.97 24.113c3.544 1.84 6.923 4.12 10.064 6.852 1.688 1.468 3.242 3.03 4.692 4.66l20.314-23.363-14.1-12.264zm38.915 30.623l-14.313 28.51c3.895.907 7.74 2.263 11.465 4.133 1.996 1.002 3.886 2.13 5.69 3.346l13.86-27.607-16.702-8.384zm-186.46 6.048l-10.376 6.708v22.254l19.612-12.68c-1.36-1.623-2.646-3.334-3.824-5.157-2.3-3.555-4.085-7.29-5.414-11.125zM270 225.494l-11.102 30.02c4.038.46 8.078 1.403 12.053 2.873 2.03.75 3.976 1.627 5.85 2.597l10.727-29.007L270 225.494zm56.537 19.194l-6.695 31.195c.375-.01.75-.03 1.127-.03 3.665-.02 7.383.353 11.11 1.153 2.15.46 4.23 1.065 6.254 1.773l6.477-30.17-18.273-3.923zM80.203 278.865l-21.912 25.2 14.103 12.263 21.25-24.437c-1.813-1.21-3.577-2.53-5.264-3.997-3.144-2.734-5.86-5.772-8.177-9.028zm69.164 50.81L134.35 359.59l16.703 8.385 14.56-29.008c-2.053-.722-4.086-1.565-6.082-2.567-3.724-1.87-7.11-4.142-10.163-6.724zm70.158 32.305l-11.6 31.374 17.526 6.482 11.224-30.348c-2.053-.482-4.1-1.082-6.127-1.832-3.98-1.47-7.653-3.396-11.022-5.676zm76.487 24.928l-7.033 32.764 18.27 3.922 6.81-31.733c-2.134-.183-4.278-.487-6.427-.948-4.11-.882-7.99-2.25-11.62-4.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChainedArrowHeads;

impl IconShape for ChainedArrowHeads {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M97.53 20.705v.002l6.425 82.932-86.434-6.427v53.73l207.912 74.754L151.26 20.705H97.53zm-80.01.002v31.537L72.42 72.102 53.73 20.707H17.52zM237.366 45.21l15.754 207.743L45.374 237.2l300.363 108.374L237.368 45.21h-.003zm117.342 171.927l.002.008v-.008h-.003zm.002.008l11.272 148.67-148.68-11.272 214.968 77.562-77.56-214.96zm87.493 137.65l.002.008v-.008h-.002zm.002.008l7.158 94.396-94.404-7.16 136.49 49.247-49.245-136.484z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChainedHeart;

impl IconShape for ChainedHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.08 11.29l-9.232 1.437-62.868 9.765 3.586 23.08C175.62 49.84 163.09 55.3 151.15 61.875l-14.51-18.03-7.28 5.86-49.56 39.89 14.163 17.594C84.847 117.31 76.6 128.367 69.39 140.3l-20.78-8.046-3.374 8.715-22.976 59.325 20.26 7.846c-2.96 13.812-4.544 27.692-4.805 41.47l-21.02 3.267 11.2 72.1 20.634-3.206c4.347 13.326 9.955 26.213 16.74 38.474l-16.165 13.012 45.75 56.84 15.858-12.764c10.425 9.35 21.846 17.776 34.183 25.104l-7.27 18.773 68.042 26.347 7.266-18.76c14.02 2.89 28.103 4.36 42.074 4.482l3.115 20.05 72.1-11.2-3.168-20.386c13.326-4.498 26.2-10.26 38.433-17.205l13.075 16.24 56.84-45.747-13.315-16.543c9.093-10.365 17.275-21.698 24.394-33.906l20.11 7.787 26.35-68.038-20.63-7.988c2.71-13.685 4.057-27.422 4.133-41.05l22.29-3.462-1.434-9.234-9.765-62.866-22.85 3.55c-4.413-12.947-10.017-25.466-16.746-37.378l18.103-14.57-5.86-7.28-39.89-49.56-18.28 14.715c-10.058-8.863-21.032-16.864-32.835-23.868l8.562-22.112-8.713-3.375L309.7 16.88 301.136 39c-13.31-2.74-26.68-4.21-39.95-4.45-.166-.004-.33-.002-.494-.005l-3.61-23.252zm-15.598 21.337l3.108 20.008-35.164 5.463-3.11-20.006 35.166-5.465zm78.897 8.43l33.184 12.85-7.312 18.882-33.184-12.853 7.31-18.88zM263.6 53.27c10.2.34 20.456 1.458 30.687 3.406l-5.4 13.94 68.042 26.35 5.402-13.952c8.848 5.43 17.16 11.487 24.91 18.08l-11.842 9.53 45.75 56.84 12.098-9.735c4.986 9.14 9.272 18.65 12.787 28.45l-15.443 2.398 11.2 72.1 15.98-2.483c-.226 10.394-1.278 20.852-3.174 31.29l-15.395-5.964-3.373 8.714-22.977 59.327 15.975 6.188c-5.567 9.24-11.81 17.91-18.633 25.97l-10.926-13.575-7.278 5.86-49.56 39.89 11.24 13.964c-9.47 5.195-19.338 9.627-29.514 13.24l-2.78-17.908-9.235 1.433-62.866 9.766 2.828 18.202c-10.74-.272-21.548-1.413-32.328-3.47l6.7-17.3-8.713-3.375-59.327-22.974-6.695 17.29c-9.38-5.763-18.16-12.224-26.3-19.286l14.302-11.512-5.86-7.28-39.888-49.56-14.02 11.285c-5.058-9.483-9.343-19.362-12.826-29.53l17.688-2.75-1.436-9.232-9.765-62.867-17.182 2.67c.385-10.546 1.607-21.15 3.715-31.723l15.826 6.128 26.35-68.04-15.258-5.91c5.624-8.986 11.9-17.41 18.726-25.24l10.118 12.57 56.84-45.75-9.778-12.147c9.155-4.854 18.672-8.996 28.465-12.387l2.366 15.234 72.1-11.202-2.324-14.96zM133.8 70.124l12.694 15.772-27.723 22.312-12.694-15.77L133.8 70.122zm283.653 30.648l22.313 27.722-15.774 12.696-22.312-27.72 15.773-12.697zm-84.244 42c-1.918-.015-3.84.045-5.76.187-23.033 1.7-45.933 15.003-61.29 44.006l-7.906 14.933-8.445-14.636c-20.227-35.054-56.5-47.824-87.093-41.81-30.592 6.012-55.328 29.383-53.947 72.85 1.278 40.24 29.05 67.447 63.59 97.54 30.045 26.176 64.672 53.784 85.763 93.478 22.093-39.507 57.856-65.95 88.133-91.453 17.386-14.644 33.017-28.982 43.86-44.736 10.846-15.755 17.13-32.66 16.456-54.243-1.262-40.46-26.58-66.478-56.316-73.916-5.576-1.394-11.296-2.148-17.047-2.2zM59.286 156.433l18.88 7.31-12.85 33.186-18.88-7.31 12.85-33.186zm412.65 44.636l5.463 35.164-20.01 3.11-5.462-35.164 20.01-3.11zm-413.9 64.3l5.465 35.165-20.006 3.108-5.465-35.163 20.007-3.11zm391.846 42.33l18.88 7.312-12.85 33.185-18.88-7.312 12.85-33.186zM91.156 363.4l22.313 27.723-15.775 12.695-22.312-27.722L91.156 363.4zm305.274 33.02l12.695 15.77-27.723 22.316-12.695-15.774 27.723-22.312zm-227.315 35.23l33.186 12.852-7.31 18.88-33.185-12.85 7.31-18.882zm136.662 14.873l3.11 20.01-35.164 5.463-3.11-20.008 35.164-5.465z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChaliceDrops;

impl IconShape for ChaliceDrops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206.47 19.5c-4.53 42.503-28.564 74.22-28.564 95.53.004 10.575 15.696 23.5 30.344 23.5 4.005 0 7.924-.994 11.47-2.686-2.032 5.148-3.804 10.014-5.19 14.625-14.796 1.954-28.22 4.893-39.655 8.655-10.928 3.596-20.086 7.868-27.125 13.344-7.04 5.474-12.5 12.918-12.5 21.905 0 1.2.096 2.357.28 3.5h-.06c0 71.244 44.097 130.45 101.936 141.97-8.37 41.925-29.252 79.813-58.344 110.092-8.084 4.503-12.75 9.735-12.75 15.344 0 16.683 41.04 30.22 91.625 30.22s91.657-13.537 91.657-30.22c0-5.672-4.772-10.962-13.03-15.5-29.02-30.266-49.46-68.122-57.627-110C336.594 328.085 380.5 268.967 380.5 197.876h-.094c.187-1.143.28-2.3.28-3.5.002-8.987-5.49-16.43-12.53-21.906-7.04-5.477-16.196-9.75-27.125-13.345-16.012-5.27-35.905-8.914-58.03-10.5-7.514-27.144-27.472-62.53-34.656-104.22-2.246 21.072-8.228 40.076-14.72 57.064-5.578-21.2-21.483-49.06-27.155-81.97zm110.81 9.438c-4.078 38.274-25.717 66.84-25.717 86.03 0 9.523 14.153 21.157 27.343 21.157 12.9 0 24.626-11.597 24.625-21.625 0-19.986-20.012-49.374-26.25-85.563zm-31.405 138.656c19.192 1.662 36.208 4.97 49.313 9.28 9.588 3.156 17.065 6.895 21.5 10.345 4.434 3.45 5.312 5.84 5.312 7.155 0 1.314-.877 3.675-5.313 7.125-4.435 3.45-11.91 7.22-21.5 10.375-19.176 6.31-46.743 10.438-77.218 10.438-30.477 0-58.075-4.128-77.25-10.438-9.59-3.155-17.066-6.925-21.5-10.375-4.436-3.45-5.282-5.81-5.282-7.125 0-1.314.846-3.706 5.28-7.156 4.436-3.45 11.913-7.19 21.5-10.345 8.754-2.88 19.266-5.3 31-7.094 2 13.153 21.07 28.064 38.938 28.064 18.173 0 34.696-16.06 35.22-30.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChargedArrow;

impl IconShape for ChargedArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.83 19.6v14.8L279.6 310.8l20.5-11.4 9.4-16.9L42.87 19.6zm140.87 0l25.2 53.3-16.2 4-51-37 43.4 62 34-7.3 26.2 55.5 75.3-43.4c17.6 26.7 32 48.1 46.2 72.7l-21.9 14-69.6-26.1 71.6 57c32-25.5-.1-.1 32-25.7l83.5 240.1C362 415.1 277.1 389.8 207.6 365c-20.9-13.7-43.2-31.7-60.6-50.4l43.7-18.1L109.5 168l-24.08 49.3-65.59-92.5v32.3l68.54 96.6 23.23-47.4 51.4 81.4-46.9 19.4c38.6 46.2 90 85.7 137.7 112.2l-137.9-2 15.6-39.6-66.44-33 7.19-30.1 46.55-41.9L69.04 292l-49.21-58.6v29.1l35.54 42.3-11.93 50 64.36 32c-5.8 19.5-15 36.6-25.49 53.7l-44.54-20.9 43.13 56.7 30.2-40.4 130.4 1.9-48.7 17.8 144.7 1.7c56.5 21.1 112.5 33.4 154.7 35.1-1.2-30.4-7.9-68-19.4-107.7l11.4-153.5-22.5 31.3-6.7-161.6 32.1-18.1L470.5 27l-7.2 43.6c-22.9 12.9-44.7 25.27-67.7 38l-49.3-89h-21.4L388.3 134l48.3-26.7 3.2 78.1-16.9-.4-4.2-49-18.2 59.5 40.4 16.4 3.9 94.8c-37.2-78.9-87.9-144.4-131.1-209.5l2.2-47.2-73.6-11 53.3 28-4.9 22.1-60.1 34.7-49.2-104.2zM352 244.2l-38.1 69-68.9 38.1 164.1 57.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Charm;

impl IconShape for Charm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.47 21.594c-19.843.39-40.255 13.992-46.94 38.937-36.28-36.277-90.65-8.066-79 41.595 11.826 50.403 99.55 64.537 114.25 90 0-32.133 66.5-82.522 54.19-135.125-5.728-24.468-23.862-35.773-42.5-35.406zM237 154.47c-35.243.73-68.834 22.932-79.688 69.31C133.202 326.807 263.438 425.5 263.438 488.44c28.8-49.877 200.592-77.563 223.75-176.282 22.82-97.274-83.624-152.5-154.687-81.437-13.49-50.343-55.558-77.08-95.5-76.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CheckboxTree;

impl IconShape for CheckboxTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.28 106.28V250h-77.186v-56.25H22.47V319.406h149.624v-50.719h77.187v148.407h18.69V357.22h71.686v50.718H489.28V282.28H339.657v56.251H267.97V189.407h71.686v50.72H489.28V114.47H339.657V170.718H267.97v-64.44h-18.69zm109.064 26.876h112.25v88.28h-112.25v-88.28zm-317.188 79.28h112.25v88.283H41.156v-88.283zm317.188 88.533h112.25v88.28h-112.25v-88.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CheckedShield;

impl IconShape for CheckedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M48.906 19.656v10.782c0 103.173 10.53 206.07 41.313 289.53 30.78 83.463 82.763 148.094 164.53 170.563l2.188.626 2.25-.5c89.686-19.12 142.322-84.028 171.187-168.344 28.865-84.315 35.406-188.656 35.406-291.875v-10.78l-10.655 1.53C323.26 39.954 191.452 40 59.595 21.188l-10.69-1.53zM67.75 41.03c63.242 8.536 126.495 12.792 189.75 12.782v184.532h174.78c-4.905 27.572-11.31 53.747-19.592 77.937-27.348 79.884-73.757 137.33-155.157 155.564-.008-.003-.02.003-.03 0v-233.5H86.53c-12.87-60.99-18.277-128.81-18.78-197.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CheckeredDiamond;

impl IconShape for CheckeredDiamond {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M362.04 15.275l-21.56 71.582c-3.005 1.19-5.892 2.606-8.628 4.252l-61.207-69.18L64.457 196.37l83.205 296.763h19.41L87.302 208.62l.733.278L269.5 49.18l.084.095.004-.336 47.984 54.234c-4.402 5.114-7.938 10.99-10.38 17.412l-38.678 11.65.748-57.95-161.487 142.136 1.094.416-.25.074 80.962 276.22h19.475l-78.57-268.052 135.753 51.746-29.303 216.307h62.276L405.318 234.5l-36.058 10.932 14.967-49.69c3.656-1.494 7.13-3.34 10.375-5.508L427.75 227.7l-1.545.468 1.637.672-108.43 264.293h20.31L451.745 226.62l-43.453-49.112c3.133-4.01 5.77-8.426 7.785-13.174l73.024-21.996-72.198-21.746c-5.852-15.404-18-27.693-33.304-33.742l-21.56-71.575zm73.343 25.903c-13.13 0-23.774 10.644-23.774 23.773 0 13.13 10.642 23.775 23.773 23.775 13.13 0 23.773-10.645 23.773-23.774 0-13.13-10.643-23.772-23.773-23.772zM268.253 152.36l39.768 11.98c6.038 14.21 17.523 25.54 31.83 31.394l16.177 53.707-89.377 27.095 1.604-124.174z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cheerful;

impl IconShape for Cheerful {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.886 34.688c-10.106-.02-20.147 1.212-29.89 3.646-51.954 12.984-95.682 59.773-97.782 126.98-1.12 35.802 9.933 65.568 27.54 91.12 17.61 25.552 41.55 47.156 66.847 68.44 50.597 42.573 106.392 83.872 132.4 148.294l8.903 22.05 8.49-22.212c24.648-64.483 78.63-107.776 128.604-151.27 49.974-43.493 96.634-88.202 98.783-155.833 2.275-71.536-42.364-116.7-95.523-127.137-49-9.622-105.34 9.122-140.23 57.744-27.546-42.14-68.33-61.74-108.14-61.822zm108.43 90.36l92.414 115.144c-17.518-4.413-34.638-7.367-51.426-9.104l-40.988-51.068-41.475 51.678c-17.227 1.92-34.183 4.84-50.938 8.496zm10.964 104.22c3.744.203 7.524.536 11.338.998 23.128 58.72 94.71 72.16 144.393 37.942-12.702 13.278-27.086 26.205-42.282 39.43-13.117 11.417-26.774 23.008-40.272 35.16-38.64-3.292-79.145-49.547-73.176-113.53zm-22.613.21c5.097 64.43-37.687 112.014-77.23 115.173-13.762-11.76-27.61-22.97-40.805-34.073-14.815-12.465-28.802-24.828-41.06-37.637 49.857 39.712 124.645 21.8 147.51-42.287 3.834-.497 7.693-.895 11.585-1.174z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CheeseWedge;

impl IconShape for CheeseWedge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.625 44.094c-11.92-.006-23.856.406-35.72 1.28l-8.75 7.407c10.17 6.262 17 15.568 18.782 26.064 1.987 11.69-2.516 24.07-12.125 33.562-19.217 18.984-51.41 23.684-75.718 11.344-3.116-1.582-5.967-3.43-8.53-5.5L16.75 225.28l73.844-19.374c7.536-18.897 26.34-33.647 48.312-37.594 3.574-.64 7.115-.964 10.563-.968 10.34-.013 19.93 2.784 27.655 8.125 2.484 1.716 4.762 3.703 6.78 5.936l292.376-76.72c-44.976-39.156-127.223-60.55-210.655-60.592zm224.97 74.687l-298.22 77.72c1.1 3.658 1.72 7.54 1.72 11.563 0 27.05-23.283 50.49-51.876 55.625-14.298 2.567-27.89-.067-38.19-7.188-10.298-7.12-16.968-19.036-16.968-32.563L19.69 241.5v95.375c.307-.08.527-.21.843-.28 14.397-3.31 28.193-1.258 38.69 5.592 10.495 6.85 17.25 18.793 17.25 32.407 0 27.227-23.146 51.74-51.876 58.344-1.705.39-3.29.547-4.907.75v13.218l202.563-52.812c-2.63-5.602-4.063-11.73-4.063-18.156 0-26.515 24.672-48.032 55.125-48.032 26.018 0 47.824 15.708 53.625 36.813 1.365.34 2.746.686 4.125 1.06l159.532-41.092V118.78zm-341.126 67.25c-2.306.005-4.726.204-7.25.657-20.205 3.63-36.47 21.794-36.47 37.25 0 7.73 3.215 13.253 8.906 17.188 5.69 3.935 14.148 5.97 24.25 4.156 20.204-3.628 36.5-21.76 36.5-37.218 0-7.728-3.215-13.283-8.906-17.218-4.268-2.952-10.118-4.823-17.03-4.813zm247.468 64.032c20.694 0 38.843 15.04 38.843 35.032 0 19.992-18.148 35.062-38.842 35.062-20.695 0-38.875-15.07-38.875-35.062 0-19.992 18.18-35.03 38.875-35.03zm0 18.688c-11.896 0-20.188 7.946-20.188 16.344 0 8.397 8.292 16.344 20.188 16.344 11.895 0 20.156-7.947 20.156-16.344 0-8.398-8.26-16.344-20.156-16.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChemicalArrow;

impl IconShape for ChemicalArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M65.28 17.906c-4.534.112-8.9 1.748-11.874 4.938L78.188 47.53c3.6-2.498 6.062-6.59 6.062-12.374 0-11.547-9.8-17.476-18.97-17.25zm50.907 47.25c-5.456.135-10.72 2.086-14.312 5.906l100.094 99.563c6.396-3.838 10.874-10.576 10.874-20.406 0-15.813-11.598-24.957-24.125-26.907 2.274-4.11 3.593-9.1 3.593-15 0-30.203-34.627-40.495-54.063-28.313-2.82-10-12.71-15.074-22.063-14.844zm185.125 4.5c-8.09.2-15.687 5.2-15.687 15.344 0 21.643 34.656 23.643 34.656 1.906 0-11.547-9.798-17.476-18.967-17.25zM38 70.97c-8.036 3.474-14.03 10.785-14.03 22.155 0 25.048 29 33.652 45.06 23.344-.02.356-.03.722-.03 1.093 0 21.643 34.656 23.642 34.656 1.906 0-16.772-20.605-21.663-30.03-13.095L38 70.97zm285.28 50.624c-5.445-.06-11.186 1.354-16.905 4.656-36.6 21.133.49 77.543 36.938 56.5.29-.168.562-.36.843-.53 3.576 10.24 20.815 13.49 24.28.686 2.364-8.723-4.358-15.083-11.436-16.22 6.43-19.766-11.307-44.84-33.72-45.092zM47.69 157.344c-8.09.2-15.72 5.17-15.72 15.312 0 21.642 34.657 23.643 34.657 1.906 0-11.547-9.768-17.444-18.938-17.218zm83.156 5.937c-6.61 4.913-11.063 12.715-11.063 23.532 0 18.466 12.97 29.59 27.532 32.688-.978 3.754-1.53 7.847-1.53 12.313 0 32.11 27.323 48.72 52.937 48.156 3.2 15.24 16.224 24.036 29.936 25.842-.203 1.525-.312 3.114-.312 4.782 0 8.336 2.636 15.158 6.875 20.437-10.43-1.978-21.4-.696-30.345 3.97 2.996-14.892-20.645-22.33-24.72-7.125-2.556 9.508 5.674 16.226 13.376 16.406-4.655 5.905-7.53 13.667-7.53 23.376 0 35.93 39.046 49.723 64.156 38.28-.05.78-.094 1.565-.094 2.377 0 35.293 47.376 43.74 62.72 20.656 6.813 5.087 15.516 7.62 23.968 7.467-1.963 4.567-3.094 9.853-3.094 15.907 0 45.924 63.77 55.7 80.72 22.812 19.862 23.187 63.74 25.98 73.624-10.906 6.62-24.708-8.318-43.653-27.344-51.25 17.534-1.69 33.188-13.284 33.188-35.594 0-19.965-12.55-32.753-27.75-37.812.12-1.355.187-2.748.187-4.188 0-6.354-1.24-11.99-3.374-16.937 6.76-2.78 11.844-8.816 11.844-18.345 0-6.834-2.624-12.166-6.594-15.938.665-.247 1.322-.517 2-.906 13.934-7.994 2.29-31.03-11.625-23-6.915 3.988-7.51 11.67-4.655 17.408-5.89-.726-11.958.447-16.594 3.625-2.23-18.2-17.765-28.094-33.342-28.97.942-2.997 1.468-6.33 1.468-10.03 0-41.226-64.075-45.623-67.312-6.813-11.85-3.468-24.845-3.02-35.75 1.5.933-3.418 1.437-7.176 1.437-11.28 0-42.605-54.43-53.9-76.092-29.5l99.593 99.06c-1.305 1.31-2.334 3.038-2.936 5.283-4.166 15.5 20.3 23.54 24.5 8.03 1.77-6.54-1.58-11.727-6.344-14.406 9.1-10.287 23.79-29.242 31.844-52.093 38.66 53.382 76.884 131.425 73.875 200.97-69.06-4.08-152.798-36.757-206.126-72.314 48.474-22.737 60.437-36.688 60.437-36.688l-94.905-94.406c4.782-2.24 8.28-6.774 8.28-13.687 0-18.36-24.72-22.504-32.405-10.314l-52.656-52.375zm303.219 39.595c-8.09.2-15.688 5.17-15.688 15.313 0 21.643 34.656 23.674 34.656 1.937 0-11.548-9.798-17.476-18.967-17.25zm-328.282 88.78c-7.082.193-14.056 4.065-16.343 12.595-4.212 15.72 13.806 23.61 25.47 17.813.85 23.095 40.252 28.895 47.25 2.78 6.222-23.22-23.28-34.08-38.657-21.906-2.103-7.306-9.983-11.49-17.72-11.28zm85.595 137.5c-4.7.043-9.128 2.557-10.688 8.376-2.88 10.71 7.893 17.846 16.22 16.126.83 27.68 45.468 30.024 45.468 1.75 0-21.135-24.955-27.91-37.906-18.47-2.365-4.844-7.892-7.825-13.095-7.78zm114.656 24.908c-1.76.058-3.627.59-5.53 1.687-13.904 8.014-2.31 30.964 11.625 22.97 11.757-6.747 5.32-24.193-5.344-24.658-.246-.01-.497-.008-.75 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChemicalBolt;

impl IconShape for ChemicalBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M39.344 15c-.778 0-1.554.045-2.344.125-12.645 1.288-21.85 12.573-20.563 25.22 1.288 12.644 12.574 21.85 25.22 20.56C54.3 59.62 63.506 48.334 62.218 35.688 61.01 23.832 51.01 14.997 39.343 15zm121.187 9.125c-.46 0-.937.015-1.405.063-7.48.76-12.918 7.457-12.156 14.937.76 7.48 7.456 12.918 14.936 12.156 7.48-.76 12.918-7.425 12.156-14.905-.714-7.013-6.63-12.252-13.53-12.25zM84.72 42.063c-.46 0-.91.014-1.376.062-7.48.762-12.95 7.457-12.188 14.938.762 7.48 7.457 12.918 14.938 12.156 7.48-.763 12.918-7.427 12.156-14.907-.714-7.013-6.63-12.252-13.53-12.25zm109.718 11.812c-.747 0-1.492.017-2.25.094-12.136 1.235-20.986 12.082-19.75 24.218 1.235 12.135 12.083 20.985 24.218 19.75 12.135-1.236 20.955-12.084 19.72-24.22-1.16-11.376-10.744-19.846-21.94-19.843zM119.53 77.72c-1.322 0-2.654.05-4 .186-7.677.782-14.606 3.768-20.25 8.22-5.088-4.18-11.774-6.408-18.843-5.69-14.072 1.435-24.34 13.99-22.906 28.064 1.434 14.073 14.022 24.308 28.095 22.875.483-.05.964-.112 1.438-.188 4.48 11.417 14.082 20.036 25.75 23.344-1.302 3.463-1.838 7.26-1.438 11.19 1.385 13.598 13.557 23.51 27.156 22.124 13.6-1.385 23.48-13.526 22.095-27.125-.692-6.8-4.06-12.686-8.97-16.69 7.707-8.002 11.996-19.206 10.782-31.124-2.053-20.166-19.062-35.193-38.906-35.187zm108.876 43.405c-1.983 0-3.984.076-6 .28-32.25 3.286-55.722 32.094-52.437 64.345.494 4.868 1.572 9.53 3.155 13.938-16.95 7.738-27.9 25.62-25.906 45.187 2.5 24.564 24.434 42.44 49 39.938 4.128-.42 8.062-1.405 11.75-2.844.047 1.358.14 2.72.28 4.092 3.11 30.542 28.016 53.592 57.72 55.282-4.984 15.2-6.945 31.654-5.22 48.594.05.49.1.98.156 1.468-.312.024-.624.03-.937.063-19.733 2.008-34.073 19.642-32.064 39.374 2.01 19.73 19.612 34.103 39.344 32.094 7.937-.81 15.016-4.143 20.5-9.125 24.262 28.84 61.9 45.574 102.22 41.468 64.763-6.594 111.907-64.453 105.31-129.217-4.034-39.622-27.25-72.647-59.5-90.813 1.907-7.465 2.546-15.39 1.72-23.5-3.77-37.03-36.846-63.99-73.875-60.22-25.248 2.572-45.788 18.78-55.125 40.564-9.945-8.12-22.39-13.146-35.813-13.813 10.245-11.804 15.77-27.628 14.063-44.405-3.08-30.236-28.592-52.758-58.344-52.75zm108.78 1.72c-.994 0-1.987.052-2.998.155-16.18 1.648-27.96 16.1-26.313 32.28 1.648 16.182 16.1 27.962 32.28 26.314 16.182-1.648 27.962-16.1 26.314-32.28-1.546-15.17-14.356-26.474-29.283-26.47zm59.564 26.343c-.46 0-.94.046-1.406.093-7.48.763-12.918 7.427-12.156 14.907.76 7.48 7.457 12.92 14.937 12.157 7.48-.762 12.918-7.426 12.156-14.906-.713-7.013-6.63-12.252-13.53-12.25zM61.562 202.375c-.46 0-.907.015-1.374.063-7.48.76-12.95 7.425-12.188 14.906.635 6.24 5.41 11.045 11.313 12.03-.555 2.602-.722 5.338-.438 8.126 1.465 14.388 14.3 24.87 28.688 23.406 14.387-1.465 24.87-14.33 23.406-28.72-1.466-14.386-14.3-24.87-28.69-23.405-2.86.293-5.572 1.042-8.06 2.157-2.028-5.095-7.024-8.564-12.657-8.562zm44.126 75.906c-.67 0-1.352.026-2.032.095-10.883 1.108-18.796 10.835-17.687 21.72 1.107 10.882 10.834 18.795 21.718 17.686 10.883-1.107 18.795-10.803 17.687-21.686-1.04-10.203-9.648-17.815-19.688-17.813zm48.78 37.25c-1.467.002-2.945.068-4.437.22-23.873 2.43-41.243 23.782-38.81 47.656 2.43 23.874 23.75 41.244 47.624 38.813 10.225-1.043 19.265-5.562 26.062-12.25 5.16 2.962 11.255 4.397 17.625 3.75 16.182-1.65 27.962-16.102 26.314-32.283-1.648-16.18-16.1-27.96-32.28-26.312-1.783.18-3.495.523-5.158 1-7.74-12.493-21.584-20.598-36.937-20.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChemicalDrop;

impl IconShape for ChemicalDrop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M433.814 68.664c-2.74.05-5.495.423-8.242 1.152-8.47 2.25-15.3 7.512-20.44 14.49C292.905 120.865 186.494 154.58 75.276 190.4c-39.714 12.79-64.6 51.163-53.006 86.784 11.597 35.62 54.342 52.277 94.035 39.277l-.002.002c109.41-35.827 214.424-69.036 325.12-104.656.56.212 1.13.39 1.694.58-2.62 2.935-4.226 6.796-4.226 11.04 0 9.164 7.43 16.593 16.594 16.593 9.165 0 16.596-7.43 16.596-16.593 0-4.32-1.664-8.24-4.367-11.192 12.75-4.865 21.353-16.866 25.535-30.898 4.547-15.257 4.504-33.654-.584-52.48-5.088-18.828-14.327-34.77-25.94-45.712-8.712-8.206-19.263-13.79-30.175-14.43-.91-.052-1.822-.07-2.736-.054zm.497 18.68c.455-.007.914.005 1.377.035 5.567.358 11.818 3.34 18.22 9.37 8.535 8.04 16.44 21.165 20.716 36.986 3.622 13.4 4 26.397 2.012 36.852h-52.783c-3.517-6.207-6.512-13.352-8.622-21.158-4.276-15.822-4.046-31.094-.716-42.266 3.33-11.172 9.122-17.497 15.855-19.285 1.262-.336 2.578-.517 3.94-.536zm-38.414 17.043c-3.815 14.734-3.516 32.133 1.29 49.92 1.544 5.707 3.472 11.143 5.728 16.26h-151.22c-64.405 20.742-125.856 40.507-163.35 52.59-23.24 7.486-35.353 27.407-30.406 42.593 4.946 15.188 26.582 24.333 49.75 16.75 66.89-21.89 199.01-64.39 302.822-97.803 3.76 5.807 7.998 10.967 12.62 15.323.066.06.135.118.2.18-104.876 33.753-241.66 77.74-309.83 100.05-30.827 10.09-64.424-1.334-73.344-28.72-8.92-27.385 11.603-56.22 42.438-66.155 68.055-21.93 208.2-66.996 313.302-100.988zm59.58 180.205c-16.948 63.255-40.507 54.472-40.507 91.5 0 22.36 18.146 40.508 40.507 40.508 22.36 0 40.507-18.147 40.507-40.508 0-39.97-23.256-27.12-40.507-91.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChemicalTank;

impl IconShape for ChemicalTank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M99.5 18.406V92.22h321.594V18.405H99.5zm24.75 92.5v288.531h18.688v-288.53H124.25zm253.406 0v288.531h18.688v-288.53h-18.688zm-216.47 58.53v230l199.033.002v-230h-43.5c-.717 8.933-8.194 15.937-17.314 15.937s-16.596-7.004-17.312-15.938H267.75c.968 3.02 1.5 6.223 1.5 9.563 0 17.317-14.058 31.344-31.375 31.344S206.53 196.317 206.53 179c0-3.34.535-6.542 1.5-9.563h-46.843zm138.095 30.845c24.18 0 43.783 19.603 43.783 43.782 0 24.18-19.602 43.782-43.782 43.782-24.178 0-43.78-19.602-43.78-43.78 0-24.18 19.602-43.783 43.78-43.783zm-81.25 20.814c14.265 0 25.814 11.58 25.814 25.844 0 14.264-11.55 25.812-25.813 25.812-14.263 0-25.843-11.548-25.843-25.813 0-14.264 11.58-25.843 25.844-25.843zm68.564 79.344c14.264 0 25.844 11.58 25.844 25.843 0 14.265-11.58 25.814-25.844 25.814-14.264 0-25.813-11.55-25.813-25.813 0-14.263 11.55-25.842 25.814-25.842zM99.5 418.125v73.844h321.594v-73.845H99.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChewedHeart;

impl IconShape for ChewedHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M371.148 21.422c-47.943.474-94.522 30.346-106.605 84.855 23.308 25.97 35.25 59.46 30.36 94.453l-18.51-2.585c6.01-43.03-18.18-83.975-60.573-106.483-30.015-13.248-62.242-15.24-91.802-8.28l-6.82 1.147c.035.21.058.394.093.603-.275.08-.552.152-.827.232.297.04.59.09.887.135 3.047 18.48 3.43 30.233 1.01 38.135-2.465 8.044-7.604 13.897-19.858 21.88l-10.947 7.13 10.287 8.056c21.587 16.905 26.17 33.387 22.36 44.382-3.81 10.995-17.38 20.564-42.932 20.02l-11.91-.254 2.59 11.627c3.902 17.518 2.97 29.854-.3 37.894s-8.532 12.52-16.617 15.308l.006.015-7.91 2.555C112.05 394.053 302.19 431.686 337.77 493.3c0-88.87 183.898-228.256 149.855-373.734-15.838-67.674-66.885-98.634-116.475-98.144zm-233.69 72.246c21.017 14.63 31.41 45.175 15.14 71.9 96.352-16.05 73.76 120.85 5.703 101.38-19.06 41.176-62.37 43.628-87.2 32.82 5.938-4.656 10.792-10.806 13.863-18.36 4.23-10.4 5.16-23.078 3.094-37.998 25.026-2.268 43.544-14.152 49.802-32.21 6.223-17.957-.74-38.94-19.358-57.192 8.663-7.18 14.733-15.126 17.727-24.897 3.145-10.27 3.022-21.51 1.227-35.442z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChewedSkull;

impl IconShape for ChewedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.81 16.098c-10.335-.044-20.657.6-30.867 1.894l-2.68.246c1.754 19.05-1.177 32.7-7.144 39.69-5.967 6.99-15.964 10.454-36.102 6.328l-18.686-3.83 8.426 17.11c5.744 11.666 2.894 24.13-5.42 31.386s-22.805 10.594-44.797-1.443l-17.257-9.447 3.582 19.344c3.326 17.958-1.815 26.41-10.158 31.99-8.343 5.582-21.628 7.223-33.15 4.725l-.14.644-2.292-1.51c-8.416 30.07-10.557 65.306-4.252 106.08l15.184 94.135 70.295-13.24 3.46 18.366-15.384 2.897L179.96 488.79h25.39l-7.81-61.89 18.534-2.337 8.104 64.226h29.613v-65.325h18.69v65.324h29.61l8.105-64.228 18.534 2.338-7.81 61.89h25.486l44.352-126.808-18.133-3.416 3.46-18.365 70.185 13.22 18.236-94.22c12.634-81.883-9.59-141.71-48.71-181.966-39.135-40.268-95.95-60.884-152.966-61.136h-.02zm-14.51 20.14c45.57 29.486 39.706 97.78-19.587 70.834 34.772 67.943-24.572 97.148-69.838 55.2 3.894 37.6-40.093 48.023-69.316 11.056 7.962-1.166 15.703-3.855 22.538-8.428 10.563-7.066 17.958-19.23 19.1-34.785 20.852 6.868 39.385 3.4 51.43-7.113 10.958-9.566 16.144-24.103 14.368-38.635 16.913.726 30.568-4.03 39.34-14.306 7.624-8.933 11.127-20.532 11.965-33.822zm-61.9 167.98c32.884 0 59.54 26.656 59.54 59.54 0 32.885-26.656 59.543-59.54 59.543-32.883 0-59.543-26.657-59.543-59.542 0-32.886 26.66-59.54 59.543-59.54zm157.543 0c32.884 0 59.54 26.656 59.54 59.54 0 32.885-26.656 59.543-59.54 59.543-32.883 0-59.543-26.657-59.543-59.542 0-32.886 26.66-59.54 59.543-59.54zm-80.675 79.74l39.937 101.6-17.03 7.05-22.905-35.477-22.905 35.477-17.62-7.048 40.523-101.603z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChickenLeg;

impl IconShape for ChickenLeg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M395.938 20.78c-2.006-.015-4.02.047-6.063.19-20.603 1.434-43.834 11.255-68.156 33.374 4.478 1.835 8.86 4.388 13.092 7.718 34.186 26.906 13.31 54.375-13.156 48.094 35.578 39.36.977 69.643-36.97 49.625 9.69 25.352-20.15 40.428-47.155 17.845-19.576 41.963-23.738 70.97-24.53 95.094-.367 11.177 1.214 16.963 2.438 19.186 1.223 2.223 1.6 2.25 4.312 2.97 2.712.717 7.356.912 13 2.937 4.195 1.504 8.805 4.67 12.25 9.375 38.097 2.08 94.528 3.21 171.78-36.72 44.882-23.197 67.256-59.045 74.25-96.937 6.997-37.89-2.012-77.89-21.124-107.218-17.917-27.495-43.88-45.288-73.97-45.53zm64.187 69.44c25.656 51.76 6.995 94.552-63.844 126.218 35.36-38.065 64.82-79.05 63.845-126.22zm11.47 99C433.257 241.533 370.29 291.44 281 289.124c65.092-22.673 133.782-58.816 190.594-99.906zM200.06 302.562c-43.083 40.035-103.853 84.81-128.687 94.062-25.69 9.57-34.904.96-49.156 18.313-13.558 16.133 12.31 53.08 41.28 32.78-26.414 41.35 26.314 74.03 42.375 16.063 12.69-47.362 76.407-102.028 125.313-143.155l-.313-.688c-1.52-3.575-2.215-3.734-4.438-4.53-2.222-.798-6.236-1.084-11.468-2.47-4.804-1.27-10.963-4.467-14.907-10.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ChoppedSkull;

impl IconShape for ChoppedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M214.475 29.258L161.77 81.96c16.936 20.538 28.36 42.014 27.927 65.403-.452 24.518-14.472 48.98-43.79 73.528l5.99 17.694c71.606-19.315 130.42-50.42 170.478-101.428l-107.9-107.898zm-57.424 77.54L21.24 211.07v51.764l149.748-115.11c.008-.236.02-.472.026-.706.24-13-4.75-26.334-13.96-40.22zm276.18 3.19l-36.34 84.352 70.038-48.074-33.7-36.278zm-97.543 40.48c-42.955 53.685-105.04 86.063-177.787 105.852l14.08 41.59c18.005.184 38.99-3.06 60.754-9.574.94-1.584 1.904-3.157 2.924-4.705 23.146-35.122 66.755-62.113 114.967-66.79 8.404-8.93 16.06-18.51 22.73-28.705l-37.668-37.666zm29.745 84.34c-47.143 0-92.654 26.458-114.168 59.106-10.757 16.324-15.532 33.768-12.805 50.416 2.726 16.648 12.827 33.23 34.772 48.188l6.118 4.168c13.21 6.097 27.513 9.598 40.26 10.794l-38.04 5.555-20.562 43.145c11.34 9.924 24.012 17.9 37.492 23.927l10.53-45.236 18.202 4.24-11.09 47.646c13.566 4.21 27.673 6.614 41.858 7.203v-52.015h18.688v51.74c13.787-.973 27.45-3.665 40.56-8.07l-10.443-46.578 18.236-4.09 9.77 43.57c11.56-5.517 22.482-12.496 32.422-20.94l-21.39-44.884-35.71-5.213c10.606-.995 22.29-3.588 33.524-7.94l12.13-5.782c24.48-15.652 35.938-32.698 39.337-49.32 3.44-16.818-1.263-34.156-12.35-50.5-22.174-32.69-70.172-59.13-117.34-59.13zm-50.62 84.174c19.09 0 34.567 15.475 34.567 34.565 0 19.09-15.48 34.566-34.567 34.566-19.09 0-34.565-15.476-34.565-34.566 0-19.09 15.474-34.565 34.565-34.565zm105.547 0c19.09 0 34.564 15.476 34.564 34.565 0 19.09-15.476 34.566-34.565 34.566-19.09 0-34.565-15.476-34.565-34.566 0-19.09 15.474-34.565 34.564-34.565zm-233.737 3.747l-108.115.26 24.996 43.334 83.12-43.595zm23.623 15.715l-56.36 83.56 44.692 15.724 11.668-99.285zm107.7 9.703c-5.715 0-10.147 4.433-10.147 10.147 0 5.715 4.432 10.146 10.145 10.146 5.714 0 10.147-4.43 10.147-10.145s-4.43-10.147-10.147-10.147zm99.28 0c-5.715 0-10.146 4.432-10.146 10.147 0 5.714 4.433 10.146 10.147 10.146 5.713 0 10.146-4.43 10.146-10.145 0-5.714-4.432-10.147-10.146-10.147zm-49.835 14.297l23.046 53.694c-11.686 7.06-33.125 7.013-44.42 1.95l21.375-55.645z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CircleCage;

impl IconShape for CircleCage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.05 20.283c-130.19 0-235.93 105.74-235.93 235.928 0 130.19 105.74 235.93 235.93 235.93 130.188 0 235.927-105.74 235.927-235.93 0-130.188-105.74-235.927-235.928-235.927zm0 18.696c120.084 0 217.23 97.146 217.23 217.23 0 33.477-7.556 65.166-21.048 93.47-.143.3-.28.604-.425.904-.673 1.395-1.363 2.78-2.065 4.158-.07.137-.135.276-.205.412-.157.307-.324.61-.482.914-.587 1.132-1.178 2.263-1.784 3.383-.475.882-.968 1.756-1.457 2.632-16.388 29.34-39.376 54.475-66.973 73.4-.794.544-1.59 1.086-2.39 1.618-.522.35-1.05.692-1.577 1.037-.933.61-1.866 1.215-2.807 1.808-.308.195-.62.385-.93.578-2.525 1.576-5.072 3.1-7.646 4.565l.008.006c-29.154 16.603-62.537 26.643-98.154 28.138v-.007c-6.226.266-12.462.265-18.688 0v.004c-115.716-4.912-207.84-100.082-207.84-217.02 0-120.084 97.148-217.23 217.233-217.23zm-.066 18.186c-3.11 0-6.222.075-9.33.22l.002 51.344c-8.04-.473-16.048-1.56-23.955-3.255-.595-12.692-11.074-22.8-23.913-22.8-6.91 0-13.134 2.93-17.504 7.614-5.884-3.153-11.613-6.704-17.146-10.65-5.946 3.1-11.772 6.52-17.446 10.266 8.928 7.01 18.375 13.04 28.2 18.092.714 12.58 11.14 22.564 23.897 22.564 6.85 0 13.023-2.882 17.387-7.494 10.04 2.302 20.242 3.73 30.482 4.266v48.436c-24.646-.303-49.197-1.807-72.945-4.5-2.235-11.778-12.58-20.688-25.01-20.688-9.724 0-18.173 5.454-22.462 13.47-14.295-2.777-28.034-6.06-41.074-9.816-3.295 5.515-6.298 11.155-9.012 16.897 15.228 4.59 31.32 8.52 48.034 11.79 3.002 10.72 12.838 18.587 24.515 18.587 8.88 0 16.694-4.547 21.25-11.438 56.1 6.688 116.216 6.68 172.304-.025 4.554 6.905 12.377 11.465 21.267 11.465 11.696 0 21.545-7.89 24.53-18.635 16.618-3.26 32.623-7.173 47.77-11.736-2.713-5.74-5.716-11.38-9.01-16.896-12.972 3.736-26.633 7.002-40.845 9.768-4.295-7.993-12.734-13.428-22.444-13.428-12.42 0-22.757 8.898-25.002 20.664-23.82 2.71-48.45 4.22-73.174 4.523v-48.436c10.304-.54 20.57-1.978 30.67-4.305 4.366 4.633 10.553 7.53 17.422 7.53 12.797 0 23.25-10.043 23.91-22.677 9.735-5.026 19.1-11.016 27.95-17.965-5.672-3.745-11.496-7.165-17.44-10.268-5.484 3.912-11.16 7.433-16.99 10.563-4.365-4.64-10.557-7.54-17.43-7.54-12.825 0-23.297 10.085-23.915 22.757-7.977 1.72-16.062 2.823-24.176 3.3l-.002-51.34c-3.117-.148-6.238-.224-9.358-.224zm.006 156.727c-23.483 0-42.326 18.84-42.326 42.324 0 23.488 18.84 42.328 42.326 42.328 23.483 0 42.324-18.84 42.324-42.328 0-23.484-18.837-42.324-42.324-42.324zm-123.408 12.734c-12.642 0-23.3 8.46-26.646 20.02h-48.58c-.29 6.228-.292 12.465 0 18.69h49.738c4.252 9.868 14.063 16.778 25.488 16.778 11.427 0 21.235-6.91 25.486-16.777h37.59c-.45-2.977-.685-6.023-.685-9.12 0-3.256.264-6.45.76-9.57h-36.506c-3.346-11.562-14.005-20.02-26.645-20.02zm247.064 0c-12.64 0-23.3 8.458-26.646 20.02h-36.754c.496 3.12.76 6.314.76 9.57 0 3.098-.236 6.143-.686 9.12h37.838c4.25 9.867 14.06 16.778 25.488 16.778 11.426 0 21.236-6.91 25.487-16.78h49.48c.29-6.225.29-12.462-.002-18.69h-48.32c-3.345-11.56-14.003-20.018-26.644-20.018zm-16.12 78.205c-11.026 0-20.412 7.008-23.954 16.813-25.412-2.935-51.62-4.488-77.885-4.686-1.877.175-3.775.276-5.697.276-1.92 0-3.82-.1-5.695-.275-26.182.2-52.31 1.74-77.647 4.657-3.55-9.788-12.93-16.78-23.943-16.78-13.715 0-24.894 10.846-25.437 24.43-16.388 3.234-32.176 7.105-47.127 11.612 2.712 5.737 5.713 11.372 9.005 16.884 14.103-4.064 29.046-7.557 44.6-10.473 4.66 5.2 11.427 8.474 18.96 8.474 10.258 0 19.094-6.07 23.127-14.81 24.33-2.828 49.526-4.404 74.822-4.714v48.444c-9.78.512-19.523 1.826-29.125 3.95-4.387-5.517-11.15-9.058-18.745-9.058-13.222 0-23.943 10.722-23.943 23.945 0 .173.01.343.013.513-9.815 5.053-19.254 11.082-28.173 18.086 5.673 3.745 11.496 7.162 17.44 10.265 5.92-4.227 12.06-8.002 18.38-11.317 4.273 3.967 9.993 6.395 16.283 6.395 12.19 0 22.245-9.11 23.744-20.893 7.96-1.716 16.027-2.808 24.124-3.285l.002 51.36c6.226.29 12.462.292 18.688 0l-.002-51.36c8.176.48 16.322 1.585 24.36 3.33 1.518 11.76 11.564 20.848 23.737 20.848 6.252 0 11.94-2.398 16.205-6.322 6.263 3.295 12.352 7.042 18.222 11.233 5.944-3.103 11.768-6.522 17.44-10.268-8.85-6.946-18.21-12.934-27.942-17.96.006-.208.016-.415.016-.624 0-13.222-10.718-23.944-23.94-23.944-7.615 0-14.394 3.56-18.78 9.1-9.664-2.148-19.473-3.48-29.318-3.994v-48.444c25.382.31 50.664 1.895 75.07 4.74 4.04 8.726 12.867 14.782 23.113 14.782 7.515 0 14.267-3.256 18.928-8.434 15.472 2.907 30.34 6.385 44.375 10.428 3.292-5.512 6.29-11.148 9.002-16.887-14.872-4.48-30.573-8.332-46.867-11.556-.52-13.605-11.707-24.478-25.438-24.478z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CircleClaws;

impl IconShape for CircleClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.832 24.166C169.087 23.868 108.817 50.45 68.12 101.72c-70.4 88.68-55.578 217.634 33.1 288.032 1.39 1.104 2.817 2.195 4.26 3.27.286.303.575.618.86.916-.118-.177-.23-.355-.348-.532 5.055 3.744 10.36 7.29 15.504 10.475-15.073-15.153-27.356-32.234-36.783-50.52-26.065-64.267-15.236-129.285 32.96-161.24 58.434-38.76 151.118-15.176 215.06 51.675-3.942-5.902-8.413-12.113-13.016-17.834-63.682-79.235-166.368-109.6-229.362-67.817-1.072.71-2.122 1.442-3.158 2.185 5.43-9.825 11.74-19.333 18.953-28.418 65.31-82.274 181.148-100.695 268.36-46.756-5.63-5.66-11.95-11.454-18.358-16.54-37.412-29.7-81.992-44.23-126.32-44.448zm160.617 82.277c45.104 42.614 67.29 102.166 63.886 161.223-5.603 29.51-20.302 57.597-44.16 80.174-58.436 55.31-151.12 57.978-215.063 9.238 3.944 4.784 8.413 9.73 13.016 14.145 49.375 47.45 122.196 58.87 181.786 33.818-65.28 61.195-164.122 72.983-242.467 27.83 5.804 5.48 12.3 11.075 18.863 15.96 90.822 67.61 219.257 48.797 286.867-42.03 67.61-90.822 48.795-219.255-42.028-286.866-6.56-4.887-13.782-9.5-20.703-13.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CircleSparks;

impl IconShape for CircleSparks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.78 26.78c64.677 55.957 77.348 94.384 60.564 122.876 7.63-3.893 15.673-6.72 24.094-8.375-20.88 26.902-34.827 59.457-39.157 94.94-14.255-1.084-27.752-2.986-39.874-5.782 14.74 7.424 27.45 15.042 38.563 23.125-.068 2.083-.126 4.18-.126 6.28 0 68.626 35.813 128.96 89.75 163.344-4.345 10.808-11.01 21.467-20.438 32.813 11.536-7.713 26.68-14.666 43.313-20.313 24.644 11.384 52.065 17.75 80.968 17.75 16.69 0 32.885-2.11 48.343-6.093.406 14.503-.08 31.072-1.436 50.125 36.338-88.305 101.418-88.803 181-30.25-64.756-68.336-59.635-134.57-4.75-218.845-10.708 5.996-20.526 11.01-29.563 15.094.023-1.206.033-2.416.033-3.626 0-43.22-14.223-83.164-38.22-115.406 18.41-29.47 40.28-49.624 65.5-65.125-53.525 15.19-87.8 7.226-130.312-22.75 16.446 15.918 26.668 33.556 32.47 53.874-33.47-27.61-76.354-44.218-123.063-44.218-23.376 0-45.805 4.134-66.562 11.75 1.722-13.855 6.552-27.61 14.438-41.75C156.097 67.09 98.216 75.61 20.78 26.78zm104.095 48.782C137.17 75.62 152 81.5 162.313 91.22c13.75 12.957 14.257 27.825 1.156 33.218-13.103 5.392-34.876-.73-48.626-13.688s-14.257-27.827-1.156-33.22c3.275-1.347 7.09-1.987 11.187-1.968zm133.563 9.344c50.846 0 96.557 21.633 128.5 56.188 1.667 19.017.924 40.15-1.282 63.97 5.51-15.935 11.532-30.1 18.063-42.783 18.732 27.863 29.655 61.414 29.655 97.564 0 3.784-.14 7.526-.375 11.25-80.95 27.872-84.574-38.09-98.344-141.625-23.972 143.895-73.68 188.616-175.375 185.5 91.03 29.217 138.164 30.064 146.345 113.342-15.008 4.183-30.833 6.438-47.188 6.438-17.69 0-34.758-2.634-50.843-7.5 15.95-3.575 32.116-5.82 46.906-6.375-51.752-8.56-83.084-24.313-96.906-62.97 3.475 17.54 4.497 32.484 2.25 46.47-43.702-29.84-73.13-78.987-76.063-135.25 22.45 21.294 36.885 46.538 49 80.188-11.563-57.488 17.535-92.766 79.064-127.97C175.184 232.57 127.964 238.29 85 237.19c4.827-37.463 21.455-71.18 46.063-97.313 34.22 2.712 73.92 23.22 119.03 67.22-36.212-42.28-55.61-76.564-58.53-108.97 20.597-8.515 43.173-13.22 66.875-13.22zm66.906 197.813c30.63 0 68.568 26.42 84.72 59 16.15 32.58 4.408 59-26.22 59-30.63 0-68.568-26.42-84.72-59-16.15-32.58-4.41-59 26.22-59z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Circuitry;

impl IconShape for Circuitry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.72 19.395v98.64l-46.116 46.117-34.198-34.2-6.607 6.61-141.52 141.516 113.513 113.51-52.775 52.773.002 50.31h18.687v-42.568l47.3-47.3 21.4 21.4 148.122-148.124-60.165-60.164 67.447-67.45V19.395h-18.687v123.33l-61.975 61.975-27.332-27.333 51.59-51.59V19.395H413.72zM19.36 30.303V48.99h186.607l44.254 44.254c-2.56 4.393-4.032 9.496-4.032 14.947 0 16.422 13.312 29.736 29.732 29.736s29.732-13.314 29.732-29.735c0-16.42-13.312-29.73-29.732-29.73-4.143 0-8.088.85-11.672 2.382l-50.54-50.54H19.36zm0 55.478v18.69l131.126.003 44.254 44.254c-2.56 4.392-4.035 9.496-4.035 14.947 0 16.42 13.312 29.732 29.732 29.732s29.733-13.312 29.733-29.732-13.312-29.733-29.732-29.733c-4.144 0-8.088.85-11.672 2.382l-50.54-50.54H19.362zm83.386 55.482l-83.385.002v18.69l75.646-.003 44.254 44.26c-2.56 4.39-4.033 9.496-4.033 14.946 0 16.42 13.312 29.733 29.732 29.733s29.73-13.313 29.73-29.734c0-16.42-13.31-29.734-29.73-29.734-4.145 0-8.09.85-11.675 2.383l-50.54-50.543zm230.66 15.12L455.1 278.08 333.406 399.77 211.71 278.08l121.696-121.695zm-1.254 27.388l-94.574 94.574 95.012 95.015 13.215-13.214-81.797-81.8 81.36-81.362-13.216-13.214zm-312.79 21.558v51.207l160.13 160.13v78.005h18.69V384.146L19.362 205.328zm346.51 8.397L352.66 226.94l51.48 51.482-51.77 51.77 13.218 13.214 64.982-64.984-64.695-64.697zm-29.93 33.16c-17.45 0-31.592 14.147-31.592 31.594 0 17.445 14.143 31.59 31.59 31.59 17.45 0 31.593-14.145 31.593-31.59 0-17.45-14.143-31.595-31.592-31.595zM19.36 295.35v51.207l94.886 94.88v53.233h18.688v-85.75L19.362 295.35zm427.378 73.154c-16.42 0-29.732 13.312-29.732 29.732s13.312 29.735 29.732 29.735c3.994 0 7.802-.794 11.28-2.222l36.62 36.615v-26.427l-22.402-22.4c2.688-4.47 4.237-9.704 4.237-15.3 0-16.42-13.314-29.732-29.735-29.732zM19.36 386.19V437.4l31.294 31.29-.002 25.982H69.34l.006-58.496L19.36 386.19zm371.902 37.796c-16.42 0-29.733 13.312-29.733 29.733 0 16.42 13.31 29.73 29.732 29.73 3.513 0 6.882-.612 10.01-1.73l12.955 12.95h26.43l-24.58-24.578c3.104-4.697 4.917-10.322 4.917-16.373 0-16.422-13.312-29.734-29.732-29.734z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CircularSawblade;

impl IconShape for CircularSawblade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.25 21.22c-7.37-.076-14.458.815-21.594 2.936 29.88 18.046 40.87 41.507 35.03 63.063-45.987-37.932-112.6-41.75-146.592-5.845 34.904.688 55.595 15.218 61.312 36.813-58.69-9.694-118.192 20.31-129.656 68.312 30.896-17.035 56.737-14.552 72.438 1.75-55.758 20.907-92.336 76.467-78.25 123.813 18.253-30.226 41.895-41.334 63.656-35.032-38.078 45.996-42.39 112.556-6.438 146.595.694-35.202 15.48-56.406 37.375-61.906-9.707 58.698 19.74 118.19 67.75 129.655-17.033-30.896-14.553-56.737 1.75-72.438 20.867 55.836 76.43 92.94 123.814 78.844-30.186-18.228-41.28-41.916-35.03-63.655 45.984 37.86 112.595 41.724 146.56 5.844-34.904-.69-56.188-15.188-61.905-36.783 58.698 9.71 118.19-20.332 129.655-68.343-30.69 16.922-56.674 14.852-72.406-1.156 55.868-20.85 92.945-77.005 78.842-124.407-18.036 29.867-41.514 41.448-63.062 35.626 37.86-45.985 41.132-112.625 5.25-146.594-.688 34.905-15.22 55.627-36.813 61.344 9.71-58.7-20.3-118.19-68.312-129.656 16.923 30.69 14.82 56.674-1.188 72.406-17.744-47.38-60.633-80.79-102.187-81.187zm28.875 82.124c40.494-.113 81.018 15.362 111.97 46.312 48.312 48.312 58.91 119.93 31.374 178.406 10.386-48.018-9.547-107.827-55.75-154.03-46.205-46.205-106.014-66.138-154.033-55.75 21.016-9.896 43.722-14.875 66.438-14.938zm.813 55.812c25.955.08 51.88 10.1 71.718 29.938 31.206 31.206 38.067 77.45 20.28 115.22 6.71-31.015-6.188-69.658-36.03-99.502-29.842-29.843-68.453-42.71-99.47-36 12.985-6.113 26.97-9.322 41-9.625.84-.018 1.664-.033 2.5-.03zm-142.813 34.688c-10.387 48.018 9.11 108.233 55.313 154.437 46.203 46.205 106.45 65.732 154.468 55.345-58.476 27.536-130.5 17.343-178.812-30.97-48.314-48.31-58.505-120.335-30.97-178.81zm157.688 10.844l3.812 3.812 33.594 33.594 3.81 3.812-1.405 5.22L298.345 297l-1.408 5.22-5.218 1.405-45.876 12.28-5.22 1.408-3.81-3.813-33.595-33.594-3.814-3.812 1.406-5.22L213.125 225l1.375-5.22 5.22-1.405 45.874-12.28 5.22-1.407zm-107.188 12.937c-6.71 31.016 5.875 69.908 35.72 99.75 29.843 29.842 68.764 42.46 99.78 35.75-37.77 17.786-84.296 11.206-115.5-20-31.204-31.206-37.784-77.73-20-115.5zm101.594 7.906l-35.47 9.5-9.47 35.5 25.907 25.908 35.5-9.47 9.5-35.468-25.968-25.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClawHammer;

impl IconShape for ClawHammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.97 27.813c-2.218.04-4.35.177-6.407.375l-.532.062c-2.774.266-5.796 1.01-9.124 1.844-4.418 1.11-8.096 2.607-11.125 4.406l77.782 59.313 7.375 5.656-5.593 7.405-13.72 18.156 67.595 51.626 14.217-18.812 9.47-12.53 6.5 14.342 19.656 43.47 60.593-80.095-47.187-7.124-15.533-2.312 9.47-12.563 14.28-18.843-67.593-51.624L310.78 50.78l-5.03 6.657-7.188-4.25c-28.635-16.917-58.02-25.157-80.343-25.374-.757-.008-1.512-.014-2.25 0zM453 127.124l-71.47 94.438 34.564 26.187c44.24-20.22 64.01-52.594 71.312-94.625l-34.406-26zm-193.688 25.03c-27.17 33.09-55.308 64.706-82.812 96.22l47.406 39.875c23.11-35.343 46.336-71.61 71.938-108.22l-36.53-27.874zM164.25 262.47c-11.355 13.115-22.564 26.254-33.5 39.5l48.375 52.717c11.707-16.6 23.107-33.515 34.438-50.687l-49.313-41.53zm-45.438 54.124c-7.884 9.808-15.59 19.71-23.093 29.72l33.468 73.842c13.586-16.22 26.434-32.893 38.843-49.937l-49.218-53.626zm-35.75 47.03c-12.108 16.978-23.57 34.335-34.124 52.282L98.53 454.47c5.882-6.166 11.622-12.4 17.22-18.72l-32.688-72.125zm-43.437 68.688c-5.185 9.492-10.105 19.145-14.75 29l37.375 28.313c7.976-7.11 15.672-14.348 23.125-21.72l-45.75-35.592z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClawSlashes;

impl IconShape for ClawSlashes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.338 22.55c152.455 20.22 254.7 176.264 228.928 258.163-34.76-89.215-143.516-189.588-300.207-196.15C255.855 103.772 355.365 245.5 342.92 329.856c-9.85.97-20.79.927-32.852-.24-41.436-84.32-146.004-172.382-292.437-178.513 142.546 18.907 241.2 156.557 232.36 241.316-15.664-.633-33.447-3.34-53.48-8.46 18.37 8.188 35.514 14.817 51.502 20.067-10.614 44.085-55.285 69.374-144.93 46.47C250 515.968 319.647 483.338 328.736 419.743c56.24 1.254 85.915-24.86 92.856-63.008 164.112-19.88 36.806-322.627-239.254-334.185zm132.808 318.083c7.97 2.704 15.666 5.077 23.07 7.11-3.122 7.893-7.546 14.993-13.35 21.095-2.393-9.222-5.635-18.663-9.72-28.205z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClawString;

impl IconShape for ClawString {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.447 19.12c-17.958.18-36.188 2.602-54.342 7.466-9.843 2.637-19.214 6.007-28.287 9.8l5.29 19.74c2.59-1.316 5.35-2.385 8.26-3.165 2.847-.762 5.707-1.216 8.546-1.382 19.872-1.16 38.653 11.795 43.994 31.73.475 1.77.816 3.546 1.057 5.32 87.235-15.12 173.745 20.262 226.34 87.056C457.39 80.406 369.778 18.164 274.447 19.12zm-57.27 51.056c-.696-.017-1.398-.003-2.103.04-1.612.102-3.242.364-4.87.8-13.016 3.488-20.6 16.627-17.11 29.656.5 1.862 1.2 3.61 2.066 5.232H195.213c13.762 0 27.248 1.195 40.37 3.46 4.52-5.764 6.334-13.51 4.27-21.22-2.865-10.687-12.22-17.714-22.675-17.968zm-21.968 54.418c-10.19-.002-20.113.828-29.858 2.142v20.46c2.836-.596 5.772-.915 8.78-.915 23.58 0 42.895 19.326 42.895 42.91 0 1.825-.127 3.62-.35 5.384 88.18 7.97 162.592 64.54 196.11 142.674-2.736-117.953-99.018-212.654-217.576-212.654zm-21.08 40.38c-13.476 0-24.202 10.73-24.202 24.217 0 4.034.963 7.817 2.668 11.144 2.23.514 4.457 1.06 6.672 1.652 8.99 2.41 17.71 5.322 26.158 8.672 7.707-4.027 12.91-12.076 12.91-21.467 0-13.487-10.73-24.215-24.205-24.215zm-49.503 49.383l-5.268 19.72c.133.008.266.01.4.017 2.84.166 5.7.62 8.55 1.383 22.777 6.103 36.43 29.767 30.327 52.548-.473 1.764-1.062 3.466-1.737 5.116 83.235 30.547 140.54 104.665 152.614 188.944 28.2-114.796-40.39-231.314-155.084-262.045-9.838-2.637-19.902-4.422-29.803-5.683zm-8.13 38.334c-10.454.256-19.81 7.283-22.675 17.97-1.054 3.934-1.09 7.877-.28 11.563 3.34 1.69 6.667 3.472 9.972 5.38 6.885 3.976 13.484 8.254 19.804 12.795 8.148-2.102 14.907-8.413 17.264-17.21 3.49-13.03-4.094-26.17-17.11-29.657-1.628-.435-3.26-.697-4.87-.798-.706-.044-1.407-.058-2.104-.04zm-49.255 38.374l-10.19 17.66c2.67.892 5.285 2.055 7.81 3.512 20.422 11.79 27.486 38.182 15.693 58.608-.858 1.486-1.803 2.892-2.807 4.234 42.503 30.033 72.314 72.438 87.86 119.184h36.75c.635-75.88-37.814-149.84-108.19-190.473-8.707-5.03-17.735-9.063-26.926-12.726zm-23.795 34.07c-.584-.004-1.166.016-1.746.055-7.734.532-15.04 4.804-19.255 12.105-6.744 11.68-2.82 26.338 8.852 33.076 11.67 6.74 26.326 2.81 33.07-8.872 6.744-11.68 2.82-26.336-8.85-33.074-3.83-2.21-7.983-3.274-12.07-3.29z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CloakDagger;

impl IconShape for CloakDagger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.07 19.707c-56.303 28.998-106.297 107.317-122.64 168.707 32.445 2.11 58.63 12.963 78.638 30.848l9.334-10.198c-13.336-13.056-30.596-23.9-52.994-34.707 12.68-31.542 32.01-79.29 56.598-82.07 9.62-1.088 19.92 4.722 31.13 21.068 35.08-58.334 68.394 18.705 87.727 61.002-21.94 11.897-39.132 22.82-52.63 36.024l8.68 9.76c19.68-17.732 45.72-29.358 78.55-31.673C358.24 127.335 311.515 50.14 254.07 19.707zM219.617 144.57c-8.894 0-16.103 3.952-16.103 8.826 0 4.875 7.21 8.827 16.103 8.827 8.894 0 16.106-3.95 16.106-8.827 0-4.874-7.212-8.826-16.106-8.826zm68.965 0c-8.894 0-16.105 3.952-16.105 8.826 0 4.875 7.21 8.827 16.105 8.827 8.894 0 16.106-3.95 16.106-8.827 0-4.874-7.212-8.826-16.106-8.826zm-118.894 70.88c-2.19 3.672-4.343 7.497-6.444 11.52-25.587 48.98-43.26 123.643-43.896 223.48 32.776 18.89 64.322 31.324 95.707 36.988-35.5-24.36-60.375-80.893-60.375-146.754 0-45.97 12.12-87.39 31.51-116.506-5.098-3.372-10.583-6.29-16.502-8.727zm168.933.35c-5.852 2.477-11.27 5.412-16.298 8.764 19.24 29.095 31.254 70.354 31.254 116.12 0 65.82-24.844 122.322-60.306 146.707 30.88-5.598 62.44-17.812 95.656-36.947-.638-99.57-18.31-174.163-43.9-223.177-2.088-4.002-4.228-7.81-6.405-11.467zm-97.665 23.61c7.026 22.543 9.128 45.086.98 67.63h-41.552v18.513c10.057-3.24 20.25-5.39 30.502-6.594.066 50.215 1.313 96.574 19.82 145.435l4.193 11.074 4.485-10.962c19.48-47.615 18.045-95.297 17.933-145.024 10.257 1.333 20.463 3.4 30.545 6.07v-18.515h-41.374c-6.888-22.544-5.932-45.087.803-67.63h-26.335z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clockwork;

impl IconShape for Clockwork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.71 18.326L17.866 138.166l29.582 29.582c23.04-53.698 66.14-96.802 119.84-119.842l-29.58-29.58zm238.286.04L346.44 47.92c53.693 23.048 96.79 66.155 119.822 119.857l29.576-29.575-119.842-119.84zm-133.27 37.04C137.405 62.64 54.448 150.126 54.448 257.31c0 111.93 90.466 202.397 202.398 202.397 32.75 0 63.66-7.757 91.007-21.52l-22.26-15.78c-21.173 8.84-44.394 13.734-68.745 13.734-98.652 0-178.827-80.172-178.827-178.824 0-90.942 68.133-166.178 156.065-177.382l8.637-24.528zm29.432.076l8.555 24.604c87.397 11.69 154.96 86.67 154.96 177.23 0 48.234-19.17 92.043-50.29 124.23l8.633 24.686c40.12-36.963 65.23-89.96 65.23-148.923 0-106.782-82.332-194.023-187.088-201.828zm-14.75 14.49l-32.3 91.706h18.925v45.068c4.35-1.182 8.917-1.824 13.63-1.824 4.36 0 8.596.547 12.65 1.564v-44.808h18.98L257.408 69.97zm71.82 44.42l-17.197 29.79c-3.446-1.657-6.983-3.158-10.596-4.5l14.144 40.683h-26.576v35.057c12.702 9.562 20.95 24.756 20.95 41.793 0 8.697-2.16 16.91-5.956 24.142l40.705 54.186 19.466-14.662 4.924 14.08 20.603 11.897c3.477-5.153 6.657-10.522 9.526-16.08l-29.35-16.945c6.967-13.842 11.447-29.152 12.86-45.348h33.862c.253-3.69.392-7.412.392-11.168 0-2.52-.066-5.026-.18-7.52h-33.82c-.98-16.423-5.11-31.993-11.796-46.112l29.45-17.002c-2.76-5.616-5.835-11.046-9.208-16.266l-29.48 17.02c-8.97-13.35-20.434-24.88-33.73-33.922l17.153-29.71c-5.178-3.438-10.566-6.585-16.144-9.41zm-145.38.313c-5.567 2.85-10.94 6.023-16.104 9.483l17.62 30.523c-12.89 9.09-23.988 20.545-32.67 33.737l-30.645-17.695c-3.362 5.228-6.422 10.667-9.167 16.29l30.73 17.74c-6.385 13.828-10.33 29.016-11.285 45.015H96.895c-.115 2.493-.182 4.998-.182 7.52 0 3.755.14 7.477.392 11.167h35.477c1.377 15.775 5.664 30.708 12.324 44.264l-30.613 17.674c2.855 5.565 6.028 10.938 9.492 16.1l30.592-17.663c8.745 12.622 19.743 23.56 32.418 32.236l-17.527 30.353c5.202 3.4 10.616 6.505 16.216 9.292l17.473-30.265c13.535 6.554 28.428 10.746 44.147 12.052v34.62c3.224.193 6.472.303 9.746.303 3 0 5.98-.09 8.94-.252v-34.497c6.595-.42 13.048-1.358 19.325-2.756l10.682-8.047-47.52-63.257c-24.326-4.454-42.908-25.862-42.908-51.428 0-16.593 7.833-31.43 19.976-41.026v-35.825h-26.63l14.196-40.31c-3.934 1.5-7.777 3.184-11.51 5.056l-17.554-30.405zm73.814 108.906c-18.67 0-33.605 14.935-33.605 33.605 0 18.67 14.936 33.603 33.605 33.603 18.67 0 33.604-14.934 33.604-33.603 0-18.67-14.934-33.604-33.604-33.604zm34.363 72.927c-5.978 5.234-13.142 9.14-21.03 11.233l50.952 67.828-14.578 10.984 79.74 56.525-32.137-91.902-13.975 10.525-48.973-65.193zm174.223 50.33c-14.203 33.102-36.037 62.167-63.27 84.998l9.7 27.733 83.15-83.15-29.58-29.58zM47.46 346.9l-29.585 29.586 119.84 119.84 29.603-29.603C113.616 443.69 70.508 400.593 47.46 346.9zm323.343 107.553c-7.848 4.552-15.992 8.65-24.395 12.254l29.58 29.58 22.33-22.33-27.515-19.504z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CloudRing;

impl IconShape for CloudRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.22 31.387c-70.06.15-134.335 31.794-168.1 90.28-5.223 9.045-8.83 18.417-12.24 28C122.157 70.996 219.372 40.6 292.07 82.57c78.822 45.506 98.658 158.253 44.405 252.223-25.855 44.782-63.857 77.026-105.15 93.723 95.38 29.26 195.698-.307 240.96-78.704 54.027-93.574 8.905-220.773-100.055-283.68-40.858-23.59-84.976-34.837-127.01-34.747zm-24.763 49.945c-40.357.123-84.108 16.545-122.254 49.408C19.45 198.588-6.02 311.192 41.32 382.244c4.577 6.87 9.9 12.55 15.434 18.137C20.79 331.21 31.144 244.728 83.69 199.46c56.97-49.083 141.443-31.06 188.98 40.292 22.654 34.003 32.705 73.913 30.926 111.78 51.07-67.13 63.006-155.83 23.347-215.356h-.002C302.534 99.54 263.42 81.2 220.458 81.332zm-63.36 107.71c-26.76.083-53.228 9.95-73.05 29.65-48.848 48.55-47.855 142.19 1.144 205.94 49 63.75 128.323 76.074 177.17 27.524-47.107 29.645-84.88 26.3-128.778-20.916-39.45-42.43-24.435-122.8 24.62-171.554 23.376-23.234 51.128-35.812 77.675-37.696-21.48-22.033-50.296-33.034-78.78-32.947z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CloudyFork;

impl IconShape for CloudyFork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.012 13.912c-35.27.5-72.71 29.525-72.71 66.174 0 39.68 36.478 83.723 99.893 117.853 101.13 54.43 72.602 179.66-36.256 179.66-42.733 0-72.187-39.64-74.362-77.31-.128-.663-.21-1.343-.238-2.04-.464-12.076 14.837-24.335 34.176-27.383 19.34-3.05 35.39 4.267 35.855 16.344h.003c.463 12.078-14.84 24.336-34.18 27.384-2.914.46-5.75.68-8.474.687 3.456 1.195 7.087 2.206 10.876 2.988 30.905 6.373 60.155-4.38 65.33-24.014h.002c5.176-19.634-15.682-40.717-46.586-47.09-11.74-2.42-23.238-2.365-33.272-.295.107-.077.207-.158.315-.233C6.66 278.06 70.908 496.213 235.605 496.213c189.383 0 235.943-179.11 169.05-266.756-10.69-14.007-23.185-25.6-36.55-35.752-45.053-44.06-63.563-96.312-24.972-152.35-46.768 9.864-64.43 59.03-58.05 101.315-22.383-13.896-41.988-29.116-54.257-50.365-19.586-33.927-3.52-70.383 43.434-71.643-8.666-4.792-18.372-6.89-28.248-6.75zm-94.506 7.78c-33.04.204-62.758 24.05-59.543 55.503v.002c6.14 60.084 68.852 116.43 162.83 126.99-58.058-23.48-92.455-60.586-110.734-112.87-11.944-34.16 3.377-61.222 28.182-66.555-6.878-2.138-13.88-3.113-20.736-3.07zm67.096 192.326c-11.45-.047-24.08 1.058-37.97 3.535l.003.002c81.43 3.067 110.127 50.344 107.463 79.85-2.83 31.378-51.59 52.93-90.506 35.38 35.285 42.01 94.344 22.24 110.416-7.045 18.97-34.563 3.837-111.34-89.406-111.722z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clout;

impl IconShape for Clout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M33.107 27.95l145.817 205.456L58.3 236.428l127.833 107.056-99.274 18.84 188.798 64.412c-27.16-26.503-51.394-55.114-71.83-84.88l15.406-10.577c39.313 57.257 93.652 110.5 155.83 151.78 26.423-5.435 52.822-21.64 73.036-42.826 20.17-21.14 33.822-46.97 36.597-70.004-43.09-60.1-94.658-111.11-156.87-151.148l10.112-15.717c30.99 19.946 59.436 42.53 85.55 67.483L378.963 86.6l-39.83 97.197L249.395 60.35l-3.14 124.414L33.108 27.95zm398.788 304.42l10.552 15.425c-34.503 23.6-64.288 57.193-90.49 92.758l-15.045-11.086c26.87-36.472 57.815-71.673 94.983-97.096z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Clover;

impl IconShape for Clover {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.186 26.426c-38.314.06-62.13 26.334-31.37 72.994C6.192 97.785-9.36 188.75 62.29 218.39c54.838 22.684 82.008-6.012 142.985 15.008-64.015-7.88-119.143 21.696-153.814 66.6-38.507 49.87-24.104 120.148 40.41 100.332-9.024 67.12 62.385 100.137 103.907 47.166 35.793-45.66 15.51-103.756 41.842-182.885 7.1 61.706-5.617 108.762 11.573 166.478 21.393 71.83 103.075 75.605 118.537 6.34 55.84 51.31 95.82-9.41 75.754-76.643-17.993-60.285-90.76-98.2-167.65-118.703 72.808-3.032 108.846 44.51 167.78 30.084 72.446-17.734 64.365-108.426-10.823-128.922 45.767-54.918-19.446-110.047-87.18-93.117-57.113 14.275-90.85 71.977-101.928 143.33-5.55-65.618-28.823-120.138-81.03-150.316-19.64-11.353-40.05-16.74-57.466-16.714z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ClusterBomb;

impl IconShape for ClusterBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.844 20.438c-1.123-.004-2.255.022-3.375.062-31.373 1.107-62.048 19.857-83.75 54.063l15.78 10c21.905-34.525 51.05-48.46 79.094-44.907 18.49 2.344 37.197 12.58 53.22 31.594l-52.97 30.594 37.03 64.187c-54.02 59.836-65.993 150.21-23.53 223.814 52.703 91.357 168.712 122.463 260 69.72 91.288-52.746 123.174-169.328 70.47-260.69-40.2-69.672-117.545-104.362-192.533-93.53l-39.374-68.25-42.75 24.687c-19.06-23.673-42.603-37.566-67.22-40.686-3.363-.427-6.725-.645-10.092-.657zm60.344 99.062c34.395 1.276 59.808 12.09 74.25 32.438 4.89 6.89 8.42 14.64 10.75 23.156l27.406-15.844 26.844 46.563c51.126-7.386 103.876 16.27 131.28 63.78 35.935 62.294 14.18 141.757-48.062 177.72-62.24 35.962-141.317 14.76-177.25-47.532-28.95-50.187-20.77-111.797 16.063-152.592l-25.25-43.782 32.03-18.53c-1.737-8.716-4.777-16.09-9.063-22.126-10.35-14.58-28.73-23.446-59.687-24.594l.688-18.656zm110 139.188c-11.59-.084-23.672 4.737-33.938 14l12.53 13.875c10.593-9.557 20.598-10.993 28.69-7.75 3.54 1.418 6.98 3.91 9.936 7.625l-13.312 7.718 13.844 24.03c-20.225 22.402-24.71 56.225-8.813 83.783 19.73 34.204 63.168 45.872 97.344 26.124 34.175-19.748 46.105-63.39 26.374-97.594-15.048-26.09-43.99-39.087-72.063-35.03l-14.75-25.564-12.405 7.188c-5.072-7.207-11.6-12.585-19.188-15.625-3.83-1.537-7.844-2.426-11.937-2.69-.767-.048-1.54-.087-2.313-.092z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cobweb;

impl IconShape for Cobweb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.91 19.47v13.06l52.47 43.78c-18.59 8.2-37.3 21.44-52.47 38.59v46.8l64.84 83.9c-22.51 12.6-46.07 25.8-64.84 46.3v51.3l32.25 77.7c-10.96-.2-21.82.9-32.25 3.9v19.6c12.22-4.5 25.81-5.7 40.18-4.5l21.85 52.6h20.26l-23.82-57.2c33.22-26.5 75.12-43.6 118.92-44.1l70.2 90.8c-25.2 1.4-53.2 3.2-76.7 10.5h109.5c36.5-59.5 75.1-101.7 136.1-111.3 18.6 11.7 39.2 31.5 56.9 46.3v-24.3l-49.6-41.4c-3.5-68.9 17.1-117.9 41.6-151.9l8 4V193l-9.5-4.8c-7.9-20.4-13.1-46.8-12.5-73.1.5-27.64 7.2-54.92 22-75.79V19.56c-89.2-.19-178.5-.1-267.7-.1l138 9.71c-6 15.42-11.8 31.44-15.1 47.88-2.8 13.73-3.6 27.94-.9 41.94L205.9 48.06c-1.7-9.81-4.3-19.91-4-28.59h-18.8c-.2 6.08.4 12.01 1.4 17.72l-34.8-17.72H91.59C84.78 30.98 79.9 43.79 77.78 58.13L31.47 19.47zm94.59 2.06l69.3 35.22c-11.5 20.26-20.8 43.45-22.3 69.55L95.16 72.62c.28-20.5 6.64-36.54 17.34-51.09zm268.6 9.03l89.5 6.28c-13.7 23.26-19.5 50.87-20 77.86-.5 21.5 2.4 42.6 7.6 61.5l-89.5-45.5c-7.3-15.7-7.4-32.2-3.9-49.98 3.3-16.21 9.7-33.17 16.3-50.16zM198.4 65.19L343.7 139c-29.9 27.3-43.5 62.8-46.5 102.3l-119.1-99.5c-.7-27.3 9-56.61 20.3-76.61zM86.6 89.84l64.3 53.66c-24.2 21.4-46.4 48.6-59.21 83.1l-68.35-88.4c17.72-20.3 40.29-40.09 63.26-48.36zm275 58.26l105 53.3c-23.7 33.9-43.7 81.4-43.9 144.6l-107.6-89.8c5.3-44.7 19.8-85.6 46.5-108.1zm-196.3 7.5l125.8 104.9c-39.4 22.5-74.7 53.8-94.1 102.3l-91.6-118.5c13.6-35.7 35.3-67.1 59.9-88.7zM94.31 260.5l87.29 112.9C140 376.7 101 393.2 69 417.5L25.25 312.2c20.06-23.3 46.89-39.2 69.06-51.7zm212.09 12.7l110.8 92.5C359 380 319.9 423.2 285.7 477.6l-75.3-97.4c20.5-48 58.3-86.2 96-107z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoffeeMug;

impl IconShape for CoffeeMug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M221.97 54.406c-40.375 0-77.013 8.01-104.345 21.563C90.293 89.52 70.937 109.51 70.937 134c0 2.57.213 5.094.626 7.563l-.032 5.875c-.555 82.898 16.25 164.612 14.97 244.718-.372 23.295 14.294 43.908 38 57.594s56.797 21.5 97.125 21.5c40.357 0 71.338-8.024 92.906-22.03 21.57-14.008 33.408-34.712 33.408-56.908 0-3.17.054-6.345.125-9.53 42.143-1.114 75.316-23.45 97.125-52.563 22.235-29.684 34.027-66.306 34.687-99.626.66-33.32-9.983-66.91-39.156-80.594-14.588-6.842-30.593-6.573-49.25-1.125-6.16 1.798-12.548 4.25-19.126 7.375.07-2.93.125-5.86.125-8.75v-6.72c.33-2.214.5-4.484.5-6.78 0-24.49-19.357-44.478-46.69-58.03-27.33-13.554-63.937-21.564-104.31-21.564zm0 18.688c37.87 0 72.087 7.752 96.03 19.625 23.943 11.87 36.28 26.974 36.28 41.28 0 14.306-12.337 29.44-36.28 41.313-23.943 11.87-58.16 19.593-96.03 19.593-37.87 0-72.09-7.722-96.032-19.594-23.943-11.87-36.313-27.006-36.313-41.312 0-14.306 12.37-29.41 36.313-41.28 23.942-11.874 58.16-19.626 96.03-19.626zm-69.657 39.03c-23.19 6.707-37.907 16.684-37.907 27.814 0 20.193 48.398 36.562 108.094 36.562 59.696 0 108.063-16.37 108.063-36.563 0-10.264-12.52-19.546-32.657-26.187 5.266 4.105 8.22 8.692 8.22 13.563 0 17.186-36.765 31.124-82.126 31.124-45.36 0-82.125-13.938-82.125-31.125 0-5.518 3.788-10.693 10.438-15.187zm263.312 68.282c4.34-.023 7.825.793 10.53 2.063 10.826 5.076 18.406 22.81 17.908 48.124-.5 25.313-9.714 55.51-26.844 78.375-16.296 21.75-38.106 36.352-67.126 37.905 4.352-49.843 14.23-100.49 19.28-147.844 20.724-13.842 35.894-18.567 46.25-18.624z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coffin;

impl IconShape for Coffin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M312.094 21.97l59.094 119.686h52.093L362.595 22l-50.5-.03zM173 22.687l-63.594 127.218 65.844 345.75 114.688.094L354.467 150 291.626 22.75 173 22.687zm16.063 76.28h88.78v18.688h-88.78V98.97zm0 36.22h88.78v18.687h-88.78v-18.688zm182.5 25.156L309 495.438l47.25.03 68.313-335.124h-53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cog;

impl IconShape for Cog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.875 18.78c-26.087 2.367-51.557 8.56-74.875 18.782 15.37 32.763 14.222 66.706-6.72 82.407-20.835 15.617-54.055 7.965-81.124-15.69-16.246 19.452-29.336 41.36-38.875 65.626 33.83 12.333 56.635 37.665 52.94 63.5-3.698 25.835-32.697 43.74-68.626 46.094 2.338 25.796 8.91 50.778 18.937 73.875 17.81-8.182 35.793-11.09 51.095-8.938 13.032 1.87 23.927 7.015 31.156 16.657 15.817 21.097 7.603 54.713-16.78 81.97 19.516 16.35 42.216 29.444 66.594 39.03 12.33-33.828 37.655-56.634 63.5-52.938 25.844 3.697 43.74 32.696 46.094 68.625 26.087-2.365 51.557-8.555 74.875-18.78-15.766-32.997-14.26-67.588 6.843-83.406 9.64-7.23 22.568-9.022 35.594-7.125 15.112 2.16 31.19 10.25 45.563 22.78 16.088-19.345 29.4-41.51 38.875-65.594-33.83-12.332-56.635-37.653-52.938-63.5 3.697-25.846 32.665-43.772 68.594-46.125-2.36-25.944-8.774-50.663-18.906-73.874-32.612 15.117-66.66 13.145-82.282-7.687-15.696-20.944-7.252-53.86 16.688-81-19.52-16.352-42.248-29.447-66.625-39.032-12.332 33.828-37.657 56.66-63.5 52.968-25.846-3.693-43.744-32.696-46.095-68.625zm21.656 95.126c79.626 0 144.376 64.752 144.376 144.375 0 79.626-64.75 144.376-144.375 144.376-79.624 0-144.374-64.75-144.374-144.375 0-79.624 64.75-144.374 144.375-144.374zm0 18.688c-69.524 0-125.686 56.162-125.686 125.687 0 69.526 56.162 125.69 125.687 125.69 69.526 0 125.69-56.164 125.69-125.69 0-69.522-56.164-125.686-125.69-125.686zm.033 15.125c61.094 0 110.625 49.53 110.625 110.624 0 61.095-49.53 110.625-110.625 110.625s-110.625-49.53-110.625-110.626c0-61.095 49.53-110.625 110.625-110.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CogLock;

impl IconShape for CogLock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.922 20.86c-38.28 0-74.42 9.152-106.36 25.376l11.967 20.73c29.084-15.037 62.08-23.538 97.044-23.538 35.998 0 69.908 9.015 99.613 24.892l10.727-18.58c-33.535-18.404-72.04-28.88-112.992-28.88zM131.246 55.356C66.09 95.27 21.88 166.017 18.902 247.297h25.97c2.682-71.938 41.318-134.77 98.45-171.022l-12.076-20.918zm251.682 4.028l-10.662 18.467c55.79 36.48 93.37 98.538 96.01 169.447h20.67c-2.88-78.62-44.34-147.377-106.018-187.915zm-133.62 2.88C184.307 64.66 127.58 99.067 94.4 150.218l46.106 26.618c-3.475 5.153-6.612 10.552-9.393 16.158L85 166.373c-13.8 26.61-21.603 56.844-21.603 88.926 0 32.418 7.97 62.948 22.042 89.76l45.917-26.51c2.802 5.594 5.962 10.98 9.457 16.12L94.92 361.166c33.25 50.713 89.725 84.778 154.393 87.162v-52.113c2.685.152 5.39.238 8.112.238 3.56 0 7.085-.133 10.578-.392v52.07c63.662-3.702 118.987-38.127 151.375-88.706l-44.652-25.78c3.45-5.17 6.565-10.58 9.318-16.2l44.64 25.77c13.475-26.36 21.074-56.24 21.074-87.915 0-31.34-7.447-60.917-20.656-87.073l-44.82 25.875c-2.73-5.632-5.83-11.05-9.26-16.233l44.857-25.897c-32.316-51.016-87.88-85.79-151.877-89.512v52.544c-3.492-.26-7.018-.395-10.576-.395-2.724 0-5.428.085-8.113.238V62.264zm-37.177 69.422l20.276 35.145c7.914-2.2 16.253-3.383 24.867-3.383 8.623 0 16.97 1.184 24.89 3.388l20.278-35.15 40.14 23.078-20.355 35.283c11.824 11.63 20.54 26.41 24.785 42.985h40.722v46.156h-40.74c-4.253 16.56-12.974 31.322-24.795 42.94l20.383 35.33-40.14 23.077-20.315-35.213c-7.91 2.198-16.242 3.38-24.852 3.38-8.6 0-16.927-1.18-24.83-3.374l-20.312 35.207-40.136-23.078 20.37-35.312c-11.828-11.62-20.554-26.39-24.81-42.957H126.84v-46.155h40.697c4.246-16.583 12.967-31.37 24.8-43.006l-20.343-35.264 40.137-23.078zm-193.185 134.3c3.365 80.998 47.677 151.42 112.797 191.085l12.725-22.04c-57.045-35.686-95.94-97.754-99.492-169.046h-26.03zm449.23 0c-3.5 70.267-41.33 131.58-97.036 167.5l11.3 19.572C444.08 412.763 485.646 344.327 488.9 265.987h-20.726zm-113.18 176.915c-29.42 15.485-62.903 24.264-98.42 24.264-34.484 0-67.055-8.27-95.846-22.922l-12.646 21.9c31.814 16.06 67.766 25.116 105.838 25.116 40.746 0 79.07-10.366 112.484-28.596l-11.41-19.762z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cogsplosion;

impl IconShape for Cogsplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M161.186 30.88c-7.18.168-14.257 2.57-19.573 7.888-4.494 4.494-6.902 10.25-7.642 16.26-6.008.74-11.76 3.148-16.255 7.642-4.59 4.59-6.997 10.49-7.682 16.637-6.15.683-12.055 3.098-16.646 7.69-7.088 7.087-9 17.303-7.338 26.724 1.66 9.42 6.648 18.663 14.38 26.395 5.303 5.304 11.318 9.313 17.613 11.846-.032 3.08-.987 5.26-2.463 6.735-1.986 1.987-5.24 3.035-10.264 2.15-5.022-.888-11.193-3.96-16.425-9.193l-13.214 13.215c7.732 7.732 16.974 12.72 26.394 14.38 9.42 1.663 19.637-.25 26.725-7.337 4.686-4.686 7.1-10.742 7.723-17.03 6.288-.623 12.344-3.035 17.03-7.722 4.592-4.59 7-10.496 7.684-16.646 6.15-.684 12.053-3.092 16.643-7.682 7.088-7.088 9-17.304 7.338-26.725-1.663-9.42-6.647-18.662-14.38-26.394-5.523-5.523-11.82-9.636-18.4-12.146.23-2.475 1.112-4.298 2.395-5.582 1.987-1.987 5.242-3.034 10.264-2.148 5.022.886 11.193 3.96 16.426 9.19l13.214-13.213c-7.73-7.73-16.972-12.718-26.392-14.38-2.355-.416-4.76-.607-7.154-.55zm182.798 20.308l-18.052 4.837 3.36 12.538c-3.326 2.186-6.22 5.04-8.452 8.42l-12.518-3.352-4.836 18.054 12.614 3.38c.28 3.99 1.37 7.847 3.152 11.35l-9.32 9.318 13.214 13.217 9.38-9.382c1.68.825 3.454 1.504 5.322 2.004 1.964.527 3.94.837 5.9.948l3.45 12.875 18.052-4.838-3.477-12.98c3.193-2.12 5.982-4.856 8.164-8.09l12.922 3.464 4.835-18.052-12.828-3.437c-.236-3.945-1.27-7.766-2.978-11.25l9.36-9.362-13.213-13.215-9.22 9.22c-1.793-.915-3.702-1.66-5.717-2.2-1.918-.514-3.846-.82-5.76-.938l-3.356-12.528zm-206.236 22.23c1.042-.005 2.188.095 3.443.316 5.024.887 11.197 3.96 16.43 9.192 5.23 5.232 8.302 11.405 9.19 16.428.885 5.022-.163 8.277-2.15 10.263-1.986 1.987-5.24 3.035-10.262 2.15-5.022-.888-11.195-3.96-16.427-9.193-5.23-5.232-8.304-11.405-9.19-16.428-.887-5.022.16-8.275 2.148-10.26 1.49-1.492 3.693-2.454 6.82-2.468zm207.258 8.906c1.065-.035 2.16.087 3.258.38 5.854 1.57 9.188 7.344 7.62 13.198-1.57 5.855-7.344 9.188-13.198 7.62-5.855-1.57-9.188-7.343-7.62-13.198 1.177-4.39 4.718-7.364 8.885-7.914.348-.046.7-.074 1.056-.086zm-232.252 15.45c2.522 6.44 6.586 12.6 12.002 18.015 5.414 5.413 11.57 9.474 18.008 11.997-.142 2.77-1.05 4.777-2.43 6.156-1.986 1.987-5.24 3.035-10.264 2.15-5.022-.888-11.193-3.96-16.425-9.193-5.233-5.232-8.306-11.403-9.192-16.425-.886-5.023.162-8.278 2.15-10.264 1.38-1.38 3.38-2.296 6.15-2.437zm183.232 48.744L125.53 302.695l.966-103.943-66.363 66.922-38.184-101.03v329.45h258.923L199.37 473.54l161.5-30.372.038.14 1.848-.494 11.617-2.185c2.095 2.893 4.688 5.36 7.62 7.308l-3.475 12.976 18.05 4.838 3.452-12.875c1.96-.11 3.935-.42 5.9-.947 1.867-.5 3.643-1.18 5.32-2.004l9.38 9.38 13.214-13.216-9.32-9.32c1.78-3.5 2.872-7.36 3.152-11.348l12.615-3.38-4.837-18.054-12.517 3.354c-2.233-3.383-5.126-6.236-8.45-8.422l3.358-12.537-18.05-4.838-3.358 12.527c-1.915.118-3.842.424-5.76.938-2.014.54-3.923 1.285-5.715 2.2l-9.22-9.22-13.214 13.215 9.36 9.36c-1.708 3.487-2.74 7.307-2.978 11.253l-12.828 3.438 2.104 7.85-99.274.8 73.254-70.363-36.738 2.8 50.22-60.863 2.977-2.308c4.462 4.433 9.56 8.315 15.217 11.515l-5.547 13.596 17.305 7.06 5.56-13.628c6.274 1.64 12.624 2.412 18.903 2.344l2.007 14.626 18.515-2.54-2.017-14.72c6.12-1.693 11.997-4.177 17.474-7.39l9.134 11.773 14.766-11.458-9.13-11.77c4.4-4.437 8.25-9.506 11.436-15.12l13.823 5.64 7.06-17.305-13.83-5.643c1.637-6.237 2.396-12.55 2.34-18.795l14.827-2.032-2.537-18.516-14.873 2.04c-1.675-6.102-4.132-11.97-7.317-17.438l11.85-9.193-11.455-14.765-11.795 9.15c-4.424-4.415-9.48-8.283-15.086-11.484l5.63-13.794-17.306-7.06-5.613 13.76c-6.25-1.663-12.58-2.453-18.842-2.415l-2.013-14.686-18.516 2.537 2.012 14.675c-6.143 1.668-12.045 4.144-17.547 7.342l-9.058-11.674-14.767 11.455 9.01 11.615c-4.445 4.447-8.34 9.534-11.56 15.174l-13.577-5.54-7.06 17.304 13.54 5.526c-1.667 6.29-2.44 12.66-2.385 18.96L312.7 254.28l2.423 17.68-108.488 38.93 89.35-164.372zm102.73 51.714c6.96-.078 14.056 1.208 20.93 4.012 19.95 8.14 32.303 26.768 33.293 46.88l-23.085-2.913c-1.867-9.957-8.572-18.837-18.568-22.915-3.904-1.593-7.962-2.313-11.953-2.252-11.532.176-22.486 6.88-27.55 17.836l-23.5-2.968c.454-1.444.956-2.884 1.538-4.312 8.412-20.617 28.02-33.13 48.895-33.368zm.772 41.44c1.567-.01 3.174.29 4.74.928 6.266 2.556 9.162 9.445 6.606 15.71-2.556 6.266-9.448 9.164-15.713 6.608-6.264-2.556-9.16-9.448-6.604-15.713 1.917-4.7 6.27-7.503 10.972-7.533zm-53.607 14.77l23.636 2.986c1.898 9.908 8.59 18.733 18.545 22.795 15.15 6.18 32.623-.79 39.473-15.47l23.035 2.91c-.46 1.474-.97 2.945-1.566 4.403-11.216 27.49-42.334 40.572-69.822 29.356-19.985-8.154-32.344-26.83-33.3-46.98zm52.88 158.238c.355.01.707.04 1.054.086 4.168.55 7.71 3.523 8.887 7.914 1.57 5.855-1.763 11.63-7.618 13.2-5.855 1.568-11.628-1.767-13.197-7.622-1.57-5.855 1.764-11.63 7.62-13.197 1.097-.294 2.19-.415 3.255-.38z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoilingCurl;

impl IconShape for CoilingCurl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216.426 21.45c-9.01-.09-17.29 5.892-19.73 15-2.893 10.793 3.513 21.887 14.306 24.78 8.14 2.18 16.45-.933 21.283-7.224 9.466 9.2 13.93 22.49 9.85 36.14-8.996 30.09-44.5 48.927-79.537 40.516l-.088.365c-12.23-10.777-27.803-17.094-43.787-17.793-3.432-.15-6.88-.038-10.32.34-2.928-.322-5.96-.122-8.977.686-13.015 3.487-20.742 16.864-17.254 29.88 3.488 13.017 16.868 20.742 29.883 17.255 9.397-2.518 16.033-10.195 17.685-19.166 13.99 7.358 24.745 19.618 28.295 34.9 8.933 38.465-17.574 75.64-61.683 84.895-1.333-.014-2.662-.01-3.983.04-21.65.79-41.642 9.912-56.24 24.29-5.626 3.647-9.975 9.307-11.847 16.293-4.015 14.983 4.877 30.386 19.862 34.4 14.984 4.016 30.385-4.876 34.4-19.86 2.118-7.905.642-15.927-3.426-22.333 9.834-2.506 20.602-2.697 31.536.14 46.16 11.974 73.234 57.08 61.598 101.388-18.687 12.508-32.605 31.33-38.484 52.96-1.51 3.035-2.554 6.365-3.01 9.915-2.193 17.075 9.872 32.696 26.95 34.888 17.076 2.193 32.695-9.874 34.888-26.95 2.056-16.015-8.43-30.754-23.832-34.33 14.293-13.754 35.227-21.91 58.406-19.063 44.915 5.52 78.457 38.818 84.78 79.103h35.802c-6.39-56.884-50.945-104.217-110.145-111.818-3.356-.43-6.682-.685-9.97-.77-7.993-.206-15.766.587-23.208 2.246 3.77-45.372-20.65-88.8-61.114-109.306 36.756-20.608 56.423-64.348 45.018-106.914-.543-2.027-1.166-4.004-1.863-5.932 30.477 1.577 59.432-14.282 74.625-40.508 25.812 16.777 59.85 15.988 84.87-2.4 4.75 25.586 22.105 47.382 46.03 57.78-19.54 25.358-22.862 59.27-9.975 87.515-17.43 5.26-32.04 17.116-40.92 32.645-13.003-14.153-30.88-22.4-49.45-23.607 6.52-10.755 9.737-23.15 9.42-35.565 5.582.053 11.052-.886 16.193-2.685 1.328 6.412 4.61 12.503 9.767 17.242 10.66 9.797 26.83 9.418 36.29-.394l-13.456-12.97c-1.926 1.997-6.73 2.783-10.187-.396-5.358-4.924-5.956-12.072-2.14-17.127 4.708-5.342 8.293-11.804 10.25-19.115 5.213-19.46-5.823-38.71-23.24-44.816-1.438-1.07-3.088-1.9-4.923-2.393-7.783-2.086-15.784 2.532-17.87 10.316-2.085 7.783 2.534 15.783 10.317 17.87 4.952 1.325 9.985-.068 13.533-3.257 3.923 4.375 5.925 10.747 4.13 17.444-1 3.738-2.672 7.1-4.84 10.002-.81.853-1.552 1.743-2.24 2.66-6.28 6.58-15.458 9.978-24.91 8.684-2.132-6.366-5.275-12.503-9.5-18.16-10.563-14.138-26.767-20.836-42.497-20.09-7.353.35-14.6 2.332-21.12 5.935-2.592.527-5.112 1.598-7.37 3.286-8.178 6.11-9.856 17.693-3.746 25.872 6.11 8.178 17.693 9.855 25.87 3.746 6.396-4.778 8.793-12.9 6.622-20.127 9.89-.684 20.367 3.33 27.267 12.565 15.36 20.56 11.184 49.395-9.375 64.754l.18.24c-4.645 1.542-9.202 3.567-13.598 6.115-18.29 10.602-27.93 29.54-28.066 48.394-2.04 5.2-1.793 11.24 1.217 16.454 5.25 9.09 16.873 12.206 25.964 6.957 9.09-5.247 12.203-16.872 6.955-25.962-2.975-5.15-7.996-8.376-13.443-9.255 2.754-8.148 8.33-15.54 16.745-20.418 25.512-14.787 57.77-6.643 73.468 18.26-.965 4.636-1.476 9.433-1.476 14.347 0 28.977 22.382 51.46 48.54 53.666 2.19.863 4.567 1.353 7.063 1.353 10.653 0 19.29-8.634 19.29-19.288 0-10.653-8.637-19.29-19.29-19.29-9.02 0-16.57 6.2-18.68 14.564-10.48-5.772-18.234-17.08-18.234-31.004 0-25.208 17.8-46.064 41.578-50.764 2.207 2.845 4.616 5.58 7.232 8.188 26.068 25.977 67.117 24.58 90.885.894l-.288-.29c6.49-8.575 5.83-20.81-1.995-28.608-8.564-8.534-22.462-8.52-31.043.03-7.515 7.49-8.457 19.043-2.822 27.53-14.143 2.676-29.844-1.133-41.547-12.795-4.037-4.023-7.447-8.428-10.24-13.093v-1.54c-.29 0-.576.017-.865.02-14.124-25.077-10.68-57.194 10.375-78.883.815.122 1.634.234 2.46.33 31.64 3.67 59.1-17.51 65.397-45.495.53-1.462.908-3.003 1.098-4.613 1.335-11.306-6.782-21.54-18.13-22.857-11.35-1.317-21.633 6.782-22.968 18.088-1.144 9.692 4.66 18.594 13.492 21.767-8.378 9.998-21.72 16.287-36.736 14.545h-.002c-32.375-3.758-55.473-32.148-52.853-64.215 11.406-19.467 10.01-43.72-2.447-61.232-.93-3.068-2.6-5.958-5.025-8.383-7.864-7.864-20.616-7.865-28.48 0-7.865 7.865-7.864 20.617 0 28.48 6.498 6.5 16.328 7.612 23.986 3.37 2.926 12.12-.03 25.965-10.252 36.187-19.897 19.897-50.78 21.736-72.71 5.522.218-.73.428-1.46.626-2.2 8.265-30.846-8.12-61.135-34.438-72.545-2.472-2.58-5.642-4.555-9.345-5.547-1.687-.452-3.38-.677-5.05-.694z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ColdHeart;

impl IconShape for ColdHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M319.006 19.88L280.51 30.192l-10.315 38.495 14.366 14.365-44.04 11.8 3.86 14.4-14.403 14.405 9.523 35.537c-6.727-3.505-13.903-5.83-21.195-6.89l-6.37-23.774-19.75-5.292-3.86-14.4-44.128 11.824 5.272-19.676-28.183-28.18L82.79 83.12l-10.313 38.497 28.18 28.182 19.78-5.302-11.796 44.02 14.413 3.86 5.27 19.673 19.333 5.18c-.234 6.7.35 13.298 1.584 19.774l-25.713-6.89-14.46 14.46-14.413-3.86-11.814 44.09-14.512-14.51-38.496 10.313-10.316 38.497 28.18 28.18 38.497-10.313 5.328-19.882 32.382 32.383 10.563-10.56 19.72 5.283 32.077-32.076c3.693 5.467 7.297 10.755 10.63 15.8l-29.497 29.5 5.28 19.702-10.562 10.56 32.35 32.35-19.834 5.316-10.316 38.496 28.18 28.18 38.496-10.315 10.315-38.494-14.676-14.678 44.188-11.84-3.824-14.265 14.46-14.46-11.054-41.257c5.476-2.7 11.17-5.46 17.1-8.383l12.016 44.842 19.673 5.27 3.822 14.27 44.095-11.817-5.357 19.996 28.182 28.18 38.496-10.314 10.314-38.496-28.18-28.182-19.898 5.332 11.846-44.21-14.252-3.817-5.29-19.75-27.593-7.395c4.258-5.043 7.94-10.498 10.867-16.433l21.6 5.787 14.402-14.403 14.254 3.818 11.826-44.13 14.528 14.526 38.496-10.314 10.316-38.496-28.182-28.182-38.496 10.315-5.302 19.79-32.204-32.204-10.425 10.423-19.705-5.28-17.827 17.827c-6.376-3.127-13.32-5.12-20.533-5.896l25.14-25.14-5.284-19.72 10.424-10.423-32.233-32.235 19.834-5.315 10.316-38.496-28.18-28.18zm-110.77 150.438c1.198-.015 2.403.014 3.612.086 19.263 1.154 39.154 14.41 46.09 39.83l-5.772 21.537-19.912-19.91-13.213 13.214 19.913 19.912-27.2 7.287 4.837 18.053 27.2-7.287-7.29 27.198 18.053 4.838 7.29-27.203 19.91 19.912 13.216-13.215-19.913-19.91 27.2-7.29-4.835-18.05-27.203 7.29 6.684-24.952c18.676-16.51 39.705-17.307 55.352-9.117 16.562 8.67 27.495 27.23 21.273 53.75-6.026 25.684-33.025 44.145-63.003 59.603-14.99 7.728-30.364 14.645-43.517 21.795-6.316 3.432-12.16 6.844-17.27 10.644-2.464-6.242-5.88-12.455-9.69-18.805-7.628-12.707-17.248-25.98-26.21-39.757-17.925-27.558-32.38-56.28-25.936-83.83 5.883-25.135 22.363-35.392 40.332-35.622z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Coma;

impl IconShape for Coma {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.438 17.094c-65.792 0-122.042 41.78-145.625 93.406-20.03 34.082-31.844 74.992-31.844 118 0 73.852 20.417 140.625 52.81 188.406 32.395 47.78 76.155 76.28 123.845 76.28 47.69.002 91.45-28.5 123.844-76.28 32.393-47.78 52.81-114.555 52.81-188.406 0-41.823-10.428-80.8-28.31-113.53-22.305-53.66-79.854-97.876-147.533-97.876zm0 18.687c72.458 0 132.256 60.305 138.25 117.564H267.063l-6.22-22.625-9-32.782-9 32.78-10.5 38.22-16.843-61.282-9.03-32.78-9 32.78L185 152.97h-58.813c6.22-57.147 65.95-117.19 138.25-117.19zm-57.97 109.657l16.845 61.25 9.03 32.782 9-32.782 10.5-38.25 1 3.593h149.812c-5.967 55.655-64.63 101.032-138.22 101.032-73.752 0-132.567-45.58-138.31-101.406h73.124l1.906-6.875 5.313-19.343zm-71.78 139.407c18.355 18.096 37.527 26.734 55.718 27.53 18.192.798 35.928-6.095 52.125-21.5l12.876 13.563c-19.213 18.273-42.28 27.657-65.844 26.625-23.562-1.03-47.1-12.333-68-32.937l13.126-13.28zm264.75 0l13.125 13.28c-20.898 20.605-44.438 31.907-68 32.938-23.563 1.032-46.63-8.352-65.844-26.625l12.874-13.562c16.198 15.404 33.965 22.297 52.156 21.5 18.19-.797 37.333-9.435 55.688-27.53zM266.53 419.594c26.456-.068 52.92 3.186 79.345 10.03l-4.688 18.095c-49.808-12.902-99.402-12.4-149.375.03l-4.53-18.125c26.343-6.552 52.795-9.964 79.25-10.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Comb;

impl IconShape for Comb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M447.25 113.53c-.697.022-1.397.065-2.125.126C299.132 126.026 155.697 158.49 36.47 223.28c-10.362 5.632-15.204 13.98-16.845 26.345-1.64 12.366.834 28.467 6.72 45.844 11.216 33.12 34.585 70.496 59.374 98.124l17.593-4.72L66.374 251l18.03-4.813 36.94 137.844 21.03-5.655-36.938-137.813 18.032-4.843 36.936 137.81 18.78-5.03-36.905-137.813 18.064-4.843 36.906 137.78 20.28-5.437-36.936-137.78 18.062-4.845 36.906 137.782 21.032-5.656-36.906-137.75 18.03-4.844 36.907 137.75 21.03-5.625-36.905-137.75 18.03-4.845 36.94 137.72 19.53-5.22-36.906-137.72 18.03-4.843 36.907 137.688 22.47-6.03-36.875-137.69 18.063-4.843 36.875 137.688 21-5.625-36.875-137.688L394 163.22l36.875 137.655 20.28-5.438-36.874-137.625 18.033-4.843 36.875 137.624 17.687-4.75c7.676-36.4 9.244-81.307 2.406-116.03-3.586-18.218-9.55-33.498-17.06-43.158-6.574-8.452-13.485-12.827-22.908-13.125-.673-.02-1.365-.02-2.062 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CometSpark;

impl IconShape for CometSpark {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.916 15.648c147.945 202 202.556 312.645-3.146 252.438 201.76 82.926 225.515 176.51 49.13 180.76 190.922 51.156 315.057 60.258 377.16 10.43 67.76-54.368 62.6-177.648 13.31-361.6-.002 179.943-88.34 149.935-171.18-39.96 60.246 191.39-81.408 116.353-265.274-42.068zM457.37 97.676v-.008.008zm-79.792 150.84c5.457.054 10.994.79 16.508 2.267 3.763 1.01 7.352 2.34 10.77 3.924-.053-.058-.102-.12-.155-.178 51.248 21.08 79.986 77.264 65.253 132.25-16.008 59.742-77.174 95.054-136.914 79.046-59.29-15.886-94.507-76.24-79.395-135.547 1.144 7.843 3.71 15.465 7.808 22.564 15.038 26.045 46.48 37.745 78.735 32.334 8.387-.382 17.33-2.932 25.75-7.793 22.18-12.807 32.317-36.774 22.642-53.53-9.676-16.76-35.5-19.966-57.682-7.16-7.3 4.214-13.283 9.64-17.697 15.618-3.05-11-3.31-22.928-.14-34.75 7.978-29.778 35.053-49.34 64.518-49.047z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Compass;

impl IconShape for Compass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.97 23l-18.032 4.844 11.656 43.468c-25.837 8.076-50.32 21.653-71.594 40.75L94.53 80.594l-13.218 13.22 31.376 31.374c-19.467 21.125-33.414 45.53-41.813 71.343l-42.313-11.343-4.843 18.063 42.25 11.313c-6.057 27.3-6.157 55.656-.345 83L23.72 308.78l4.843 18.064 41.812-11.22c6.693 21.225 17.114 41.525 31.25 59.876l-29.97 52.688-16.81 29.593 29.56-16.842 52.657-29.97c18.41 14.216 38.784 24.69 60.094 31.407l-11.22 41.844 18.033 4.81 11.218-41.905c27.345 5.808 55.698 5.686 83-.375l11.312 42.28 18.063-4.81-11.344-42.376c25.812-8.4 50.217-22.315 71.342-41.78l31.375 31.373 13.22-13.218-31.47-31.47c19.09-21.266 32.643-45.738 40.72-71.563l43.53 11.657 4.813-18.063-43.625-11.686c5.68-27.044 5.576-55.06-.344-82.063l43.97-11.78-4.813-18.063L440.908 197c-6.73-20.866-17.08-40.79-31.032-58.844l29.97-52.656 16.842-29.563-29.593 16.844-52.656 29.97c-17.998-13.875-37.874-24.198-58.657-30.906l11.783-44L309.5 23l-11.78 43.97c-27-5.925-55.02-6.05-82.064-.376L203.97 23zm201.56 85L297.25 298.313l-.75.437-40.844-40.875-148.72 148.72-2.186 1.25 109.125-191.75 41.78 41.78L405.532 108zm-149.686 10.594c21.858 0 43.717 5.166 63.594 15.47l-116.625 66.342-2.22 1.28-1.28 2.22-66.25 116.406c-26.942-52.04-18.616-117.603 25.03-161.25 26.99-26.988 62.38-40.468 97.75-40.468zm122.72 74.594c26.994 52.054 18.67 117.672-25.002 161.343-43.66 43.662-109.263 52.005-161.312 25.033l116.438-66.282 2.25-1.25 1.25-2.25 66.375-116.592z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ConcentrationOrb;

impl IconShape for ConcentrationOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.5 17.75c-125.028 2.135-223.03 231.994-9.188 461.625-197.34-240.608 9.41-548.496 174.157-289.03C287.353 66.332 222.42 16.744 163.5 17.75zm201.78 4.656c197.34 240.608-9.41 548.528-174.155 289.063C319.482 698.622 679.9 360.254 365.28 22.405zm-98.31 155.75c-42.422 0-76.814 34.392-76.814 76.813 0 42.42 34.392 76.81 76.813 76.81 42.42 0 76.81-34.39 76.81-76.81 0-42.422-34.39-76.814-76.81-76.814z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ConcentricCrescents;

impl IconShape for ConcentricCrescents {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.19 25.684c-127.62 0-231.272 103.653-231.272 231.27 0 127.62 103.653 231.275 231.27 231.275 127.62 0 231.275-103.657 231.275-231.275 0-127.618-103.656-231.27-231.274-231.27zm0 18.693c117.515 0 212.58 95.063 212.58 212.578s-95.065 212.58-212.58 212.58c-89.756 0-166.407-55.458-197.616-134.017 33.247 63.767 99.96 107.316 176.842 107.316l-.002.004c110.068 0 199.316-89.248 199.316-199.317 0-106.046-82.85-192.754-187.345-198.948 2.92-.118 5.854-.195 8.804-.195zm-25.362 1.508c83.624 11.428 148.188 83.327 148.188 170.062 0 94.667-77.078 171.172-171.746 171.172-76.475 0-141.293-50.118-163.385-119.288-.18-3.603-.274-7.23-.274-10.877 0-14.34 1.426-28.34 4.124-41.877 1.82 83.566 70.14 150.768 154.145 150.768 3.84 0 7.782-.17 11.552-.446-68.53-5.156-122.64-62.572-122.64-132.412 0-73.23 59.625-132.412 132.858-132.412 68.655 0 125.172 52.213 131.97 119.082.15-2.702.444-5.262.444-8 0-85.145-69.038-154.185-154.183-154.185-8.306 0-16.454.663-24.403 1.927 16.828-6.7 34.718-11.306 53.35-13.515zm-6.955 73.553c-2.86 0-5.794.132-8.6.332 51.024 3.838 91.31 46.586 91.31 98.587 0 54.524-44.395 98.588-98.92 98.588-51.118 0-93.194-38.875-98.257-88.664-.112 2.012-.332 3.92-.332 5.956 0 63.396 51.404 114.8 114.8 114.8 63.394 0 114.798-51.404 114.798-114.8 0-63.395-51.404-114.798-114.8-114.798zm-23.328 11.13l-.002.002c-44.363 0-80.336 35.973-80.336 80.336s35.973 80.334 80.336 80.334c2 0 4.055-.094 6.02-.232-35.705-2.686-63.897-32.602-63.897-68.99 0-38.155 31.066-68.99 69.223-68.99 35.77 0 65.215 27.2 68.758 62.042.075-1.407.23-2.74.23-4.166 0-44.363-35.97-80.336-80.333-80.336z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CondorEmblem;

impl IconShape for CondorEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.094 18.97c-62.468 0-118.465 27.977-156.156 72.06l-81.47-41.06v20.905l108.344 54.688c-1.48 4.984-2.718 10.26-2.718 16.25 0 39.773 32.436 72.7 76.437 87.687l10.064 3.438 2.094-10.438c3.905-19.485 11.652-31.05 14.062-48.22 2.126-15.148-1.23-32.572-14.938-58.81 26.516-6.19 48.084-9.652 63.875-9.22 15.152.41 24.52 3.87 30.407 10.03 4.568 4.783 7.74 12.163 8.97 23.282-9.478-.515-17.648.654-24.502 3.875-9.504 4.467-15.757 13.442-17.125 23.157-2.735 19.43 8.925 40.936 29.282 60.75l4.124 4 5.437-1.844c43.805-15.058 75.814-48.076 75.814-87.688 0-5.863-.848-11.406-2.22-16.78L492.75 70.843V49.906l-81.625 41c-37.69-44.003-93.632-71.937-156.03-71.937zm0 18.686c55.19 0 104.713 23.89 138.875 61.875l-21.845 10.97c-29.683-30.45-71.15-49.375-117.03-49.375-45.976 0-87.503 19.003-117.19 49.563l-21.874-11c34.17-38.09 83.787-62.032 139.064-62.032zm237.656 54.97l-84.344 41.718 84.344-10.594V92.625zm-475.28.405v30.814l83.468 10.5-83.47-41.313zm475.28 56.25l-82.156 8.44 82.156 17.936V149.28zm-475.28.095v26.094l81.28-17.75-81.28-8.345zm91.718 33.5l-91.72 17.28v29.94l91.72-47.22zm290.968 0l92.594 47.688v-30.22l-92.594-17.468zM121.28 205.75l-98.218 53.53c-1.868-.97-3.727-1.96-5.593-2.967v21.125c15.252 7.814 30.53 14.44 45.593 19.812 18.658 49.066 55.574 89.2 102.437 112l-54.375 83.344h22.313l95.625-146.53 3.812-5.877-4.563-5.312c-8.21-9.584-15.13-24.033-19-40.97l-2.468-10.842-10.25 4.312c-7.145 2.992-15.388 5.094-24.5 6.313l-11.906-54.594-16.47 55.625c-8.554-.403-17.552-1.388-26.874-2.97l22.062-70.625-52.594 63.625c-9.076-2.608-18.31-5.755-27.656-9.375l62.625-69.625zm266.783 0l62.875 69.875c-9.384 3.61-18.677 6.698-27.782 9.28l-52.72-63.78 22.064 70.688c-9.356 1.54-18.367 2.5-26.938 2.843l-16.406-55.562-11.844 54.28c-8.573-1.223-16.375-3.22-23.187-6.03l-10.156-4.188-2.5 10.72c-3.92 16.84-11.178 31.31-19.564 40.968l-4.625 5.312 3.876 5.906 95.594 146.532h22.313l-54.407-83.375c46.896-22.805 83.875-62.9 102.53-112 15.045-5.358 30.317-11.973 45.564-19.783v-21.156c-2.022 1.09-4.04 2.172-6.063 3.22l-98.625-53.75zm35.687 98.844c-18.555 39.012-50.223 70.545-89.344 88.906l-12.875-19.688c29.82-13.29 54.936-35.26 72.126-62.687 9.8-1.55 19.856-3.73 30.094-6.53zm-337.344.03c10.273 2.825 20.386 5.028 30.22 6.595 17.176 27.377 42.23 49.314 72 62.592l-12.845 19.72c-39.127-18.36-70.814-49.89-89.374-88.907zm157.938 84.907L215.78 492.595h28.564V389.53zm21.5 0v103.064h28.562L265.844 389.53zm-42.813 3.908l-64.31 99.156h36.56l27.75-99.156zm64.126 0l27.75 99.156h36.563l-64.314-99.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CondyluraSkull;

impl IconShape for CondyluraSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M124.813 31.5L21.593 134.688 150.44 263.53l4.687-27.28 18.438 3.156-19.875 115.78c.314-.073.62-.14.937-.217l36.03 26.53 10-129.406 18.626 1.437-10.874 141.032 38.188 28.125v-164.28l-31-84.563 40.344 15.406 40.343-15.438-31 84.563v164.313l38.22-28.157-10.906-141 18.625-1.436L321.25 381.5l36.094-26.594c.355.09.71.166 1.062.25l-20.094-115.72 18.407-3.186 4.75 27.25 128.81-128.813L387.095 31.5 255.938 74.78 124.813 31.5zm14.843 45.813l36.438 112.624L73.47 147.03l66.186-69.718zm229.72 0l66.187 69.718-102.625 42.907 36.437-112.625zm-.063 231.406l8.343 48.124c18.14-1.61 34.37-13.527 52.125-41.625-20.87 3.008-40.78.415-60.467-6.5zm-226.625.06c-19.613 6.86-39.458 9.437-60.25 6.44 17.718 28.036 33.906 39.973 52 41.624l8.25-48.063zm221.375 64.376l-37.032 27.28c14.147 15.196 34.73 19.897 70.845 11.752-14.33-10.72-25.298-23.82-33.813-39.032zm-215.813.344c-8.737 16.542-20.235 30.682-35.53 42.125 38.18 8.612 59.01 2.917 73.218-14.406L148.25 373.5zm54 39.75c.29 24.56-2.662 48.25-9.78 71.406 25.805-11.198 41.003-24.887 49.155-42.437l-39.375-28.97zm106.156.875l-39.562 29.156c8.114 17.697 23.35 31.485 49.312 42.75-7.17-23.32-10.098-47.167-9.75-71.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Conversation;

impl IconShape for Conversation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.313 21.094c-51.776 0-98.754 12.252-133.5 32.718C43.066 74.28 19.874 103.78 19.874 137.69c0 33.54 22.692 62.81 56.813 83.25L48.156 327.094l96.97-79.844c20.65 4.58 42.924 7.063 66.186 7.063 51.776 0 98.786-12.252 133.532-32.72 34.746-20.466 57.937-49.997 57.937-83.905s-23.19-63.41-57.936-83.875c-34.746-20.467-81.756-32.72-133.53-32.72zm0 18.687c48.8 0 92.866 11.77 124.03 30.126 31.165 18.357 48.75 42.447 48.75 67.78 0 25.338-17.585 49.457-48.75 67.814-31.164 18.357-75.23 30.125-124.03 30.125S118.445 223.857 87.28 205.5c-31.163-18.357-48.718-42.476-48.718-67.813 0-25.336 17.555-49.424 48.72-67.78C118.445 51.55 162.51 39.78 211.31 39.78zM96.53 89.938v18.688h93.126V89.937H96.53zm111.814 0v18.688h28.094V89.937h-28.094zm46.78 0v18.688h71.97V89.937h-71.97zM96.532 129.844v18.72h29.657v-18.72H96.53zm48.345 0v18.72h65.938v-18.72h-65.938zm84.656 0v18.72h38.095v-18.72H229.53zm56.782 0v18.72h40.782v-18.72h-40.78zM96.532 166.78v18.69h70.874v-18.69H96.53zm89.562 0v18.69h57.03v-18.69h-57.03zm75.72 0l-.002 18.69h65.282v-18.69h-65.28zm92.342 90.25c-74.88 0-135.594 41.762-135.594 93.283 0 51.52 60.716 93.28 135.594 93.28 18.23 0 35.623-2.48 51.5-6.968l68.53 51.156-24.873-71.03c24.947-16.918 40.437-40.432 40.437-66.438 0-51.518-60.714-93.28-135.594-93.28zm-70.344 42.345h32.907v18.688H283.81v-18.688zm51.594 0h90.344v18.688h-90.344v-18.688zm-78.97 41.75h78.314v18.688h-78.313v-18.688zm97.002 0h20.968v18.688h-20.97l.002-18.688zm39.656 0h51v18.688h-51v-18.688zm-109.28 39h79.06v18.688h-79.062v-18.688zm97.748 0h44.188v18.688h-44.188v-18.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CoolSpices;

impl IconShape for CoolSpices {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M170.344 13.625l-17 22.72 17 22.718 17.03-22.72-17.03-22.718zM375.25 21.22l-22.313 29.75 22.313 29.78 22.28-29.78-22.28-29.75zm-130.28 18.5l-22.282 29.75 22.28 29.75 22.313-29.75-22.31-29.75zM54.03 43.093l-17 22.718 17 22.72 17.032-22.72-17.03-22.718zm391.126 24.843l-13.594 29.407-29.437 13.594 29.438 14.156 13.593 28.844 13.563-29.407 29.436-13.593-28.875-13.593-14.124-29.406zm-300.812 13.22l-17.063 36.968-36.968 17.063 36.97 17.78 17.062 36.25 17.03-36.968 36.97-17.063-36.25-17.062-17.75-36.97zm208.594 9.218l-22.313 29.75 22.313 29.78 22.28-29.78-22.28-29.75zM252.78 153.5l-18.5 24.688 18.5 24.718 18.5-24.72-18.5-24.686zm103.032 31.063l-14 30.375-30.375 14 30.375 14.593 14 29.814 14.032-30.375 30.375-14.032-29.783-14-14.625-30.375zM85.406 191.53l-17.03 22.69 17.03 22.718 17-22.72-17-22.687zm94.125 27.064l-17 22.72 17 22.717 17.032-22.717-17.03-22.72zm72.657 24.062c-7.673.11-14.296 4.334-21.687 10.03-46.035 35.503-104.323 87.027-105.03 115.814-8.237.98-15.564 5.264-15.564 12.813 0 11.258 15.384 15.297 26.625 12.25-.138.687-.218 1.404-.218 2.156 0 16.076 31.4 17.454 37.25 4.467 34.6 9.25 77.038 10.805 115.813 6.157 2.352 14.95 33.956 15.173 37.688 1.03 10.247 7.523 28.91 7.963 40.218 1.376 10.675 6.772 32.408 3.443 32.408-9.813 0-1.963-.465-3.7-1.313-5.218 5.86-2.54 10.063-6.99 10.063-13.376 0-14.332-21.145-18.725-34.72-13.594-4.536-31.173-59.7-84.754-100.874-115.688-8.093-6.08-14.688-8.492-20.656-8.406zM76.72 355.062c-10.75.023-21.5 5.02-21.5 14.907 0 19.773 43 19.4 43 0 0-9.978-10.753-14.93-21.5-14.908zm390.436 13.032c-9.547.042-19.094 4.416-19.094 13.03 0 17.73 38.188 17.568 38.188 0 0-8.783-9.547-13.072-19.094-13.03zm-428.75 15.72c-9.547.018-19.093 4.434-19.093 13.217 0 17.57 38.187 17.234 38.187 0 0-8.862-9.547-13.237-19.094-13.217zm411.72 23.498c-10.75.023-21.5 5.02-21.5 14.907 0 19.775 42.968 19.4 42.968 0 0-9.98-10.72-14.93-21.47-14.908zm-273.845 6.594c-6 .013-11.994 1.765-15.624 5.25-11.234-4.884-29.875-1.086-29.875 11.188 0 14.306 25.317 16.71 34.72 7.812 11.234 4.8 29.875 1.01 29.875-11.03 0-8.864-9.547-13.24-19.094-13.22zm87.22 1.594c-9.547.042-19.094 4.415-19.094 13.03 0 17.727 38.188 17.57 38.188 0 0-8.782-9.547-13.072-19.094-13.03zm-192 9.375c-9.547.02-19.094 4.435-19.094 13.22 0 17.566 38.188 17.23 38.188 0 0-8.865-9.547-13.24-19.094-13.22zM370 438.063c-9.547.04-19.094 4.446-19.094 13.062 0 9.873 11.848 14.203 22.344 13.063-.717 1.552-1.094 3.284-1.094 5.187 0 18.818 36.526 20.522 43.75 5.53 10.313.833 21.625-3.56 21.625-13.124 0-14.715-26.8-16.88-35.5-7.06-4.325-.91-9.065-.96-13.467-.19.345-1.054.53-2.18.53-3.405 0-8.784-9.546-13.104-19.093-13.063zm-150.906 3.5c-10.948.048-21.875 5.09-21.875 14.968 0 20.33 43.78 20.146 43.78 0 0-10.07-10.958-15.016-21.906-14.967zm100.594 17.687c-12.55.026-25.094 5.86-25.094 17.406 0 23.09 50.187 22.65 50.187 0 0-11.65-12.544-17.432-25.092-17.406zm-153 6.72c-10.948.047-21.907 5.087-21.907 14.967 0 20.328 43.782 20.145 43.782 0 0-10.072-10.927-15.016-21.875-14.968z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CorkedTube;

impl IconShape for CorkedTube {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M342.072 9.492l7.877 4.55c-3.83 6.624-18.15 31.747-25.464 57.745-3.656 13-5.433 26.102-3.857 36.58 1.574 10.478 5.677 18.082 15.31 23.637 9.382 5.408 17.99 5.178 27.902 1.336 9.913-3.842 20.485-11.84 30.06-21.403 19.138-19.113 34.27-44.025 38.127-50.695L342.07 9.492zm-31.006 30.912l-4.656 8.102c-65.54 114.04-127.84 220.083-192.724 331.85-21.68 37.343-14.265 83.987 19.226 103.228 33.492 19.242 77.81 2.41 99.324-35.072 64.292-111.995 126.706-217.98 192.727-331.852l4.705-8.117-5.225-3.002c-5.17 6.54-10.985 13.28-17.334 19.62-4.526 4.52-9.317 8.85-14.376 12.748C334.977 237.35 256.794 371.864 218.814 438c-16.704 29.078-50.333 43.54-76.033 28.78-12.85-7.38-20.423-20.697-22.5-35.155-2.075-14.458 1.03-30.36 9.44-44.844 37.22-64.13 114.514-197.106 172.124-296.608.803-7.887 2.495-15.78 4.652-23.445 2.366-8.41 5.33-16.568 8.43-24.106l-3.86-2.216zm-57.03 169.48c-42.186 72.684-83.947 144.55-108.16 186.272-6.41 11.04-8.512 22.943-7.095 32.813 1.42 9.868 6.04 17.415 13.314 21.592 14.55 8.357 37.802.232 50.5-21.875 28.334-49.335 78.162-135.183 126.732-218.804h-75.29z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CornerExplosion;

impl IconShape for CornerExplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M293.324 20.738l-5.256 162.94L141.478 60.45l47.157 112.16L67.86 91.446 189.37 221.64 21.17 158.567 174.77 304.57l-113.885 2.92 160.02 77.09-127.9 14.602L196.91 435.81l-39.666 10.676 124.395 30.37-36.208 20.44h244.12v-91.835l-74.345-188.675 74.346 107.865v-44.025l-20.112-154.42-17.323 84.563L403.12 55.193 377.33 141 343.295 35.92l6.68 106.877-56.65-122.06zm12.133 116.823l73.764 121.56 15.376-30.233 38.836 141.656-73.946-103.967 9.682 76.022-77.018-20.64 102.518 91.044-33.8 6.584 93.515 53.76-202.012-61.412 64.49-21.9-113.56-57.97 74.012 13.08L156.25 242.18l126.86 37.164-19.96-60.555 69.795 44.25-27.488-125.48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cowled;

impl IconShape for Cowled {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.1 18.63c-81.4 0-231.43 155.97-171.63 300.77 8 25.3 27.83 50.4 49.13 77.1 24.4 30.6 51.6 63.2 68.7 96.9h20.5c-18.1-39.8-48.5-75.9-74.6-108.6-27.4-34.3-48.73-65.2-48.73-87.9.1-9.1 2.23-18.1 5.53-26.3 23-61.4 114-119.7 148.5-135l3.6-2 3.9 1.3c60.9 20.9 129.3 66.7 154 135.7 4.1 11.7 5.9 18 5.6 27.3-.5 15.8-24.5 54.7-55 88.7-29.1 32.4-62.4 67.7-80 106.7h20.5c16.8-32.2 46.2-64 73.3-94.2 23.2-25.6 45.3-50 54.9-74.8 52.9-124-99.2-305.67-178.2-305.67zm.8 135.47c-38.7 21.5-85.1 52.2-113.7 88.2 9.7 83 59 146.1 118.3 146.1 59.2 0 108.3-62.7 118.2-145.3-28.9-42.1-78-72.9-122.8-89zm-58.3 83h2.4c13.1.1 26.1 2.7 39.1 7.4-16.8 40.6-59 42-78.1 0 12.2-4.8 24.4-7.2 36.6-7.4zm124.9 0c13-.1 26 2.3 39.1 7.4-19.2 42-61.3 40.6-78.2 0 13.1-4.7 26.1-7.3 39.1-7.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CpuShot;

impl IconShape for CpuShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M350.4 37.6l-283.78 76c2.87 10.8 5.76 21.5 8.65 32.3l-39.06 10.5 7.83 29.2-28.63 7.7 4.84 18 28.62-7.7 2.87 10.7 39.04-10.5 6.48 24.3-31.04 8.3 7.82 29.2-28.64 7.7 4.84 18 28.62-7.7 2.89 10.8 31.05-8.3 8.3 31-34.88 9.3 7.82 29.2-28.64 7.7 4.84 18 28.62-7.7 2.84 10.8 34.9-9.4 8.3 31-38.7 10.4 7.8 29.2-28.6 7.7 4.85 18 28.55-7.7 2.9 10.8c119-32 244-65.4 346.7-93l-2.9-10.8 31.1-8.3-4.8-18-31.1 8.3-7.8-29.1-24.2 6.5-8.3-31.1 28-7.5-2.9-10.8 31.1-8.3-4.8-18-31.1 8.3-7.8-29.1-28 7.5-8.3-31 31.8-8.5-2.9-10.9 31.1-8.3-4.8-18-31.1 8.3-7.8-29.1-31.8 8.5-6.5-24.2 23.8-6.4-2.9-10.8 31.1-8.3-4.8-18-31.1 8.4-7.9-29.2-23.8 6.4zm-13.3 22.8l84.8 316.4-247.7 66.4-84.74-316.5zm-144.9 65.3c6.2 37.5 5.8 66.6-13.5 81.8-10.8.2-25.3-2.1-44.4-7 12.3 4.1 22 9.1 29.3 14.8-7.9 2.5-17.6 3.9-29.3 3.9 48.6 0 50.4 37.3 14.9 74.7 36.4-11.6 74.4-4.2 71 37.4 3.1-6.8 6.5-12.3 10.3-16.7 6.8 13 10.1 30.8 8.4 54.1 9.3-37.1 22.2-55.7 39-58.4 8.7 4.7 18.1 11.7 28.3 21-3.9-6.4-6.9-12.4-9.2-17.9 13.1 5.6 28 18 44.7 36.6-29.9-56.1-13.1-93.5 22.4-112.2-33.6-18.6-50.4-18.6-46.7-112.1-8.3 16.6-18.8 28.2-30.4 35.5.1-5.3 4.5-24.4 4.8-30.4-20.6 37.4-51.2 49.5-82.5 19.8-6-6.5-11.7-14.8-17.1-24.9zm58.7 59.9c23.4-.3 44.8 15.2 51.1 38.8 2.8 10.4 2.3 20.9-.9 30.3-9.5 4-19.5 5.6-28.5 4.2-12.6-1.9-23.4-8.7-30.7-24.8-11-31.1-.2-24.9-16.1-24.3v-17.5c7.9-4.3 16.6-6.7 25.1-6.7zm-35.5 14.3c-.4 34.5 20 71.7 54.3 77.5 5.2.8 10.5.9 15.8.4-5.8 4.9-12.7 8.7-20.5 10.8-28 7.5-56.7-9-64.2-37-5.2-19.3 1.1-39 14.6-51.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crab;

impl IconShape for Crab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.03 60.03C168.74 59.907 68.5 103.35 19.564 202.563c58.543-9.985 113.65 6.082 165.75 34 70.184-39.588 144.73-44.868 214.5-18.875 10.514-41.038 42.6-63.99 89.468-74.5-54.013-53.032-137.15-83.052-220.25-83.156zm72.126 163.407c-11.402 0-20.594 9.247-20.594 21.094 0 11.85 9.193 21.096 20.594 21.096 11.4 0 20.594-9.246 20.594-21.094 0-11.846-9.192-21.093-20.594-21.093zm-82.812 4.188c-11.402 0-20.594 9.246-20.594 21.094 0 11.845 9.193 21.092 20.594 21.092 11.4 0 20.594-9.247 20.594-21.094 0-11.85-9.192-21.095-20.594-21.095zm201.47 4.188c-4.164.11-8.78 1.334-13.94 3.812-11.792 5.665-25.755 18.744-38.624 40.813L404 282l-6.344-1.063c-27.112-4.514-46.836-.19-64.062 11.813-13.355 9.305-25.297 23.88-36.594 43.375 21.91-4.96 44.527-8.67 68.5-8.313l1.625.032c7.183-5.527 14.684-12.313 22.75-20.813-5.452 13.003-10.846 26.15-17.938 37.91-.017.032-.044.06-.062.092-10.86 19.943-33.42 36.072-55.594 49.72 30.027 21.8 61.94 26.562 90 18.906 31.256-8.527 57.875-32.584 70.565-67.656 10.892-30.1 14.177-55.068 12.562-73.625-1.614-18.557-8.06-30.293-15.47-35.875-3.703-2.79-7.76-4.426-12.373-4.656-.577-.03-1.156-.047-1.75-.03zM52.31 268.406c-16.702.463-26.298 6.886-31.28 17.25-5.316 11.055-5.09 28.77 4.812 50.906 9.902 22.137 29.235 48.22 59.843 74.938 35.545 31.025 79.76 41.25 119.563 31.28 36.588-9.163 69.667-35.298 89.125-79.905-20.686-.45-39.67-1.264-56.656-6.28-.13-.03-.25-.065-.376-.095-30.142-7.197-48.195-22.108-71.22-44.906 17.366 9.184 32.465 14.25 46 16.594l.127-.063c25.762-15.026 38.305-20.79 59.5-27.156-48.484-31.7-90.278-26.67-129.22-3.284l-2.218 1.344h-5.344l-2.314-1.467c-31.643-20.31-58.067-28.794-76.906-29.157-1.177-.022-2.324-.03-3.438 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrabClaw;

impl IconShape for CrabClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.656 22.375l-48.47 82.094c-23.017 4.384-43.547 11.782-60.124 22.374-24.436 15.613-40.572 37.414-45.5 67.875-4.79 29.62 1.568 68.087 24.125 116.093 93.162 22.88 184.08-10.908 257.25-18.813 37.138-4.012 71.196-.898 96.344 22.97 22.33 21.19 36.21 56.808 41.908 113.436 29.246-35.682 44.538-69.065 49.343-99.594 5.543-35.207-2.526-66.97-20.31-95.593-8.52-13.708-19.368-26.618-32-38.626l14.217-33-41.218 10.625c-8.637-6.278-17.765-12.217-27.314-17.782l-7.03-59.782-38.157 37.406c-12.418-5.186-25.184-9.804-38.158-13.812l-8.375-71.28-57.625 56.5c-9.344-1.316-18.625-2.333-27.812-2.97l-31.094-78.125zM222 325.345c-39.146 7.525-82.183 14.312-127.156 11.686 47.403 113.454 207.056 224.082 260.125 87-101.18 33.84-95.303-49.595-132.97-98.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedAlienSkull;

impl IconShape for CrackedAlienSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.9 22.74h-.5L293 62.75l104.8 26.06 32-30.39c-51.7-27.87-117.3-36.95-172.9-35.68zm-25.4.55c-42 1.81-80.4 8.19-112.5 19.42-38.47 13.45-68.31 34-82.82 62.99-24.01 48-17.3 98.4-3.49 146.6l1.48 5.1 5.21 1.3c35.4 9 66.82 21.6 94.52 37.5 43.1 33.5 63.5 74.6 64.8 127.6.7 29.9 9.8 62.8 28 75.3-1.1-20.2.6-62.9 5.3-81.2l23.9 81.8 24.5-83.5c5 18.7 6.4 62.1 5.3 82.9 18.1-12.5 27.3-45.4 28-75.3 1.3-51.4 20.6-91.7 61.1-124.7 28.9-17.3 62-30.8 99.5-40.4l5.2-1.3 1.5-5.1c13.8-48.2 20.5-98.6-3.5-146.6-7.1-14.25-17.9-26.44-31.6-36.77l-34 32.27-39.8 84.3 15.6-79.9-96.1-23.93c-32.6 11.71-57.1 31.13-74.5 60.93l59 75.4-112.2 32.5c8.6 17.5 15.2 36.3 19.6 56.6-37-29.1-81.7-51-134.16-65-11.12-40.4-15.83-79.4-1.53-116.6 14.49 10.1 28.22 20.6 41.02 31.6 23.97-40 55.97-64.72 101.87-81.04-38.9 30.14-63.7 59.64-76.9 104.54 15.8 16.4 29.6 33.9 41 53l89.5-25.9-49.6-63.4 2.9-5.3c17.5-32.7 43.2-55.75 75.7-70.08l-41.8-45.63zM465.9 125.5c14.3 37.2 9.6 76.2-1.5 116.6-52.5 14-97.2 35.9-134.1 65 25.6-79.3 80.9-142.9 135.6-181.6zM316.4 274.9l-59 121.5-59.1-121.5 59.1 65.5c19.7-21.8 39.3-43.7 59-65.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedBallDunk;

impl IconShape for CrackedBallDunk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M195.938 20.438C96.6 21.47-5.517 164.667 29.813 458.938c7.368-370.195 187-461.348 252.875-248.782-.724.372-1.448.762-2.157 1.156l-80.78-58L248 246.188c-2.173 4.416-3.97 9.074-5.438 13.907L120.22 255.28l119.06 47.814c.304 2.26.674 4.534 1.126 6.812.383 1.928.837 3.83 1.313 5.72l-76.44 85.25L268.157 365c.916 1.003 1.864 1.974 2.813 2.938l-16.97 116 72.97-87.313c4.53.546 9.093.754 13.717.53l78.094 97.595-25.592-122.375c1.513-1.67 2.965-3.387 4.343-5.188l101.095-4.03-82.813-46.75c.43-7.072.143-14.343-.937-21.72l78.063-67.968-94.344 23.75c-2.162-3.464-4.484-6.8-6.97-9.97l30.938-91.063-66.937 61.532c-1.885-.926-3.785-1.803-5.72-2.595C328.46 84.762 264.238 21.238 198.282 20.437c-.78-.01-1.56-.008-2.343 0zM316 220.594c.584-.012 1.168-.005 1.75 0 21.907.178 43.736 12.245 59 31.47l-45.938 25.53-13.187-16.625-5.47-6.908-7.217 5.063-47.907 33.78c-2.07-38.124 20.407-68.303 53.72-71.967 1.74-.192 3.498-.31 5.25-.344zm70.906 47.22c3.957 7.708 6.95 16.112 8.72 25.03 1.7 8.574 2.16 16.875 1.562 24.72l-39.72-6.345-.593-.75-14.28-18.033 44.31-24.625zm-78.437 11.686l29.967 37.844-28.843 55.03c-22.418-10.077-41.54-31.73-49.156-59l48.03-33.874zm44.717 49.97l40.407 6.467c-7.628 23.216-26 39.61-50 42.25-5.258.58-10.54.418-15.78-.375l25.373-48.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedDisc;

impl IconShape for CrackedDisc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.344 20.063c-10.24 0-20.324.65-30.22 1.906l28.532 69.093 44.844 33.124 68.25-11.53-42.625 30.468 42.938 31.75-84.313-13.344 27.125 65.657 70.844 36.25-66.095-1.28-50.656.843 10.342 21.906 45.032 32.188-32.406-5.47 59.843 126.72-84.81-88.53-50.126 22.936 33.312-40.5-49-51.156-76.875 35.156 51.095-62.094-61.22-63.906 90.907 5.72L114.188 68C56.94 111.312 20 180.002 20 257.406c0 131.19 106.154 237.344 237.344 237.344s237.344-106.154 237.344-237.344S388.533 20.062 257.344 20.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedGlass;

impl IconShape for CrackedGlass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.188 17.406L74.624 68.72l4.938 2.155L119 88.03l48.844-70.624H19.188zm171.406 0L136.5 95.626l38.063 16.53 1.875.813 1.343 1.5 62.157 69.218 25.532 25.968 8-25.53-.095-.032L303.97 82.72l-19.626-65.314h-93.75zm113.28 0l17.407 58.063 105.345-21.5-7.313-36.564H303.875zm134.5 0l8.407 42.032 1.814 9.124-9.125 1.844-119.626 24.406-16.47 54.626 47.72 56.062 142.625-95.938V17.406h-55.345zM18.907 42.594v168.03l69.03-26.03L68 87.75l-.156.188-48.938-45.344zm69.72 52.593l18.468 89.626 51.22 19.312 35.624-43.656-28.72-32-76.593-33.282zm405.093 36.876L337.53 237.188l-13.717 10.53 169.906 105.845v-221.5zm-396.533 69l-78.28 29.53v166.938l181.5-103.874 47.124-33.344-37.843-16.968-.03.094-57.47-21.657-4.03-1.155-2.282-1.22-48.688-18.343zm242.875 78.78l-5.406 5.782-44.5 47.625-4.844 57.313 68.813 92.562L493.72 423v-47.406l-153.658-95.75zm-151.375 42.094l-65.593 37.532L224.28 492.22h113.314l-69.375-93.376-2.095-2.813.28-3.53 4.033-47.72-81.75-22.842zm-81.968 46.875l-87.814 50.25v73.157H200.78L106.72 368.81zm387 74.532L380.25 492.22h113.47v-48.876z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedHelm;

impl IconShape for CrackedHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.03c-20.017 6.62-39.933 15.483-59.25 26.407l80.97 62.813-22.19 22.344 79.657 60.562-149.406-46.47 30.595-29.405-81.28-25.686c-20.255 18.034-38.886 38.7-55.032 61.812 21.454 57.967 32.843 94.84 32.843 132.094 0 36.768-11.184 73.342-32.094 130C131.52 455 182.796 476.72 234 482.03c17.09-74.624 14.146-149.25 1.03-223.874-31.348 3.477-62.62 13.448-94.28 30.03v-71.31c34.855-9.803 71.26-13.905 107.438-14.157 46.513-.325 92.643 5.714 134.593 14.155v71.313c-31.484-15.732-62.28-25.594-92.75-29.5-11.7 74.133-11.706 148.24 1.376 222.375 47.406-6.535 94.89-27.41 142.094-63.72-34.54-114.55-34.35-146.13.656-261.812C392.203 90.048 318.514 45.07 256 23.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedMask;

impl IconShape for CrackedMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.25 19.656c-34.16 0-66.38 9.506-94.75 26.344l68.188 47.844-15.313 42.53 82.03 93.407L183.5 156.313l.22-54.968-66.845-23.625c-28.81 28.75-50.6 66.493-61.97 109.436-6.075 34.104 5.67 67.812 29.22 90.75-1.25-7.402-1-15.176 1.063-22.875 6.26-23.364 27.1-39.113 50.124-40.06.665-.03 1.332-.03 2-.032 4.05-.018 8.156.408 12.25 1.343l.032-.093c61.34 16.437 98.998 77.615 87.28 139.032 6.477-.402 12.953-.626 19.44-.626 4.295 0 8.58.105 12.873.28-11.51-61.3 26.12-122.28 87.344-138.687l.033.125c3.422-.79 6.852-1.263 10.25-1.375.67-.02 1.333-.037 2-.03.666.006 1.335.034 2 .062 23.023.947 43.895 16.696 50.156 40.06 2.062 7.7 2.315 15.474 1.06 22.876 20.526-19.993 32.086-48.167 30.69-77.656C430.923 96.642 349.435 19.656 252.25 19.656zM46.062 255.906C46.1 311.113 62.733 361.88 90.5 402.062c39.134-24.48 82.53-39.502 126.875-45.03 8.79-35.65-2.307-71.59-26.438-96 1.086 7.14.763 14.604-1.218 22-7.707 28.757-37.525 45.955-66.282 38.25-1.42-.38-2.796-.828-4.157-1.313-33.404-10.436-59.297-34.338-73.218-64.064zm412.344 3.47C444.122 287.518 418.93 309.99 386.78 320c-1.34.476-2.696.907-4.092 1.28-28.758 7.707-58.545-9.49-66.25-38.25-1.985-7.404-2.31-14.88-1.22-22.03-23.965 24.24-35.08 59.87-26.624 95.28 44.495 4.587 88.188 18.693 127.78 42.283 25.778-38.76 41.338-86.902 42.032-139.188zM256.312 373.187c-53.683-.005-107.364 14.603-154.593 43.843 37.623 46.002 91.143 74.75 150.53 74.75 60.783 0 115.42-30.124 153.156-78.03-45.88-27.037-97.478-40.558-149.094-40.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedSaber;

impl IconShape for CrackedSaber {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494.72 14.25C464 45.883 422.17 77.54 379.5 100.875c.595 7.333.68 14.613.28 21.813l76.908 67.062c23.812-50.01 37.816-108.077 38.03-175.5zM361.31 110.313c-33.945 16.532-67.536 27.05-95.562 27.343.437 68.376-140.326 159.185-251.938 213.438v50.844c101.23-32.865 193.023-77.914 256.563-130.782 58.435-48.62 92.51-102.763 90.938-160.844zm15.657 34.718c-5.71 29.013-19.22 56.772-38.814 82.876l3.156 28 83.97-12.25c8.167-11.697 15.735-23.928 22.656-36.72l-70.97-61.905zm-55.345 102.94c-11.674 12.995-24.837 25.543-39.28 37.56-24.68 20.535-53.16 39.722-84.47 57.47l60.563 44.438c25.585-14.042 50.32-29.836 73.53-47.625l-10.343-91.844zm87.78 16.905l-66 9.625 5.814 51.47c21.875-18.363 42.155-38.643 60.186-61.095zm-229.592 88.063c-9.147 4.86-18.51 9.6-28.063 14.218l16 62.063c24.345-9.377 48.614-20.028 72.313-32.095l-60.25-44.188zM134.53 375.28c-37.93 17.356-78.593 32.814-120.718 46.25v52.533c42.832-9.02 89.48-21.387 136.344-38.282l-15.625-60.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrackedShield;

impl IconShape for CrackedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.156 25.78c30.55 26.034 52.813 95.137 52.813 176.47 0 44.36-6.922 84.657-17.814 116.688 31.134 71.43 85.946 122.39 179.906 175.28 91.558-48.747 144.024-96.565 173.75-167.593-12.5-33.06-20.28-76.47-20.28-124.375 0-81.333 22.262-150.436 52.812-176.47-41.924 9.324-83.858 16.318-125.78 20.595L277.904 181.72l46.47 20.655L209.312 391.72l41.468-169.595-22.53-10.25-71.375 19.938 59.406-50.22L259.938 51.22c-68.92.347-137.86-7.508-206.78-25.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crags;

impl IconShape for Crags {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.375 17.47c-132.537 0-240.188 107.618-240.188 240.155s107.65 240.188 240.188 240.188c132.537 0 240.188-107.65 240.188-240.188 0-132.537-107.65-240.156-240.188-240.156zm0 18.686c60.246 0 114.816 23.992 154.72 62.938l-61.626 29.875-21 263.217-.5 6.313-6.033 1.875-96.312 30.063-12.063 44.53c-6.15-1.202-12.23-2.644-18.187-4.343l13.563-50 1.343-4.97 4.876-1.53 21.344-6.656 30.594-247.19.937-7.593 7.595-.593L329.22 148l2.06-25.875.44-5.344 4.81-2.31 10.22-4.94-58.938-21.905-69.437 41-20.78 138.094-.97 6.592-6.563 1.22-10.875 2.03-28.593 175.782c-5.914-3.216-11.647-6.714-17.22-10.438L153.5 318.25l-81.875 5.125L58.845 358c-15.325-30.126-23.97-64.225-23.97-100.375 0-122.436 99.064-221.47 221.5-221.47zm71.344 130.688l-43.033 3.28-28.562 231.22 54.22-16.938 17.374-217.562zm133.342 5.97c2.374 5.73 4.512 11.568 6.407 17.53l-49.408 19.78-30.125 225.75c-5.78 4.273-11.776 8.266-17.968 11.97l-2.44-.313 32.72-245.31.72-5.407 5.06-2.032 55.033-21.968zm-277.75 63.405l-61.343 1.124-14.69 65.062 49.282-3.094 5.25-32.25 1.032-6.5 6.47-1.187 10.81-2 3.19-21.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrenulatedShield;

impl IconShape for CrenulatedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.063 17.406v99.938l63.656 60.312 2.936 2.78v185.25c33.96 43.39 82.572 83.76 148.906 122.627 67.823-39.784 116.793-81.943 150.688-126.094V180.436l2.906-2.78 63.656-60.282v-99.97h-58.968V85.157h-66v-67.75h-58.97v67.75H228.47v-67.75h-59v67.75H104.06v-67.75h-59zm56.656 100.47h160.03v152.75H148.437v-108.97l-46.718-43.78zM262.312 271.81h112.156v73.813c-24.952 33.1-61.87 64.714-112.158 94.03V271.814z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrescentBlade;

impl IconShape for CrescentBlade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.28 21.063c-24.122.484-47.878 3.458-70.842 12.03-37.63 19.32-62.66 47.922-77.25 80.657-17.92 40.2-19.778 86.857-7.907 129.375 11.872 42.518 37.413 80.685 73.564 104.344 36.15 23.658 82.9 33.273 139.437 18.124 49.788-13.34 84.084-39.724 105.22-72.5-40.578 39.626-87.157 50.514-129.72 42.53.355 4.273-1.045 8.797-5.03 12.782-14.993 14.994-37.682-6.296-25.47-21.937-7.792-3.25-15.333-7.136-22.56-11.564.353 6.09-1.747 12.496-7.407 18.156-22.827 22.825-57.854-11.836-34.844-34.843 3.755-3.758 7.824-5.972 11.905-6.94-5.89-5.733-11.39-11.848-16.406-18.342-1.197 3.838-3.45 7.635-6.97 11.156-24.527 24.53-62.16-12.715-37.438-37.438 5.795-5.794 12.287-8.178 18.5-8.094 1.947.027 3.855.303 5.72.782-3.78-8.418-6.798-17.15-9-26.094-.315.346-.63.69-.97 1.03-22.037 22.04-55.838-11.442-33.625-33.655 4.86-4.86 10.264-7.043 15.5-7.25 5.404-.213 10.646 1.668 14.938 4.875.096-10.918 1.498-21.948 4.375-32.97-21.187 10.068-46.195-18.74-26.375-38.56 4.835-4.836 10.195-7.014 15.406-7.22 9.807-.388 19.05 6.17 23.095 14.97 3.705-6.967 8.047-13.87 13.125-20.657-11.227-8.926-16.18-25.978-2.78-39.376 5.405-5.406 11.422-7.832 17.25-8.062 14.305-.566 27.54 12.086 28.186 26.28.002.01-.002.023 0 .032.672 3.81.56 7.835-.53 11.813-6.884 12.19-10.845 26.23-10.845 41.188 0 46.38 37.808 84.187 84.19 84.187 46.38 0 84.186-37.807 84.186-84.188 0-24.64-10.668-46.84-27.625-62.25-.04-.042-.083-.082-.124-.124-26.91-28.15-59.756-40.408-100.875-42.25zm-119.405 22.75c-22.716 11.384-44.986 27.36-66.22 48.593-25.695 25.696-43.75 52.932-55.28 80.625.032.002.062 0 .094 0 25.795.353 47.928 33.98 24.06 57.845-12.584 12.586-27.892 12.384-39.593 5.594-1.814 22.698.213 45.16 5.438 66.81 1.98-3.397 4.517-6.735 7.72-9.936 9.432-9.433 20.01-13.294 30.124-13.156 33.04.45 61.38 43.525 30.81 74.093C79.11 368.203 62.59 369.9 48.688 364.5c12.18 21.532 27.608 41.346 45.438 58.688-.082-11.887 4.515-24.266 15.594-35.344 11.174-11.175 23.672-15.757 35.655-15.594 39.145.534 72.78 51.565 36.563 87.78-5.612 5.613-11.576 9.534-17.657 12.033 24.31 11.47 50.393 18.92 77.22 21.343-14.23-17.857-17.477-44.147 3.875-65.5 10.965-10.965 23.21-15.44 34.97-15.28 33.07.45 62.117 37.616 46.874 70.624 18.357-6.228 36.57-15.218 54.31-27.28-22.052-10.2-35.482-40.3-12.655-63.126 7.933-7.934 16.763-11.506 25.313-11.844 17.53-.693 33.94 12.152 39.437 28.53 8.946-10.213 16.767-20.635 23.5-31.217-17.517-3.728-30.638-26.613-13.78-43.47 5.604-5.605 11.894-7.894 17.905-7.812 6.565.09 12.795 3.036 17.53 7.564 15.517-42.757 15.835-86.495 5.033-127.188-.453 2.866-1.018 5.728-1.657 8.594-.002.02.002.042 0 .063-6.593 73.12-52.39 142.77-145.03 167.593-61.007 16.346-114.068 5.92-154.532-20.562-40.464-26.482-68.357-68.535-81.313-114.938-12.955-46.403-11.056-97.354 8.845-142 10.286-23.076 25.48-44.397 45.75-62.344zM319.72 60.218c36.278 0 65.5 29.188 65.5 65.468s-29.222 65.5-65.5 65.5c-36.28 0-65.5-29.22-65.5-65.5s29.22-65.47 65.5-65.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrestedHelmet;

impl IconShape for CrestedHelmet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M207.47 18.875l35.968 162.25c.29 1.087.86 1.863 2.562 2.813 1.7.95 4.433 1.66 7.22 1.656 2.785-.003 5.543-.703 7.25-1.656 1.704-.954 2.276-1.75 2.56-2.813L299 18.875h-91.53zm88.936 98.03l-15.22 68.657-.06.22-.032.187c-1.747 6.52-6.404 11.432-11.5 14.28-5.096 2.848-10.738 4.026-16.344 4.03-5.606.007-11.24-1.15-16.344-4-5.104-2.847-9.782-7.784-11.53-14.31l-.032-.19-.063-.218-14.686-66.218C175 133.818 147.157 164.56 135.53 202.97c8.044 4.25 19.254 9.84 32.314 15.468 26.527 11.43 60.506 22.55 88.5 22.406 28.003-.145 61.81-11.56 88.156-23.22 13.467-5.96 24.914-11.872 32.938-16.25-12.624-39.968-42.853-71.398-81.032-84.468zm88.97 101.376c-8.365 4.538-19.865 10.487-33.313 16.44-27.522 12.18-62.797 24.673-95.625 24.843-32.838.17-68.293-12-96-23.938-13.614-5.866-25.276-11.744-33.72-16.22-.51 70.485-3.647 138.64 9.626 188.376 7.135 26.737 18.683 47.874 37.375 62.595 12.092 9.525 27.443 16.584 47.25 20.375V330.125c-28.654 16.12-67.847 2.81-81.064-30.625 8.825-22.322 30.127-33.074 50.78-33 24.583.087 48.224 15.532 48.876 45.094h.094v89h36.03l.002-87.72c-.01-.01-.023-.018-.032-.03 0-.422.022-.834.03-1.25.655-29.562 24.327-45.007 48.908-45.094 20.654-.074 41.926 10.678 50.75 33-13.204 33.403-52.324 46.702-80.97 30.656v160.47c19.544-3.867 34.6-11 46.438-20.595 18.396-14.908 29.6-36.337 36.375-63.342 12.59-50.184 8.804-118.532 8.188-188.407z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrocJaws;

impl IconShape for CrocJaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.53 23.844L21.47 42.937v391.47l81.155-21.157 15.25 34.844L193.75 418l20.375 40.75 67.03-29.47 19.064 37.345 73.81-29 28.626 45.438 78.28-78.563-34.592.813-7.28.156-1.94-7.033L425.5 356.22l-.813.467-.406-1.062-52.717 40.25-11.844 9.03-2.97-14.592-8.78-43.188-46.5 36.5-11.47 9-3.406-14.188-11.25-47.406-52.53 25.69-10.283 5-2.874-11.033-9.28-35.468-34.876 17.124-9.22 4.562-3.624-9.625-49.78-131.436 17.468-6.625 10.53 27.81 43.626-21.436 54.28-31.28 5.407-3.126 4.938 3.812 33.344 25.656 35.25-31.687 6.25-5.626 6.28 5.625 29.97 27.06 25.124-24.28 6.28-6.094 6.5 5.875 30.938 28.032 28.157-32.312 5.717-6.53 6.938 5.186 32.97 24.625 5.936-35.5-51.655-69.75-17.625 28.314-42-53.563-28.375 45.845-125.72-16.406 30.75 28.374-12.655 13.75-105.97-97.75zm-.28 37.656l.344.438.094-.094 52.78 59.812-14 12.375-37.343-42.343-46.25 29.97-53.75-32.126L145.25 61.5zm310.375 114.563l-26.53 30.406 35.842 49.25 23.313-55.282-32.625-24.375zM313.97 178.5l-32.314 29.063 21.47 27.5 34.187-35.5-23.344-21.063zm68.092 2.75l-25.125 24.313-1.03 1 25.624 41.593 27.75-42.22-27.217-24.686zm-149.343 2.375l-26 15 20.81 37.5 32.44-31.53-27.25-20.97zm-45.282 65.188l-32.72 31.156L166.5 311.06l34.063-16.78-13.125-45.47zM259 264.342l-44.03 32.813.593 2.25 9.28 35.5 47.845-23.375L259 264.345zm74.094 12.282l-42.97 35.78.688 2.97 10.594 44.53 42.813-33.624-11.126-49.655zm66.562 14l-36.5 37.563.094.375 8.844 43.375 45.28-34.532-17.718-46.78zm86.406 29.47l-43.937 26.186 11.063 40.158 32.312-.75.563-65.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrocSword;

impl IconShape for CrocSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M59.563 22.22c-19.707 5.93-33.054 18.817-39.407 39.436 52.72 22.56 98.5 67.61 122.188 119.97L83.75 240.218l14.47 14.436 155.968-155.97L239.75 84.22l-60.188 60.186c-25.63-11.673-49.807-28.375-70.218-48.78C87.88 74.167 71.057 49.08 59.564 22.218zm172.062 125.436l-36.47 36.47 58.126 58.905 61.94 61.94 62.374 61.56 61.125 61.94 56.967 56.217V411.72L231.625 147.655zm-52.156 52.156l-31.345 31.375 262.438 262.438h24.343l-9.406-51.938-52.438-9.5-9.093-52.03-52.47-9.5-9.47-52.47-52.467-9.5-9.5-52.437-52.032-9.094-8.56-47.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CroissantsPupil;

impl IconShape for CroissantsPupil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322.22 15.652c-32.935-.256-65.31 9.997-94.51 28.452 17.21-1.707 34.93-.567 52.395 4.113 84.13 22.544 132.785 114.77 108.247 206.346-24.54 91.574-112.952 147.74-197.082 125.197-17.026-4.562-32.677-12.003-46.465-21.715 22.407 41.78 57.54 73.65 102.855 85.79 97.857 26.223 203.028-47.557 234.28-164.194 31.254-116.637-23.102-232.5-120.96-258.72-12.9-3.457-25.874-5.167-38.76-5.268zM221.1 60.797c-84.45.538-165.777 68.667-192.635 168.9-31.253 116.638 22.94 233.118 120.797 259.34 45.316 12.142 91.676 2.11 131.972-22.87-16.797 1.518-34.072.135-51.097-4.427-84.13-22.544-132.617-115.39-108.078-206.965 24.537-91.574 112.786-147.12 196.917-124.578 17.464 4.68 33.383 12.554 47.433 22.637-22.348-42.55-57.957-74.423-103.828-86.715v-.003c-13.76-3.687-27.663-5.408-41.482-5.32zm25.79 95.812c-50.71 4.208-90.386 46.535-90.386 98.355 0 52.2 40.26 94.77 91.504 98.443-12.674-23.658-20.74-60.063-20.74-100.346 0-38.898 7.64-73.19 19.62-96.453zm21.27.492c4.848 9.527 8.958 20.897 12.14 33.628-13.203.543-23.743 11.413-23.743 24.75 0 13.684 11.093 24.778 24.777 24.778 2.024 0 3.99-.25 5.873-.707.206 4.436.32 8.94.32 13.512 0 40.035-7.97 76.238-20.51 99.907 49.03-5.814 86.897-47.38 86.897-98.005 0-50.232-37.28-91.545-85.754-97.863z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossFlare;

impl IconShape for CrossFlare {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.877 20.416c-18.832 0-37.66 2.584-55.922 7.72-28.518 5.13-56 17.362-79.572 36.71L29.203 28.67 65.51 91.078c-16.078 20.147-27.035 43.04-32.88 66.938C7.28 230.34 23.513 313.994 81.33 371.81c52.018 52.02 124.946 70.363 191.723 55.06l69.315 65.65-20.04-83.825c12.878-6.742 25.186-14.95 36.693-24.603L498.85 498.326 384.625 358.502c9.778-11.64 18.07-24.105 24.867-37.148l83.112 19.87-65.125-68.76c15.314-66.787-3.026-139.73-55.052-191.76-17.117-17.116-36.504-30.574-57.186-40.4l.688-1.27-1.565.85c-27.637-12.973-57.56-19.468-87.488-19.468zM202.07 43.908c24.817 0 49.633 5.904 72.186 17.703l-97.574 52.86-67.93-39.52C136.357 54.263 169.21 43.91 202.07 43.91zm94.09 31.623c5.63 4.275 11.043 8.972 16.184 14.113 54.775 54.776 60.34 139.89 16.715 200.84l-89.796-109.92L296.16 75.53zM75.668 108.544l39.793 68.4L63.84 272.24C36.7 220.5 40.648 156.814 75.668 108.543zm104.77 129.66l110.26 90.076c-60.798 42.13-144.68 36.112-198.88-18.07l-.02-.017v-.002c-5.17-5.17-9.892-10.617-14.187-16.284l102.828-55.703z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossMark;

impl IconShape for CrossMark {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.367 18.328c23.14 15.444 46.098 31.27 68.55 47.572-45.055-20.895-94.51-35.918-149.37-44.246 46.697 26.72 91.596 55.58 135.705 85.524-37.203-18.033-77.48-32.22-121.602-41.37 58.218 34.322 109.368 72.465 154.71 114.206C136.02 227.227 86.295 284.717 45.79 354.18c27.11-24.29 54.91-47.545 82.868-70.68C81.942 339.36 45.05 405.01 20.2 482.135c20.36-24.62 40.988-48.203 61.905-70.817 44.7-67.485 89.567-147.11 148.856-170.418-29.61 30.708-63.36 75.164-98.25 118.145 40.99-40.437 83.09-77.46 126.415-111.512 61.598 70.49 110.757 149.38 152.145 235.873-6.738-44.794-16.796-87.384-30.03-127.666l46.444 65.53s-26.037-72.69-43.66-101.987c40.76 55.91 78.208 114.428 112.328 175.205-18.674-89.454-50.512-169.772-98.893-238.224 34.906 34.69 68.637 71.1 100.93 109.045C465.048 288.827 423.58 221.82 372.214 167c40.224-25.887 81.48-49.73 123.863-71.783-32.025 5.56-62.49 12.92-92.006 21.934 21.836-16.173 44.41-32.124 67.024-47.523-37.987 11.91-74.633 25.775-109.067 41.433 42.668-27.673 86.32-53.668 131.004-78.602h-.003c-67.47 18.055-130.83 42.19-188.998 73.548-56.294-41.79-122.01-71.787-198.663-87.68z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedAirFlows;

impl IconShape for CrossedAirFlows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21 18.035v5.088c109.998 50.032 220.054 122.967 293.453 201.82-2.054 3.538-4.134 7.048-6.23 10.54C218.595 169.884 117.723 122.586 21 92.822v77.1c75.186 16.99 155.106 46.088 231.27 89.356-54.09-19.95-113.754-32.143-175.204-33.876 59.19 20.343 123.45 46.638 184.955 78.492-65.03 85.433-145.31 149.098-239.266 174.39C141.178 511.62 307.632 481.4 414 401.755c30.91 25.406 58.157 52.78 79.965 82.025v-5.17c-10.706-36.043-26.167-71.84-45.272-106.794 12.84-12.864 24.225-26.682 33.852-41.416-56.283 49.778-128.067 78.627-216.725 105.834 78.377-44.805 146.055-100.623 199.133-159.6 10.04-11.92 19.72-24.115 29.012-36.52v-38.41c-75.202 99.392-188.794 188.773-302.738 236.14 122.326-68.48 252.93-199.788 297.607-323.684-38.43 54.704-84.59 103.334-133.86 144.86 57.522-73.943 108.355-152.33 138.99-216.06V18.036h-90.03c-20.39 65.42-46.51 128.732-78.065 186.61-72.37-77.783-156.326-143.35-233.247-186.61H21zM186.703 439.5h.492c-.32.13-.64.265-.96.395.156-.13.313-.265.468-.395z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedAxes;

impl IconShape for CrossedAxes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.074 29.666c-30.957 17.548-57.03 29.997-80.568 32.37-8.09.815-15.88.187-23.242-1.888-14.33 19.58-15.942 46.004-8.905 72.016 5.656 20.91 17.103 40.95 30.66 55.205.534-7.142 1.38-14.058 2.56-20.56 3.43-18.88 8.727-34.898 21.342-43.316 6.307-4.21 15.02-5.268 22.69-2.363 5.742 2.176 11.038 6.017 16.312 11.458l58.79-34.05-39.64-68.872zm112.29 0l-39.64 68.873 58.79 34.048c5.274-5.44 10.57-9.282 16.312-11.457 7.67-2.904 16.384-1.845 22.692 2.364 12.614 8.418 17.91 24.437 21.34 43.317 1.18 6.502 2.025 13.418 2.558 20.56 13.558-14.257 25.005-34.297 30.662-55.206 7.038-26.012 5.425-52.436-8.904-72.016-7.364 2.075-15.153 2.703-23.242 1.887-23.538-2.372-49.612-14.82-80.57-32.37zM61.015 34.178C38.83 49.144 26.708 68.034 21.654 89.166c-5.597 23.406-2.263 49.864 7.836 75.576 17.58 44.754 55.84 86.336 97.332 104.54-5.72-17.565-8.727-37.628-9.33-57.278-22.436-16.898-40.02-44.822-48.174-74.96-7.755-28.663-6.69-60.166 9.768-84.94-6.607-4.49-12.676-10.455-18.07-17.926zm390.406 0c-5.394 7.47-11.464 13.435-18.07 17.926 16.46 24.773 17.523 56.276 9.767 84.94-8.155 30.138-25.74 58.062-48.175 74.96-.603 19.65-3.61 39.713-9.33 57.277 41.49-18.202 79.753-59.784 97.332-104.538 10.1-25.712 13.433-52.17 7.836-75.576-5.053-21.132-17.175-40.022-39.36-54.988zm-215.442 88.12l-29.177 16.9c52.91 100.2 83.55 209.812 152.734 295.685l33.492-25.19c-42.77-47.338-67.302-93.227-88.528-140.478-20.82-46.346-38.85-93.978-68.522-146.918zm40.48.003c-3.352 5.985-6.566 11.906-9.644 17.76 6.85 13.446 13.045 26.533 18.856 39.333 6.362-13.51 12.975-26.933 19.973-40.192l-29.184-16.9zm-49.624 103.52c-6.314 14.66-12.478 29.098-18.9 43.395-21.226 47.25-45.76 93.14-88.528 140.478l33.494 25.192c39.84-49.448 66.89-106.773 92.778-165.635-6.305-14.493-12.536-28.998-18.844-43.43zM98.976 417.71l-17.44 23.08 50.562 38.026 17.44-23.078-50.56-38.027zm314.485 0L362.9 455.74l17.44 23.078 50.562-38.027-17.44-23.08z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedBones;

impl IconShape for CrossedBones {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M407.406 22.53c-9.832.353-19.334 5.774-25.03 18C310.03 195.818 206.43 320.097 49.405 373.47c-59.39 20.186-15.982 92.874 47.094 47.092-53.34 55.186 19.308 97.326 42.22 42.22 60.94-146.596 186.387-265.928 332.967-332.97 50.467-23.082 7.442-85.442-40.843-40.843 28.943-35.27 1.69-67.337-23.438-66.44zm-301.094.5c-24.643.51-50.094 31.967-21.78 66.47-48.286-44.598-91.28 17.76-40.813 40.844 63.846 29.2 123.663 68.308 175.905 115.28l25.25-25.25c-44.19-52-80.892-112.838-111.875-179.343-6.013-12.905-16.282-18.214-26.688-18zm188.344 249.032l-24.344 24.344c44.515 49.72 81.008 105.93 106.344 166.875 22.91 55.108 95.56 12.968 42.22-42.217 63.075 45.78 106.485-26.876 47.093-47.063-65.995-22.43-122.55-57.414-171.314-101.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedChains;

impl IconShape for CrossedChains {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.023 19.676v27.2L75.48 104.32l24.842-24.843-58.804-59.8H19.023zm65.41 3.498c-4.468.09-8.392.9-11.83 2.244L189.15 141.963c2.893-7.395 3.085-17.245-.146-29.094-4.61-16.908-16.108-36.597-33.408-53.895-17.3-17.3-36.99-28.8-53.897-33.41-6.34-1.73-12.125-2.495-17.265-2.39zm-63.09 53.51c-2.894 7.394-3.088 17.243.143 29.09 4.61 16.908 16.11 36.598 33.41 53.898 17.3 17.3 36.988 28.797 53.895 33.408 11.85 3.232 21.7 3.04 29.095.147L21.342 76.684zm107.07 30.96l-24.716 24.717 119.545 119.546 24.717-24.717-119.546-119.545zm366 56.57c-7.766 2.724-15.67 6.186-23.36 10.626-20.332 11.738-35.756 27.138-44.106 41.637-5.734 9.956-7.942 18.928-7.213 26.365l74.68-42.953v-35.675zm-257.07 11.87c-4.466.09-8.39.9-11.827 2.246l73.62 73.62c10.648-5.168 21.366-8.972 31.78-11.358-5.744-9.727-13.255-19.55-22.41-28.705-17.3-17.3-36.99-28.8-53.897-33.41-6.34-1.73-12.126-2.497-17.266-2.393zm-62.677 53.096c-2.894 7.394-3.085 17.244.147 29.093 4.61 16.907 16.11 36.597 33.41 53.897 6.408 6.408 13.144 12.014 19.945 16.775 1.55-7.685 4.687-15.44 9.016-22.86 1.705-2.925 3.62-5.822 5.7-8.69l-68.218-68.215zm304.063.668L338.36 311.03l16.425 28.75 137.88-79.628v-6.12l-13.936-24.184zm-122.783 26.406c-16.79.075-37.91 5.84-58.258 17.588-20.348 11.747-35.902 27.155-44.362 41.658-5.79 9.93-8.063 18.86-7.39 26.26l136.445-78.776c-6.074-4.282-14.942-6.78-26.436-6.73zm138.467 23.637l-39.684 22.936c3.228 2.31 7.23 4.13 12.22 5.32 7.53 1.793 17.022 1.925 27.464.307V279.89zm-75.32 43.643l-136.448 78.78c6.073 4.283 14.943 6.78 26.438 6.728 16.79-.074 37.912-5.84 58.26-17.587 20.347-11.747 35.9-27.154 44.36-41.658 5.793-9.93 8.063-18.86 7.39-26.262zM296.53 334.19l-10.686 6.167-.037-.037-12.73 7.35.09.008-116.956 67.525 16.472 28.53 140.32-81.012-16.473-28.53zm138.993 7.558c-1.74 5.896-4.36 11.778-7.675 17.463-2.508 4.3-5.44 8.55-8.743 12.71l68.754 68.754c2.892-7.394 3.084-17.244-.147-29.092-4.61-16.906-16.108-36.595-33.408-53.894-6.042-6.042-12.377-11.36-18.782-15.94zM177.44 360.326c-16.79.075-37.91 5.84-58.258 17.588C98.834 389.66 83.28 405.07 74.82 419.572c-5.79 9.928-8.062 18.86-7.39 26.26l136.445-78.775c-6.073-4.283-14.942-6.782-26.436-6.73zM427.2 406.61l-24.67 24.29 62.49 62.996h27.644V472.07L427.2 406.61zm-66.124 8.982c-10.614 4.73-21.244 8.11-31.514 10.076 5.956 10.888 14.173 22.015 24.458 32.3 17.298 17.3 36.987 28.8 53.894 33.41 11.85 3.233 21.7 3.04 29.096.147l-75.934-75.933zM239.09 427.674l-114.528 66.123h65.815c18.962-11.586 33.505-26.31 41.502-40.193 5.648-9.81 7.863-18.622 7.21-25.93zm-114.854 7.144L21.73 493.896h65.452l53.392-30.86-16.338-28.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedClaws;

impl IconShape for CrossedClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.453 19.705v245.13c4.412-17.67 14.42-34.115 27.492-47.702 12.698-13.2 28.387-23.823 45.4-30.082 12.868-6.873 23.85-14.545 31.89-23.404 9.75-10.736 15.592-22.933 16.154-39.316-1.656-23.427 5.156-47.68 17.508-68.144 8.895-14.738 20.753-27.626 34.87-36.48H19.453zm215.035 6.215c-5.724-.02-11.28.912-16.675 2.59-17.264 5.368-33.076 19.375-43.915 37.334-10.84 17.958-16.528 39.624-14.724 58.93 1.62 17.348 8.724 32.643 23.82 43.712l31.033-28.47-6.61 45.058c2.833 2.213 5.588 4.5 8.26 6.863l37.093-18.232-18.836 37.006c3.236 3.88 6.3 7.91 9.2 12.08l41.372-9.536-27.45 33.256c2.04 4.16 3.95 8.422 5.712 12.797l40.853-2.43-32.007 29.693c1.23 4.84 2.32 9.78 3.27 14.826l41.31 4.756-37.52 23.68c.538 6.54.875 13.23 1.01 20.063l40.796 11.113-41.38 17.777c-.26 4.49-.596 9.03-1.01 13.627l39.984 13.582-43.467 15.115c-.246 1.63-.497 3.263-.76 4.906l-.095-.016c-2.115 20.453-5.49 41.9-10.14 64.314 26.924-20.296 50.692-45.74 70.003-74.527l-.865-.603c75.188-107.848 76.028-266.003-57.973-373.15-14.29-11.425-27.695-16.07-40.29-16.114zM124.195 199.57c-3.522.076-7.08.433-10.666 1.043-19.117 3.255-38.574 14.36-53.116 29.477-14.542 15.117-23.98 34.013-24.7 52.076-.717 18.063 6.375 35.746 27.81 51.52 67.433 49.626 139.796 66.25 195.744 59.224 4.17-43.893.952-81.86-9.14-113.54l-12.825 18.442-1.82-38.984c-5.46-1.862-10.803-3.962-16.02-6.305l-27.98 25.754 6.87-36.97c-3.73-2.31-7.376-4.763-10.947-7.352l-38.388 19.236 16.87-37.415c-12.557-11.8-26.784-16.527-41.693-16.205zm369.475 7.31c-21.533 10.837-42.396 20.03-62.555 27.593l-2.613 42.492-23.047-33.64c-1.282.404-2.56.795-3.834 1.183 1.383 32.623-2.928 65.035-12.2 95.873 46.435-34.513 83.29-81.657 104.25-133.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedPistols;

impl IconShape for CrossedPistols {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151.975 27.45L115.607 69.85l207.53 178.013c3.992 3.426 7.737 6.802 11.275 10.14-9.11 10.77-14.737 21.438-16.695 32.28-1.995 11.046.054 21.91 4.777 31.83 8.896 18.685 26.413 35.06 47.666 53.413-10.29 17.038-26.74 30.657-42.906 42.528-10.355 7.605-12.406 15.25-10.744 24.378 1.66 9.13 8.534 19.705 18.746 27.89 10.212 8.186 23.484 13.902 36.7 14.688 13.218.786 26.327-2.924 38.306-14.24 58.46-55.225 51.443-126.42 28.968-164.854l-11.576-19.797 22.116 6.07c20.454 5.61 30.968 1.247 36.492-6.052 4.46-5.893 6.093-15.657 3.404-27.207-9.253 2.936-20.322 5.495-32.64 5.336-16.77-.218-35.753-5.815-53.835-21.325L151.976 27.452zm206.433 0l-88.865 76.226 42.898 36.797 82.335-70.625-36.367-42.397zM197.943 165.095l-90.752 77.844c-18.08 15.51-37.062 21.106-53.835 21.324-12.316.16-23.385-2.4-32.638-5.336-2.69 11.55-1.055 21.314 3.404 27.207 5.525 7.3 16.04 11.663 36.493 6.05l22.116-6.068-11.578 19.797c-22.475 38.433-29.49 109.63 28.97 164.854 11.978 11.316 25.087 15.026 38.304 14.24 13.217-.786 26.49-6.502 36.7-14.688 10.213-8.185 17.085-18.76 18.747-27.89 1.662-9.13-.39-16.773-10.744-24.377-16.166-11.87-32.615-25.49-42.905-42.527 21.252-18.352 38.77-34.728 47.666-53.412 4.724-9.92 6.77-20.784 4.776-31.83-1.958-10.842-7.585-21.51-16.695-32.28 3.538-3.338 7.284-6.714 11.276-10.14l53.594-45.97-42.897-36.796zm-35.158 106.27c6.904 8.463 10.32 15.766 11.49 22.238 1.252 6.928.173 13.266-3.26 20.476-6.01 12.628-20.036 27.048-38.69 43.527-.613-2.15-1.14-4.345-1.542-6.595-4.18-23.354 4.67-49.706 32.002-79.647zm184.813 0c27.33 29.94 36.185 56.292 32.004 79.646-.403 2.25-.93 4.446-1.543 6.597-18.655-16.48-32.68-30.9-38.693-43.53-3.432-7.21-4.51-13.547-3.26-20.475 1.17-6.472 4.587-13.775 11.49-22.24z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedSabres;

impl IconShape for CrossedSabres {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.084 18.248C-17.903 146.478 143.15 277.92 314.496 381.074c-4.645 13.767-5.585 27.628-3.394 40.635 4.44 26.355 20.974 48.997 42.86 62.425 21.884 13.428 49.776 17.57 75.645 5.765 25.87-11.804 48.69-38.923 62.737-84.654l-17.865-5.488c-13 42.318-32.806 64.094-52.63 73.14-19.825 9.047-40.69 5.998-58.116-4.693-17.425-10.69-30.75-29.095-34.205-49.6-3.455-20.507 2.232-43.318 24.677-65.218 20.743-20.24 32.068-41.615 30.434-61.24l-18.622 1.552c.74 8.89-4.35 22.76-16.684 37.486C222.057 230.8 73.838 128.622 27.084 18.248zm458.05 0C451.34 98.03 364.527 173.53 270.93 247.166c19.492 15.878 39.56 31.622 59.195 45.012 110.756-84.836 187.878-180.243 155.01-273.93zM127.58 292.146c-1.634 19.626 9.69 41 30.434 61.24 22.445 21.9 28.132 44.712 24.677 65.218-3.455 20.506-16.78 38.91-34.206 49.6-17.425 10.692-38.29 13.74-58.115 4.694-19.825-9.046-39.632-30.822-52.63-73.14l-17.865 5.488c14.046 45.73 36.867 72.85 62.736 84.654 25.87 11.805 53.763 7.663 75.648-5.765 21.885-13.428 38.42-36.07 42.86-62.426 2.19-13.005 1.25-26.863-3.393-40.628 13.986-8.42 27.905-17.022 41.648-25.803l-56.967-39.387c-6.55 5.103-13.063 10.2-19.52 15.293C150.55 316.46 145.46 302.59 146.2 293.7l-18.622-1.554zm18.1 73.614c-26.1 8.6-62.087 36.255-77.104 60.324 4.948 8.63 10.393 15.223 16.05 20.14 25.846-8.953 59.85-37.406 74.733-60.257-3.007-6.6-7.454-13.386-13.68-20.207zm220.863 0c-6.225 6.822-10.67 13.61-13.68 20.21 14.886 22.85 48.89 51.3 74.736 60.255 5.656-4.918 11.1-11.51 16.05-20.14-15.018-24.07-51.004-51.724-77.105-60.325z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedSlashes;

impl IconShape for CrossedSlashes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174.844 14.875c47.1 42.275 78.124 90.35 95.312 138.063C200.613 126.285 119.028 114.165 32 129.155c96.11-8.437 180.524 13 245.625 47.72 43.035 161.78-70.46 307.352-250.97 192.155 112.67 95.877 201.475 101.817 254.94 60.908 307.477 77.54 238.903-156.1 27.374-260.094-25.886-55.805-69.74-110.694-134.126-154.97zM323 205.345c123.386 90.75 139.423 227.623-38.656 222.436C336.51 385.317 353.196 296.868 323 205.345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrossedSwords;

impl IconShape for CrossedSwords {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.75 14.438c59.538 112.29 142.51 202.35 232.28 292.718l3.626 3.75.063-.062c21.827 21.93 44.04 43.923 66.405 66.25-18.856 14.813-38.974 28.2-59.938 40.312l28.532 28.53 68.717-68.717c42.337 27.636 76.286 63.646 104.094 105.81l28.064-28.06c-42.47-27.493-79.74-60.206-106.03-103.876l68.936-68.938-28.53-28.53c-11.115 21.853-24.413 42.015-39.47 60.593-43.852-43.8-86.462-85.842-130.125-125.47-.224-.203-.432-.422-.656-.625C183.624 122.75 108.515 63.91 19.75 14.437zm471.875 0c-83.038 46.28-154.122 100.78-221.97 161.156l22.814 21.562 56.81-56.812 13.22 13.187-56.438 56.44 24.594 23.186c61.802-66.92 117.6-136.92 160.97-218.72zm-329.53 125.906l200.56 200.53c-4.36 4.443-8.84 8.793-13.405 13.032L148.875 153.53l13.22-13.186zm-76.69 113.28l-28.5 28.532 68.907 68.906c-26.29 43.673-63.53 76.414-106 103.907l28.063 28.06c27.807-42.164 61.758-78.174 104.094-105.81l68.718 68.717 28.53-28.53c-20.962-12.113-41.08-25.5-59.937-40.313 17.865-17.83 35.61-35.433 53.157-52.97l-24.843-25.655-55.47 55.467c-4.565-4.238-9.014-8.62-13.374-13.062l55.844-55.844-24.53-25.374c-18.28 17.856-36.602 36.06-55.158 54.594-15.068-18.587-28.38-38.758-39.5-60.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrosshairArrow;

impl IconShape for CrosshairArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M101.86 17.793l-18.532 2.41 9.42 72.475-72.478-9.42-2.41 18.533 96.55 12.55-12.55-96.547zm47.744 47.742l-18.532 2.408 9.42 72.48-72.476-9.42-2.41 18.532 96.548 12.55-12.55-96.55zm139.97 44.377v70.28c-19.16 1.463-37.088 7.392-52.756 16.734l13.655 13.654c11.836-6.306 25.055-10.376 39.1-11.635v37.643c-3.646.527-7.197 1.36-10.626 2.467l15.742 15.74c1.39-.123 2.796-.197 4.22-.197 25.845 0 46.596 20.75 46.596 46.595 0 1.424-.074 2.83-.197 4.22l15.74 15.743c1.096-3.39 1.922-6.9 2.45-10.506h38.006c-1.237 14.124-5.315 27.414-11.652 39.31l13.652 13.65c9.374-15.723 15.31-33.723 16.746-52.96h65.57v-18.687h-65.6c-4.64-59.564-52.367-107.23-111.958-111.772v-70.278h-18.69zm-93.01 2.584l-18.53 2.408 9.42 72.48-72.477-9.423-2.41 18.534 81.357 10.576L395.38 408.523l22.472 8.7-8.33-20.987-17.043-17.043c.025-.032.054-.063.08-.095l-13.214-13.217-.08.1-27.12-27.117.077-.103-13.407-13.408c-.022.037-.047.072-.07.11l-64.103-64.103c.037-.023.072-.048.11-.07l-13.407-13.407-.104.076-26.79-26.792c.033-.027.065-.055.1-.082l-13.22-13.217c-.033.026-.063.056-.096.083l-14.095-14.096-10.576-81.36zm111.7 86.447c49.447 4.42 88.692 43.6 93.207 93.02h-37.94c-4.075-28.546-26.737-51.245-55.266-55.373v-37.647zm-111.59 36.705c-10.65 16.48-17.43 35.683-19.037 56.315h-69.535v18.687h69.505c4.463 59.74 52.256 107.6 111.967 112.163v63.812h18.69v-63.813c20.71-1.578 39.985-8.37 56.52-19.054l-13.513-13.512c-12.804 7.553-27.395 12.42-43.006 13.815v-38.263c5.09-.737 9.99-2.075 14.636-3.922l-14.96-14.96c-2.92.567-5.937.872-9.03.872-25.844 0-46.594-20.75-46.594-46.594 0-3.092.306-6.11.873-9.03l-14.96-14.958c-1.86 4.682-3.206 9.623-3.94 14.758h-37.9c1.418-15.535 6.273-30.055 13.794-42.805l-13.51-13.51zm-.32 75.002h37.966c4.163 28.446 26.792 51.04 55.254 55.15v38.26c-49.568-4.44-88.878-43.813-93.22-93.41zm249.55 51.235l-21.412 21.412 26.514 66.793-67.272-26.037-21.78 21.78 129.46 45.505-45.51-129.453z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrowDive;

impl IconShape for CrowDive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M270.713 12.61c6.643 39.436 26.262 70.82 50.46 104.41-26.216-22.16-49.542-51.885-66.99-85.893 1.347 33.463 14.174 58.902 30.5 85.467-18.768-14.65-35.86-33.73-47.558-57.805 5.06 30.615 24.262 60.356 40.176 83.886-14.308-11.715-33.218-31.112-47.34-46.424 16.406 28.247 21.683 48.16 21.634 63.977 7.965 6.568 16.083 13.796 24.334 21.596 16.744 15.827 30.91 36.685 43.49 58.51-7.446-10.075-16.69-20.75-27.95-32.012h-.003c-30.543-30.543-77.793-54.475-116.057-70.408-26.277-34.84-39.484-73.923-52.322-119.918l-9.713 39.732L85.12 27.71l2.65 40.614-33.995-11.916 11.48 34.432-40.175-3.09 30.902 27.37-41.498 10.603c41.23 14.726 84.974 23.305 119.118 48.482 15.908 38.907 40.43 88.373 72.02 119.963 9.87 9.867 19.278 18.166 28.237 25.086-20.32-11.927-39.594-25.195-54.88-40.48-8.6-8.6-16.3-16.744-23.142-24.5-15.544-.32-35.038-5.788-62.29-21.616 15.314 14.12 34.712 33.033 46.43 47.342-23.534-15.914-53.277-35.118-83.898-40.178 24.08 11.698 43.16 28.79 57.813 47.557-26.566-16.326-52.006-29.152-85.47-30.5 34.01 17.45 63.736 40.777 85.897 66.995-33.59-24.2-64.975-43.82-104.414-50.465 68.028 50.728 136.373 93.22 188 172.06 69.836 106.64 132.95 16.87 88.62-13.396-51.68-35.28-36.602-84.41-2.993-86.83 5.078 1.163 9.893 1.72 14.438 1.705.137.04.27.073.407.114l-.117-.12c4.32-.036 8.394-.586 12.22-1.604 1.428 9.75 6.59 20.066 15.143 28.62 10.646 10.645 24.022 16.04 35.64 15.52l43.376 17.862-17.824-43.274c.578-11.653-4.816-25.1-15.51-35.793-8.562-8.563-18.892-13.726-28.652-15.148 1.01-3.81 1.552-7.865 1.588-12.166l.12.118c-.04-.136-.074-.27-.114-.406.014-4.542-.54-9.355-1.703-14.43 2.412-33.615 51.544-48.698 86.828 2.985 30.266 44.33 120.04-18.788 13.397-88.622C363.934 148.98 321.44 80.635 270.713 12.61zm139.043 350.73l-.006.008.012.01-.006-.018zm.006.017l18.36 67.55-67.58-18.35c19.076 18.56 60.155 34.722 92.632 43.425-9.707-36.232-23.735-74.074-43.412-92.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crown;

impl IconShape for Crown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M408.256 119.46l-37.7 52.165 19.57 44.426 34.8-37.214-16.67-59.375zm86.074 12.513L384.44 249.498 334.01 135.02l-75.162 132.947-86.948-131.78-33.334 114.122L17.922 132.83l39.3 127.6c1.945-.348 3.94-.54 5.98-.54 18.812 0 34.26 15.452 34.26 34.262 0 13.823-8.346 25.822-20.235 31.22l5.337 17.33c12.425 25.466 71.863 45.152 176.582 47.206 110.805 2.174 178.12-17.54 189.854-47.207h-.002l4.357-20.26c-16.836-2.114-30.02-16.612-30.02-33.986 0-18.81 15.45-34.262 34.263-34.262 3.513 0 6.91.54 10.11 1.54l26.622-123.762zm-391.77 2.04l1.22 56.337 25.56 24.89 9.592-32.842-36.37-48.386zm150.585 2.91l-24.483 51.36 28.955 43.885 24.922-44.08-29.395-51.166zm204.453 135.962c-8.712 0-15.575 6.862-15.575 15.572 0 8.71 6.863 15.574 15.575 15.574s15.572-6.863 15.572-15.573-6.86-15.572-15.572-15.572zM63.2 278.58c-8.71 0-15.573 6.864-15.573 15.574s6.862 15.573 15.574 15.573c8.713 0 15.573-6.862 15.573-15.573 0-8.71-6.86-15.574-15.572-15.574zm130.33 17.842c18.812 0 34.26 15.45 34.26 34.262 0 18.81-15.448 34.26-34.26 34.26-18.813 0-34.262-15.45-34.262-34.26s15.45-34.262 34.26-34.262zm131.234 0c18.812 0 34.26 15.45 34.26 34.262 0 18.81-15.448 34.26-34.26 34.26-18.813 0-34.262-15.45-34.262-34.26s15.45-34.262 34.262-34.262zm-131.235 18.69c-8.713 0-15.573 6.86-15.573 15.572 0 8.71 6.86 15.574 15.572 15.574 8.71 0 15.572-6.864 15.572-15.574s-6.86-15.573-15.573-15.573zm131.234 0c-8.712 0-15.573 6.86-15.573 15.572 0 8.71 6.862 15.574 15.574 15.574s15.574-6.864 15.574-15.574-6.862-15.573-15.574-15.573z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrownCoin;

impl IconShape for CrownCoin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 68.8c-65.9 0-125.2 18.6-167.65 47.9-42.5 29.3-67.7 68.9-67.7 111.9s25.2 82.5 67.7 111.9C130.7 369.8 190.1 388.4 256 388.4c65.8 0 125.3-18.6 167.8-47.9 42.3-29.4 67.6-68.9 67.6-111.9s-25.3-82.6-67.6-111.9C381.3 87.39 321.9 68.8 256 68.8zm3 21.2l-.2 18.7c-6-.1-12 .2-18 .5l-1.2-18.7c6.5-.35 12.9-.5 19.4-.5zm19 .6c6.4.37 12.9.93 19.3 1.79L295 110.9c-5.9-1-11.3-1.1-17.9-1.7zm-57.6 1.6l2.3 18.6c-6 .6-12 1.7-18 2.7l-3.3-18.4c6.6-1.21 13.5-2.13 19-2.9zm96.1 3.19c6.3 1.28 12.6 2.57 18.8 4.41l-4.8 18c-5.8-1.5-11.8-2.8-17.7-3.9zM187 117.3c-5.9 1.6-12 3.4-17.3 5.1l-6.3-17.7c6-1.9 13.3-4.2 19.3-5.83 1.6 6.03 2.9 12.53 4.3 18.43zm166.7-11.9c6.1 2.1 12.3 4.3 18.2 6.9l-7.4 17.2c-5.5-2.5-11.2-4.4-16.8-6.5zm-208 6.1l7.3 17.1c-6.1 2.8-10.8 4.8-16.2 7.7l-8.7-16.6c6.4-3.5 11.2-5.5 17.6-8.2zm243.6 9.2l.1.1c5.9 3.3 12 6.7 16.8 10l-10.3 15.6c-4.9-3.3-10-6.3-15.2-9.1l-.1-.1c3.1-5.4 5.8-11 8.7-16.5zm-278 8.8c3.3 5.3 6.6 10.5 10.1 15.7-5 3.2-9.7 6.7-14.3 10.4l-11.75-14.5c6.55-7 12.85-10.3 15.95-11.6zM422 142.6c5 4.4 10.1 8.6 14.5 13.7l-13.8 12.6c-4.3-4.3-8.6-8.7-12.7-12zM94.25 167.5c-4.09 4.4-8.02 9.2-11 13.4L68.05 170c4.8-6.1 8.08-10.7 12.9-15.5 3.62 3.9 9.01 8.9 13.3 13zm172.25-8.7c13.4 23.7 25.1 48.6 37.3 73l-37.3-44.1-27.4 32.3-15.7-10.2c14.4-17 28.7-34 43.1-51zm-141.7 11.8c33.8 17 66 40.5 98 61.1l-68.3-28.4 26.4 85.4 85.6 6.3 85.9-6.3-9.4 19.4-76.5 5.6-99.6-7.3zm284.2.1c-17.8 38.5-36.6 76.7-55.1 114.9l25.5-82.4-57.2 23.6-8.5-16.8zm39.9 1.3c3.7 5.7 7.1 12 9.9 17.6l-17 7.8c-2.3-5.3-5.4-10.1-8.3-15zM57.75 187.7l17 7.8c-2.49 5.1-4.18 10.5-5.6 16l-17.97-4.8c1.75-7.9 3.56-12.8 6.57-19zm407.35 21.6c1.1 7.2 2.1 14 2.1 20.7l-18.7-.3c-.4-5.7-.6-11.6-1.7-16.4 6.1-1.3 12.2-2.7 18.3-4zM67.05 227.9c.1 5.8.69 11.5 1.6 16.4l-18.3 3.9c-.89-7-1.66-14.3-1.7-20.7 4.5.1 12.75.3 18.4.4zm379.55 18.5l18.2 3.9c-1.5 6.9-4.1 14.1-6.6 19.6l-17-7.8c2.3-5.5 4.1-10.9 5.4-15.7zM73.55 260.5c2.48 5.2 5.2 10.3 8 14.8l-15.5 10.4c-4.19-6.4-7.08-12-10.1-18 5.4-2.5 11.63-5 17.6-7.2zM432.7 277l15.5 10.5c-3.9 5.7-8.6 11.4-12.5 15.8-4.8-4.6-9-8.6-13.7-12.9v-.1c4.1-4.5 7.8-9.2 10.7-13.3zm-328 24l-11.95 14.3c-5.21-4.3-10.4-9.4-14.5-13.8l13.8-12.6c4.35 4.1 8.65 8.8 12.65 12.1zm-83.15-3.5c1.7 12.9 5.6 25.3 11.5 37.1v-20.3c-4.2-5.4-8-11-11.5-16.8zm468.85 0c-4.4 7.5-9.6 14.7-15.3 21.5v22.7c8.1-14 13.3-28.8 15.3-44.2zm-81.1 4.8l11.7 14.5c-6.1 4.9-9.9 7.7-15.8 11.6l-10.3-15.6c5-3.2 9.7-6.8 14.4-10.5zm-290.5 9.3c4.9 3.4 10.1 6.4 15.3 9.3l-9 16.4c-5.8-3-11.2-6.7-16.7-10.1zm260.8 10.2l8.7 16.6c-5.7 3.1-11.5 5.7-17.5 8.3l-7.4-17.2c5.7-2.3 11.5-5.2 16.2-7.7zM150 328.7c5.4 2.5 11.2 4.3 16.8 6.5l-6 17.7c-6.1-2-12.1-4.6-18.1-7zm-98.25 6.2v27.8c5.1 5.9 10.7 11.7 16.8 17.1v-30.6c-5.9-4.6-11.5-9.3-16.8-14.3zm294.85 1l6.1 17.7c-6.3 2.1-13.1 3.9-18.6 5.5l-4.8-18.1c6.2-1.4 11.9-3.6 17.3-5.1zm109.8 2.5c-5.3 4.7-10.8 9.3-16.7 13.6v31.1c6-5.1 11.6-10.5 16.7-16.1zM184 340.5c5.8 1.5 11.7 2.8 17.6 4l-3.5 18.4c-6.4-1.2-12.6-2.8-18.8-4.4zm127.7 4.4l3.6 18.4c-6.6 1.1-13.4 2.3-19.1 2.9l-2.3-18.5c6.4-1.1 12-2 17.8-2.8zm-92.2 2.5c6 .8 12 1.4 18.1 1.8l-1.3 18.6c-6.4-.4-12.8-1-19.2-1.8zm56.4 1.9l1 18.7c-6.8.5-14.3.8-21.4.5l.1-18.6c6.8 0 13.5-.2 20.3-.6zM87.25 362.1v32.5c6.4 4.5 13.55 8.9 19.45 12.2v-33.7c-6.75-3.4-13.25-7.1-19.45-11zM421 364.4c-6.3 3.8-12.8 7.3-19.6 10.6v33.9c6.9-3.7 13.4-7.6 19.6-11.7zm-295.6 17.4v34.5c6.7 3 13.7 5.9 20.9 8.5v-35.1c-7.1-2.4-14.1-5-20.9-7.9zm257.3 1.6c-6.8 2.7-13.8 5.2-20.9 7.5v35.2c7.2-2.5 14.2-5.2 20.9-8.1zM165 395.3v35.5c6.6 1.9 13.4 3.6 20.3 5.1v-35.8c-6.9-1.4-13.7-3-20.3-4.8zm178.1 1c-6.6 1.7-13.4 3.2-20.3 4.5v35.8c6.9-1.4 13.7-2.9 20.3-4.7zm-139.1 7v36c6.8 1.1 13.8 1.9 20.9 2.6v-36.2c-7.1-.6-14.1-1.4-20.9-2.4zm100.3.5c-7.4 1-14.8 1.8-22.4 2.3v36.2c7.6-.6 15-1.4 22.4-2.4v-36.1zm-60.7 3V443c7 .3 12.5.2 19.5.2V407c-6.5 0-13.8.1-19.5-.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrownOfThorns;

impl IconShape for CrownOfThorns {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.094 24.875c-16.73 9.388-34.47 42.043-41.688 59.47-14.608-2.407-28.87-3.664-42.562-3.75-11.446-.074-22.49.68-33.03 2.218-16.34-8.284-34.766-29.065-42.626-50-9.324 15.704-9.558 42.313-5.782 64.593-19.443 9.72-35.107 23.633-45.53 41.688-7.262 12.577-11.5 26.34-12.97 40.875 13.294-25.904 35-46.957 65.656-54.345-34.99 31.783-59.85 87.186-51.5 129.406-1.2 22.87-9.48 37.647-24.75 44.595 16.335 4.59 35.497 3.343 49.438-1.28 24.94 34.82 60.818 67.882 105.063 94.342-6.952 17.613-16.677 49.21-16.47 66.032 10.846-13.178 37.433-40.585 61.72-42.783 23.656 10.27 47.35 17.698 70.312 22.313 12.423 17.25 12.895 38.867 7.375 53.594 16.402-9.2 33.82-33.187 39.938-48 47.1 1.423 88.046-10.534 114.718-35.563 17.536 5.52 30.744 15.707 39.813 30.5.243-19.578-8.05-44.353-18-60.31 13.42-28.268 12.786-61.81.5-96.158l.405.47c9.976-11.804 18.304-33.19 18.063-52.907-8.535 10.373-20.727 15.14-36.75 14.188-13.56-22.597-31.81-44.812-54.032-65.375 10.56-19.27 30.402-36.43 44.156-47.97-18.985-5.337-67.794 5.2-80.78 17.782l5.906 8.5c5.637 11.99 9.503 24.423 11.093 37.063-26.323-37.275-70.72-74.72-114.905-95.625-15.894-25.424-19.322-56.118-12.78-73.563zm-82.875 97.063c1.13-.015 2.258-.008 3.405 0 31.56.2 68.888 8.842 107 25.656-8.8 20.095-14.74 44.482-10 61.344 13.33-18.637 37.313-34.22 55.406-37.5 55.904 34.315 96.215 78.718 111.658 118.718l.093.22c16.088 37.88 13.36 85.186-26.56 117.312 4.79-11.41 7.986-23.828 9.5-36.438-14.078 10.012-33.524 15.304-56.314 15.97-1.954-17.242-9.117-52.874-22.28-65.72 1.565 16.122-8.11 46.272-26.22 61.063-31.916-6.495-66.794-19.67-101.03-39.438-9.538-5.506-18.65-11.307-27.314-17.344-3.444-23.614 7.842-53.562 20.563-64.03-18.967-.234-46.71 22.156-59.313 32.75-40.974-38.47-64.14-81.11-61.25-115 16.275-1.708 36.144.927 51.72 8-3.92-15.382-18.553-31.733-34.407-44.344 14.757-13.826 37.7-20.852 65.344-21.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrownedExplosion;

impl IconShape for CrownedExplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62.807 19.26l90.134 94.617c-7.47 4.86-14.578 10.294-21.243 16.264l-65.623-22.02 32.908 61.53c-8.18 13.58-14.62 28.507-18.923 44.57-4.86 18.13-6.635 36.365-5.67 54.157L21.235 308.38l62.576 7.647c2.362 6.76 5.138 13.354 8.3 19.754L19.187 366.8v95.864l90.562-98.44c6.094 8.002 12.892 15.492 20.334 22.366l-22.56 53.06 61.316-26.072c7.367 3.747 15.082 6.997 23.11 9.707l-42.32 71.25h104.403l-7.083-62.082c9.308.03 18.522-.696 27.567-2.135l34.037 50.45 14.497-65.72c13.49-6.544 26.11-14.82 37.517-24.614l57.032 19.367-23.44-58.245c3.51-5.562 6.714-11.366 9.602-17.385l90.705 63.125V282.977l-75.67 2.757c1.153-7.366 1.815-14.72 2.012-22.023l61.95-35.968-68.333-15.312c-8.706-30.973-25.91-59.104-49.635-80.97l112.818-112.2h-92.88l-42.305 94.758c-6.592-4.318-13.524-8.22-20.777-11.647l-8.18-66.954-39.41 52.36c-11.226-1.748-22.423-2.37-33.457-1.926-14.58.586-28.874 3.028-42.588 7.136l-15.01-73.726H62.808zm184.183 85.11c13.38-.028 26.987 1.692 40.54 5.323 17.33 4.643 33.165 12.047 47.18 21.596l-24.153 54.1 41.023-40.798c8.817 8.017 16.632 16.997 23.328 26.722l-30.863 41.897 50.47-2.345c7.795 23.73 9.918 49.584 5.214 75.565l-61.357 2.236 49.832 34.68c-25.574 56.255-82.33 91.57-143.39 90.422l-7.606-66.68-35.476 59.724c-32.962-10.183-60.193-30.463-79.187-56.5l41.523-45.134-54.834 23.32c-4.775-9.507-8.585-19.513-11.326-29.867l58.7-32.435-62.712-25.29c.874-7.27 2.262-14.567 4.213-21.848 10.62-39.625 35.624-71.486 67.886-91.477l49.668 52.14-13.932-68.437c12.698-3.938 25.978-6.264 39.54-6.797 1.9-.074 3.807-.113 5.718-.117zm5.23 82.88c-39.546 0-71.607 32.062-71.607 71.61 0 39.546 32.06 71.607 71.608 71.607s71.608-32.06 71.608-71.608c0-39.55-32.06-71.61-71.607-71.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrownedHeart;

impl IconShape for CrownedHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M402.75 23l-89.344 68.938-63.062-67.188-63.094 67.188L105.5 28.25l32.688 126.156h230.125L402.75 23zM250.156 83.375L274.906 106l-24.75 32.53-24.75-32.53 24.75-22.625zm-85.187 22.03c8.495 0 15.186 6.69 15.186 15.19 0 8.493-6.69 15.155-15.187 15.155-8.498 0-15.19-6.662-15.19-15.156s6.693-15.188 15.19-15.188zm175.75 0c8.495 0 15.186 6.69 15.186 15.19 0 8.493-6.69 15.155-15.187 15.155-8.498 0-15.19-6.662-15.19-15.156s6.693-15.188 15.19-15.188zm-2.626 67.75c-30.447 0-57.398 15.37-73.5 38.75-3.405 4.224-6.59 8.79-9.47 13.75-47.705-89.566-166.746-56.19-169.718 38.47-3.167 100.887 128.862 126.438 169.72 227.156 30.69-79.906 117.94-116.335 154.186-175.342 11.27-14.935 17.97-33.502 17.97-53.594 0-12.793-2.745-24.955-7.626-35.97-.07-.19-.146-.372-.22-.56-.018-.044-.042-.084-.06-.126-9.253-24.158-28.222-40.056-50.563-47.063l-.094-.03c-9.557-3.51-19.876-5.44-30.626-5.44zm0 18.69c39.046 0 70.5 31.453 70.5 70.5 0 24.645-12.53 46.278-31.594 58.874 10.26-20.05 8.604-48.964-6.375-74.908-17.312-29.985-47.004-46.536-72.063-42.406 11.263-7.618 24.858-12.062 39.532-12.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrownedSkull;

impl IconShape for CrownedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.406 13.02l-.164 156.353c3.064.507 6.208 1.38 9.39 2.627 36.496 14.306 74.214 22.435 111.864 25.473l43.402-60.416 42.317 58.906c36.808-4.127 72.566-12.502 105.967-24.09 3.754-1.302 7.368-2.18 10.818-2.6l1.523-156.252-75.82 95.552-34.084-95.55-53.724 103.74-53.722-103.74-35.442 95.55-72.32-95.55h-.006zm164.492 156.07l-28.636 39.86 28.634 39.86 28.637-39.86-28.635-39.86zM86.762 187.55c-2.173-.08-3.84.274-5.012.762-2.345.977-3.173 2.19-3.496 4.196-.645 4.01 2.825 14.35 23.03 21.36 41.7 14.468 84.262 23.748 126.778 26.833l-17.75-24.704c-38.773-3.285-77.69-11.775-115.5-26.596-3.197-1.253-5.877-1.77-8.05-1.85zm333.275.19c-2.156.052-5.048.512-8.728 1.79-33.582 11.65-69.487 20.215-106.523 24.646l-19.264 26.818c40.427-2.602 80.433-11.287 119.22-26.96 15.913-6.43 21.46-17.81 21.36-22.362-.052-2.276-.278-2.566-1.753-3.274-.738-.353-2.157-.71-4.313-.658zm-18.117 47.438c-42.5 15.87-86.26 23.856-130.262 25.117l-14.76 20.547-14.878-20.71c-44.985-1.745-89.98-10.23-133.905-24.306-12.78 28.51-18.94 61.14-19.603 93.44 37.52 17.497 62.135 39.817 75.556 64.63C177 417.8 179.282 443.62 174.184 467.98c7.72 5.007 16.126 9.144 24.98 12.432l5.557-47.89 18.563 2.154-5.935 51.156c9.57 2.21 19.443 3.53 29.377 3.982v-54.67h18.69v54.49c9.903-.638 19.705-2.128 29.155-4.484l-5.857-50.474 18.564-2.155 5.436 46.852c8.747-3.422 17.004-7.643 24.506-12.69-5.758-24.413-3.77-49.666 9.01-72.988 13.28-24.234 37.718-46 74.803-64.29-.62-33.526-6.687-66.122-19.113-94.23zm-266.733 47.006c34.602.23 68.407 12.236 101.358 36.867-46.604 33.147-129.794 34.372-108.29-36.755 2.315-.09 4.626-.127 6.933-.11zm242.825 0c2.307-.016 4.617.022 6.93.11 21.506 71.128-61.684 69.903-108.288 36.757 32.95-24.63 66.756-36.637 101.358-36.866zM255.164 332.14c11.77 21.725 19.193 43.452 25.367 65.178h-50.737c4.57-21.726 13.77-43.45 25.37-65.18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrumblingBall;

impl IconShape for CrumblingBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M212.35 19.563l-23.57 47.19 48.46 65.106 60.102-39.3-.112-50.39-84.88-22.608zm-94.153 3.04l-54.62 42.58 110.32 62.264-9.47-62.586-24.892 7.824-21.338-50.082zm243.633.17l-49.43 1.31 27.137 72.308 22.293-73.615v-.002zm5.025 53.07l2.38 82.17 20.122-6.51c-.053-.027-.106-.055-.16-.08l2.694-.74 26.52-8.585 1.412-40.37v-.003l-52.967-25.88zm-336.818 1.99l-5.752 57.774 77.332-12.078L30.04 77.833h-.003zm282.412 55.622c-1.97-.015-3.94.002-5.91.053-28.67.734-57.562 8.42-84.112 23.75-7.943 4.586-15.38 9.71-22.328 15.275l8.824 16.903c7.018-5.886 14.638-11.252 22.85-15.993 5.598-3.232 11.313-6.072 17.11-8.556l38.436 37.586-3.28 66.824-51.624 21.582-75.504-18.253c.982-3.923 2.12-7.806 3.397-11.645l-18.404-3.44c-14.558 45.97-10.54 97.66 15.43 142.642 49.052 84.96 157.965 114.143 242.926 65.09 84.96-49.05 114.143-157.962 65.092-242.922-13.897-24.07-32.6-43.657-54.2-58.262l-23.343 7.556c3.88 2.123 7.68 4.406 11.385 6.858l-38.515 22.994-57.057-9.223-35.113-34.332c12.727-3.574 25.687-5.497 38.594-5.838 1.763-.046 3.526-.063 5.287-.05 12.9.09 25.7 1.758 38.12 4.916l-.557-19.218c-12.277-2.74-24.85-4.2-37.504-4.297zm-186.15 1.223L86.67 177.525l14.178 53.332 120.363 22.498-39.415-75.505-55.494-43.172zm288.97 55.996c11.98 10.34 22.6 22.64 31.347 36.77l-67.42 21.05-5.53-32.982 41.603-24.838zm-109.682 20.85l49.808 8.052 13.745 81.934-66.42-31.6 2.868-58.387zm-248.04 2.033L20.67 247.582l14.28 41.813 77.872.19-55.273-76.028zm235.255 72.332l37.068 17.633-36.04 66.075-56.238-3.63 1.525-57.634 53.686-22.445zm-139.362 5.124l67.01 16.2-1.616 61.09-47.477 18.65c-16.474-30.425-22.034-63.934-17.916-95.94zM90.61 327.82l-53.57 7.64 28.44 37.657 49.198-10.95L90.61 327.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalBall;

impl IconShape for CrystalBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.563 20.75c-42.96 0-85.918 16.387-118.688 49.156-65.54 65.54-65.852 172.15-.313 237.688 65.54 65.54 172.15 65.226 237.688-.313 65.54-65.538 65.54-171.835 0-237.374-32.77-32.77-75.728-49.156-118.688-49.156zm-.157 18.47c25.68.053 51.363 6.724 74.313 19.968-13.573-3.984-26.266-2.455-34.22 5.5-14.437 14.437-7.796 44.485 14.813 67.093 22.608 22.61 52.625 29.22 67.062 14.782 8.523-8.522 9.706-22.468 4.594-37.125 36.352 57.684 29.586 134.6-20.69 184.875-29.158 29.16-67.353 43.773-105.56 43.813 9.436-2.3 17.762-6.732 24.436-13.406 28.885-28.886 15.64-88.954-29.594-134.19-45.234-45.233-105.302-58.51-134.187-29.624-4.052 4.052-7.266 8.723-9.688 13.875 3.092-33.537 17.473-66.222 43.157-91.905 29.198-29.2 67.384-43.737 105.562-43.656zM386.97 319.28c-.205.206-.39.422-.595.626-72.78 72.78-191.252 73.155-264.03.375-.278-.275-.54-.565-.814-.842-11.987 9.483-18.81 20.384-18.81 32 0 36.523 67.315 66.125 151.343 66.125 84.027 0 152.093-29.6 152.093-66.125 0-11.68-6.97-22.637-19.187-32.157zm39.717 54.564c-22.225 32.29-91.192 55.906-172.625 55.906-81.172 0-149.954-23.46-172.406-55.594-12.638 11.3-19.72 24.052-19.72 37.563.002 46.928 85.546 85.03 192.064 85.03 106.518 0 192.97-38.1 192.97-85.03 0-13.637-7.313-26.498-20.283-37.876z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalBars;

impl IconShape for CrystalBars {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.844 14.125l-8.75 2.906-43.22 13.44-3.5 1.155-1.75 2.938L30.75 206.593l-14 21.032 5.344 15.156L41.5 308.47l2.344 7 7.594-.595 74.156-4.687 6.437-.563 1.75-5.844 77.095-239.436 1.156-2.938-1.155-2.906-11.125-35.625-2.03-6.094-.032-.25h-.032l-.812-2.405zm123.812 5.25l-2.906 5.844-18.125 40.874-1.75 3.5 1.188 4.094L383.156 274l1.75 4.656 4.657 1.188 64.843 14.03 7.594 1.157V295l2.906-7 26.875-60.72 1.75-4.092-1.75-4.094L390.157 28.688l-2.343-4.657-5.25-.592-55.47-3.5-6.437-.563zM184.594 37.47l7.562 23.936-.906 2.844-89.594 174.125 23.625 31.094-6.874 21.31-32.78-42.5-42.563-.842L38 230.188l1-1.563 46.094.938L183.72 37.75l.874-.28zm147.156 1.75l16.47.874 76.343 153.22 36.5 8.374 11.53 21.718-48.468-10.656-7.22 53.438-18.436-3.844L407.093 201l-77.53-156.72 2.186-5.06zm-79.437 85.28l-5.25 3.5-37.375 25.094-3.5 2.344-.594 4.093L166.47 416.5l-.564 5.25 4.063 3.5 76.53 63.656 6.406 5.282 5.844-5.282 75.344-66.562 4.094-2.938-.594-4.656-28.625-251.125-.564-4.094-4.093-2.342-46.72-29.782-5.28-2.906zm.562 22.53l19.5 12.095 12.25 202.406 30.844 24.908 2.843 24.812-.875.78-40.594-32.905-75.156 48.188-15.094-12.47 79.437-50.687-13.155-217.125zm108.438 148.345l-7.5 37.563 32.218 94 33.595 14.968 19.438-39.375-48.094-85.155-29.657-22zM108.625 350.5l-29.687 10.813L32 431.47l2.625 34.593 31.188-12.75 46.937-70.188-4.125-32.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalCluster;

impl IconShape for CrystalCluster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.563 19.063l-53.875 59.562v90.063l-34.75-60.188-35.563-17.594-9.344 43.53 48.376 83.783-19.97-5.345-28.75 10.5 19.658 23.5 30.28 8.125-59.155 15.844-23.407 27.97 34.25 12.498 66.875-17.937-27.875 48.28 5.562 62.72 33.813-15.72v33.126l46.812 66.626 46.78-66.625v-72.81l21.626 68.092 35.875 27.344 13.564-43.03-32.688-102.97 42.875 11.5 26.876-13.78-17.78-20.22-64.595-17.312-.092-.25 82.25-22.03 21.125-24.064-31.97-16.406-73.656 19.75 39-67.594-3.562-55.25-58.844 18.97V78.624l-39.717-59.563zm-5.72 109.562l22.438 115.03 39.876 12.032-39.875 12.032-22.436 115.03-22.375-114.53-41.595-12.533 41.594-12.53 22.374-114.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalEye;

impl IconShape for CrystalEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.03 118.875c-13.335.037-26.66.754-40 2.094-3.81.382-7.625.83-11.436 1.31-1.906.243-3.813.486-5.72.75-7.623 1.064-15.25 2.314-22.874 3.75-3.813.72-7.624 1.474-11.438 2.282-1.708.363-3.415.746-5.124 1.125-.553.123-1.104.25-1.657.375-1.3.294-2.603.572-3.905.875-.25.06-.5.13-.75.188-.958.225-1.917.457-2.875.688-.948.227-1.895.454-2.844.687-13.315 3.27-26.62 7.033-39.937 11.25 5.585 48.63 19.624 88.445 39.936 120.22v-.25c20.904 32.82 48.428 57.043 80.188 73.56-21.5-25.38-34.5-58.194-34.5-94 0-52.93 28.358-99.354 70.687-124.843-2.58-.044-5.167-.07-7.75-.062zm47.626 2.906c-3.812 1.09-7.563 2.324-11.22 3.75l28.845 63.5L310 201.188l36.875-36.156c-43.75-24.067-87.483-37.74-131.22-43.25zm-28.094 11.814c-38.147 21.86-63.78 62.972-63.78 110.187 0 11.558 1.557 22.744 4.437 33.376L179.687 267l36.218-71.03-28.344-62.376zm172.094 45.062l-37.03 36.313 11.843 74.593L362.405 304c9.655-17.91 15.156-38.406 15.156-60.22 0-23.828-6.526-46.094-17.906-65.124zm25.875 10.375c6.89 16.912 10.72 35.392 10.72 54.75 0 44.952-20.46 85.213-52.563 111.94 27.568-6.378 55.03-15.792 81.563-27.94v.408c24.174-11.05 47.57-24.363 69.53-39.75-23.174-26.64-46.354-49.616-69.53-69.313v.594c-13.244-11.28-26.48-21.496-39.72-30.69zM230.94 207.595l-33.72 66.22 52.532 52.53 66.28-33.75-11.624-73.375-73.47-11.626zM182.5 285.53l-48 9.44c12.203 27.734 34.035 50.223 61.28 63.28 14.396 3.322 29.258 5.446 44.44 6.47l-.532-22.033-57.188-57.156zm145.72 21.845l-69.845 35.594.5 22.467c10.614.083 21.356-.34 32.156-1.28 24.707-8.264 45.998-23.925 61.283-44.344l-24.094-12.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalGrowth;

impl IconShape for CrystalGrowth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.8 15.56l-79.9 84.11 2.3 58.83 50.6 36.2 31.9 182 10.8-26.9 11.8-235.4 18.7 1-9.1 181 28.3-70.8 8.2-108 .9-17.93zm139 50.57l-46.6 50.77-3.9 51.1 10.6-26.2 30.4-13.7c3.2-20.6 6.3-41.3 9.5-61.97zm60.3 51.17l-85.7 38.4-102.6 255.9 14.6 83.3h7.8l147.6-293.1 16.7 8.4-143.4 284.7h24.4l146.6-291.8zm-340.2 18.9l-54.11 99.1 69.11 259.6h93.6l-51.1-274.8 18.3-3.4 51.8 278.2h19.9l-50.7-289.4zm358.3 260.4l-65.8-5.2-49.8 99.2 69.8-36.7zm-435.96-28l42.47 126.7h30.99L80.6 389.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalShine;

impl IconShape for CrystalShine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.396 21.375l-17.503 64.1c-1.133 2.452-1.782 5.172-1.782 8.05 0 10.634 8.62 19.256 19.255 19.256 10.634 0 19.256-8.62 19.256-19.255 0-.72-.045-1.426-.122-2.125h.022l-.05-.18c-.23-1.917-.737-3.746-1.488-5.45l-17.586-64.395zm118.21 31.494l-46.21 45.77c-6.03 3.254-10.126 9.626-10.126 16.956 0 10.633 8.622 19.254 19.255 19.254.668 0 1.327-.034 1.977-.1 7.608 5.175 14.85 11.125 21.6 17.875 57.872 57.872 57.87 151.418 0 209.29-6.75 6.747-13.99 12.694-21.594 17.868-.65-.066-1.308-.1-1.975-.1-10.634 0-19.256 8.623-19.256 19.256 0 7.006 3.757 13.12 9.352 16.49l46.694 46.252-18.545-70.55c6.468-4.81 12.67-10.137 18.536-16.003l6.608-6.61-.334-.332c3.252-3.637 6.305-7.388 9.183-11.23l71.057 18.68-51.63-52.126c6.54-15.08 10.757-30.926 12.636-46.996l70.61-19.282-70.56-19.267c-1.82-15.925-5.937-31.633-12.343-46.59l51.234-51.727-70.318 18.483c-4.842-6.536-10.22-12.8-16.144-18.723-5.794-5.794-11.916-11.063-18.298-15.824l18.587-70.717zm-236.307.005l17.112 65.107c.218 1.76.662 3.45 1.322 5.032l.153.582c-6.38 4.76-12.498 10.023-18.29 15.814-5.92 5.92-11.294 12.18-16.136 18.715L54.024 139.61l51.31 51.802c-6.41 14.945-10.535 30.64-12.376 46.553l-70.562 19.27L92.95 276.5c1.856 16.108 6.06 31.994 12.595 47.105l-51.574 52.07 70.952-18.648c4.722 6.312 9.94 12.368 15.676 18.102 5.815 5.814 11.96 11.102 18.367 15.876-1.004 2.215-1.613 4.646-1.707 7.213l-16.678 63.456 48.91-48.447-.037-.08c3.86-3.52 6.297-8.575 6.297-14.21 0-10.634-8.622-19.256-19.256-19.256-.395 0-.786.015-1.176.04-7.573-5.16-14.783-11.088-21.506-17.81-57.872-57.872-57.872-151.417 0-209.29 6.725-6.723 13.938-12.65 21.514-17.81.39.022.782.036 1.178.036 10.634 0 19.254-8.62 19.254-19.254 0-6.22-2.963-11.736-7.54-15.256L140.3 52.875zm127.436 89.87v49.02l33.602 19.292 46.18-25.045-79.782-43.268zm-18.69.312l-79.722 42.957 46.31 24.955 33.413-19.062v-48.85zM159.9 202.164v114.012l46.346-24.975v-64.063L159.9 202.164zm196.985.027l-46.342 25.134v63.7l46.342 25.136V202.19zm-98.367 5.83l-33.584 19.158v64.285l33.584 19.162 33.336-19.145v-64.318l-33.336-19.14zm43.082 99.416l-33.864 19.445v47.056l78.24-42.432-44.376-24.068zm-86.24.084l-44.495 23.976 78.182 42.127v-46.885L215.36 307.52zm43.005 94.234c-10.634 0-19.254 8.622-19.254 19.256 0 2.74.582 5.342 1.615 7.703l17.67 64.713 17.787-65.12c.57-1.39.965-2.86 1.197-4.388l.06-.23h-.026c.122-.878.207-1.767.207-2.678 0-10.634-8.62-19.256-19.255-19.256z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CrystalWand;

impl IconShape for CrystalWand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M377.154 21.04l4.06 50.167 54.32 2.856 2.677 54.306 50.173 3.898-7.994-102.88-103.236-8.35zM359.31 32.267L245.954 145.623l44.086 3.566 72.837-72.842-3.566-44.08zm16.696 57.38l-72.98 72.983 2.19 41.692 41.526 2.05 73.004-73.01L417.7 91.84l-41.694-2.192zm56.836 57.05l-72.457 72.46 3.433 44.213 113.24-113.237-44.216-3.436zm-196.213 16.92l7.483 92.525-43.234-43.235c-.846 7.773-2.35 14.887-4.5 21.356l78.48 78.482c6.443-2.176 13.52-3.72 21.244-4.613l-42.5-42.5 92.203 7.164-3.723-47.943-54.648-2.696-2.868-54.662-47.94-3.877zm-48.855 88.472c-4.9 7.32-11.07 13.37-18.474 18.187l69.585 69.584c4.836-7.382 10.892-13.547 18.2-18.458l-69.31-69.312zm-36.392 26.7c-6.41 2.14-13.407 3.69-20.983 4.66l29.25 29.25.34-.34 13.215 13.216-.34.34 52.697 52.697c1.007-7.542 2.585-14.51 4.75-20.894l-78.93-78.93zM135.53 315.01L17.09 433.094v22.17l129.348-129.348-10.905-10.904zm24.12 24.12L17.088 481.69V495h53.73l122.35-122.35-33.518-33.517z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Crystalize;

impl IconShape for Crystalize {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.785 37.605l-2.242 6.14s-17.637 48.195-43.14 94.23c-25.83 46.624-27.81 45.724-59.56 91.02-21.79 31.088-45.966 65.665-45.966 110.42 0 86.952 70.57 158.216 157.445 158.218 86.877.002 157.446-71.266 157.444-158.22 0-44.647-24.275-79.385-45.955-110.407-31.968-45.738-34.803-46.012-60.623-92.617C278.693 90.37 262.13 43.82 262.13 43.82l-2.21-6.217h-13.135zm14.553 53.91c6.923 15.817 15.76 34.54 26.502 53.93 2.427 4.382 4.61 8.263 6.693 11.932-8.75-5.492-17.206-7.09-23.43-3.498-12.884 7.438-11.325 34.263 3.483 59.91 14.808 25.65 37.26 40.412 50.144 32.974 7.982-4.61 10.415-16.658 7.596-31.256 4.793 6.682 10.236 14.287 17.166 24.203 3.74 5.353 7.452 10.707 11.047 16.095l-32.55 28.63-96.86-48.087 30.208-144.834zm-21.535 11.717L215.457 219.96c-2.022-3.156-4.77-4.95-8.22-5.028-13.51-.304-32.587 25.708-42.6 58.093-10.013 32.386-7.177 58.89 6.336 59.194 3.61.08 7.62-1.734 11.748-5.033l-7.93 25.036-59.503-24.89c3.816-32.54 22.478-59.962 41.858-87.61 31.478-44.904 34.522-45.61 60.605-92.692 8.453-15.256 15.815-30.24 22.053-43.798zm-14.412 151.13l41.05 20.382c-23.878 4.858-41.848 25.972-41.848 51.287 0 28.91 23.433 52.343 52.34 52.343 15.083 0 28.667-6.387 38.218-16.596l-3.572 32.907-76.04 22.18-44.308-54.653 34.16-107.847zm145.258 17.44c4.188 7.078 8.015 14.266 11.22 21.653-1.008-.193-2.032-.305-3.073-.305-14.32 0-25.932 18.828-25.932 42.047 0 23.22 11.61 42.047 25.932 42.047 3.078 0 6.03-.876 8.77-2.473-3.75 14.402-9.734 27.906-17.56 40.11l-39.808-18.534 10.674-98.352 29.778-26.19zm-255.85 75.587l49.354 20.64c-9.514 3.844-16.23 13.162-16.23 24.052 0 14.32 11.61 25.932 25.932 25.932 11.32 0 20.94-7.258 24.478-17.37l21.62 26.667-8.634 45.104c-53.702-17.164-93.218-66.33-96.52-125.025zm219.294 71.383l24.54 11.428c-25.442 29.812-63.17 48.744-105.31 48.743-8.128 0-16.09-.71-23.834-2.062l7.867-41.08 30.368-8.857c-6.227 4.895-10.264 10.065-10.762 14.573-1.096 9.93 15.284 12.87 36.585 6.57 21.246-6.285 39.364-19.39 40.547-29.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cubeforce;

impl IconShape for Cubeforce {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.664 27.143l-120.826 69.76V236.42l120.826 69.758 120.824-69.758V96.902l-120.824-69.76zm0 21.58l97.207 56.125-94.868 54.77-97.21-56.12 94.872-54.775zm.79 47.554c-16.622 0-31.888 5.78-43.923 15.426l46.052 26.58 43.564-25.11c-12.29-10.524-28.24-16.896-45.69-16.896zM157.528 120.88l93.96 54.25v104.747l-93.96-54.246V120.88zm204.274 2.7v102.05l-91.624 52.9V176.48l91.625-52.9zm-171.216 35.252c-.28 2.547-.436 5.13-.436 7.752 0 29.456 18.122 54.667 43.82 65.13v-47.876l-43.384-25.006zm139.94 2.24l-42.83 24.516v45.826c25.3-10.644 43.068-35.66 43.068-64.83 0-1.857-.095-3.69-.237-5.512zM116.57 227.39l-91.615 52.895V419.8l120.826 69.76 111.548-64.404 111.547 64.403L489.7 419.8V280.287l-86.944-50.2v19.48l-1.818 1.05 65.146 37.613L371.214 343l-65.148-37.613-18.69 10.79 73.323 42.332V463.26l-93.962-54.248v-80.916l-7.074 4.084-11.746-6.782v83.614l-91.625 52.9v-102.05l75.66-43.68-18.69-10.79L148.12 343 50.91 286.88l65.66-37.91v-21.58zm30.002 52.268c-16.623 0-31.888 5.783-43.924 15.428l46.05 26.578 43.566-25.11c-12.29-10.524-28.242-16.896-45.692-16.896zm223.094 0c-16.623 0-31.887 5.783-43.922 15.428l46.05 26.578 43.565-25.11c-12.29-10.524-28.244-16.896-45.694-16.896zm-326.02 24.606l93.958 54.248V463.26l-93.96-54.248V304.264zm427.366 2.7V409.01L379.39 461.91V359.86l91.622-52.897zm-394.31 35.25c-.28 2.546-.436 5.13-.436 7.75 0 29.457 18.12 54.668 43.818 65.13V367.22L76.7 342.212zm223.093 0c-.28 2.546-.436 5.13-.436 7.75 0 29.456 18.122 54.665 43.818 65.128V367.22l-43.383-25.007zm-83.152 2.24l-42.83 24.517v45.825c25.3-10.644 43.066-35.66 43.066-64.83 0-1.857-.096-3.69-.237-5.512zm223.095 0l-42.83 24.517v45.825c25.3-10.644 43.065-35.66 43.065-64.83 0-1.857-.093-3.69-.235-5.512z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cubes;

impl IconShape for Cubes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M388.53 21.53c-38.006 30.546-63.492 66.122-83.952 103.687 12.746 7.812 25.587 14.923 38.516 21.38l88.744 34.04c13.746 3.8 27.583 6.995 41.51 9.625 13.493-42.908 19.872-85.824 19.433-128.73l-104.25-40zm-266.813 3.88l15.133 64.967 68.95 16.38-12.993-64.525-71.09-16.822zm-17.594 6.848L66.896 79.803l12.358 62.025 39.494-46.785-14.625-62.785zm27.783 76.148l-37.094 43.97 52.165 7.718c7.243-2.11 14.482-4.097 21.716-5.967l27.62-30.408-64.407-15.314zm170.57 37.346l8.776 58.912c5.91 6.06 11.636 12.256 17.13 18.615l89.024 34.157 45.317-50.218c-54.72-11.1-108.31-30.82-160.248-61.468zm-70.09 13.482c-49.324 9.35-98.335 21.9-147.224 42.645 40.825 34.878 76.848 72.364 105.988 113.538l149.204-44.686c-26.533-41.862-66.002-77.02-107.97-111.498zM65.71 209.848C45.093 260.13 28.07 311.115 24.24 367.025c24.535 52.892 70.202 90.623 110.764 119.72l42.476-158.45c-29.975-42.853-68.05-81.942-111.77-118.447zM351.07 287.03L195.39 333.66l-42.146 157.22c52.167-7.854 103.99-21.873 155.822-48.26 24.952-53.52 30.504-99.728 42.002-155.587z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cultist;

impl IconShape for Cultist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.495 20.105C176.67 77.45 133.118 142.24 128 207.63l92.155 54.124-55.14-56.092c3.663-46.824 34.847-93.22 93.44-134.283 58.593 41.06 89.594 87.573 93.257 134.393l-55.15 55.957 92.162-53.947C383.61 142.397 340.32 77.45 258.494 20.105zM221.72 165.123c-7.276 0-14.467 5.39-21.096 13.498 13.207 15.957 29.007 16.098 42.19 0-6.682-8.27-13.746-13.5-21.094-13.497zm70.484 0c-7.275 0-14.467 5.39-21.096 13.498 13.208 15.957 29.01 16.098 42.194 0-6.683-8.27-13.75-13.5-21.098-13.497zm-154.47 73.31l-1.89 1.758c-.005-.03-.015-.06-.02-.09l-.13.232-65.703 61.172c23.93 63.466 22.342 126.924 19.86 190.39h37.96c-6.974-34.9-14.004-77.445-14.817-121.09 9.11 6.8 20.807 11.917 34.938 14.743-11.63-10.79-17.805-24.947-15.8-39.158 15.38 7.1 32.653 9.094 50.66 4.612-18.75-8-34.94-23.658-43.06-43.756 26.933 14.15 55.292 18.642 79.36 9.774-36.237-8.91-74.074-37.57-82.896-75.346.505-1.084 1.015-2.165 1.54-3.24zm236.533 0c.302.62.59 1.247.886 1.87l-.11-.203c-8.12 38.556-46.53 67.887-83.27 76.92 25.592 9.43 56.036 3.753 84.458-12.58-7.7 21.447-24.524 38.192-44.14 46.562 16.47 4.1 32.326 2.785 46.682-2.9 1.297 13.63-4.84 27.088-16.003 37.445 14.82-2.964 26.97-8.446 36.258-15.748-.722 43.995-7.808 86.924-14.836 122.095h37.96c-2.484-63.467-4.072-126.925 19.857-190.39l-67.743-63.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CupidonArrow;

impl IconShape for CupidonArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.188 22.906v26.72l55.374 54.03c4.672-5.725 9.81-10.895 15.313-15.47L22 22.907h-3.813zm323.03 57.875c-33.02.364-67.89 19.083-88.468 59.032L244.406 156l-8.28-16.22c-26.002-50.874-67.868-64.366-104.157-53.874C95.68 96.4 64.62 131.9 63.874 185.97c-.792 57.587 33.99 92.34 73.313 130.686 34.784 33.92 72.897 70.298 85.812 125.313 25.558-33.53 54.225-61.36 81.72-86.658l-77.564-75.406h-.03v-.03c-6.18-6.055-8.758-14.43-7.69-21.72 1.07-7.29 4.987-13.397 10-18.03 5.016-4.635 11.31-7.964 18.408-8.876 1.774-.228 3.61-.282 5.47-.125 5.57.47 11.283 2.727 15.75 7.094.005.005.024-.007.03 0l77.812 75.655.063.063.03.03c.452.453.897.87 1.344 1.313.984-.926 1.995-1.855 2.97-2.78 43.534-41.35 74.882-79.595 75.655-133.78.826-57.986-30.668-89.133-68.22-96.376-4.694-.906-9.494-1.41-14.344-1.53-1.06-.028-2.122-.044-3.187-.033zm-90.124 168.907c-.28.018-.565.054-.875.094-2.48.32-5.677 1.83-8.095 4.064-2.418 2.234-3.896 5.01-4.188 7-.29 1.978-.197 3.274 2.22 5.656l.03.03 77.844 75.658.033.03c27.01 26.466 41.222 44.93 40.906 64.157-.16 9.614-4.967 18.253-12.033 24.844-3.662 3.415-7.95 6.473-12.78 9.374C377.94 466.61 439.006 489.682 491.25 495c-1.076-50.902-26.66-107.724-55.156-150.97-1.19 2.483-2.446 4.96-3.906 7.314-4.697 7.568-11.49 14.616-21.22 17.25-9.727 2.633-20.91.464-33.28-6.188-12.35-6.638-26.502-17.825-43.813-35.125l-.094-.092-77.75-75.594H256c-1.606-1.574-2.94-2.032-4.906-1.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurledLeaf;

impl IconShape for CurledLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M65.406 22.438C-32.612 123.463 45.7 279.385 140 313.03c110.753 39.518 281.45-48.678 329.688 68.314 2.887 11.273 2.674 21.795.312 31.47-4.584 18.77-17.86 34.842-35.094 45.405-17.233 10.562-38.186 15.343-56.875 12.25-18.688-3.095-35.237-13.374-46.06-34.845-7.256-14.418-7.834-25.936-5.25-34.72 2.582-8.782 8.476-15.232 16.092-19.06 15.233-7.66 36.52-4.87 49.22 17.624 7.496 13.276 2.582 22.546-3.782 26.53-3.182 1.992-6.634 2.58-10.313 1.375-3.678-1.206-8.1-4.4-12.062-12.156l-16.625 8.5c5.66 11.08 13.76 18.427 22.844 21.405 9.084 2.978 18.624 1.375 26.062-3.28 14.877-9.314 21.654-31.144 10.125-51.564-17.02-30.146-50.187-37.035-73.874-25.124-11.843 5.956-21.537 16.6-25.625 30.5-4.087 13.9-2.42 30.645 6.5 48.375 13.307 26.393 35.835 40.927 59.69 44.876 23.852 3.95 48.938-2.013 69.717-14.75 20.78-12.736 37.512-32.51 43.47-56.906 4.178-17.11 2.728-36.26-5.844-55.844.012-.196.02-.397.03-.594-.86-1.67-1.738-3.302-2.624-4.906-3.296-6.525-7.39-13.095-12.345-19.625l-.22.158c-15.118-20.04-33.1-33.376-53.624-43.282-29.513-14.245-64.506-20.966-102.374-27.937-75.736-13.944-163.31-29.618-236.344-115.533l14.22-12.093c69.026 81.2 149.666 95.258 225.5 109.22 37.916 6.98 74.522 13.763 107.124 29.5 22.7 10.955 43.322 26.472 60.406 48.967C464.098 111.956 141.36 206.986 65.406 22.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurledTentacle;

impl IconShape for CurledTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M309.822 19.695c-91.36.614-193.674 54.694-233.935 133.168-58.023 113.09-28.643 221.764 35.04 336.393l190.57-.002c.726.028 1.463.042 2.222.02.142-.002.28-.015.423-.02h53.826c-10.486-3.502-20.882-7.894-31.085-13.047 10.072-16.983 2.354-44.398-23.168-43.71-10.64.29-18.18 5.295-22.633 12.222-9.458-8.397-18.286-17.478-26.467-27.068 14.902-15.993 8.335-49.138-19.69-48.38-4.657.125-8.716 1.157-12.187 2.855-5.633-9.91-10.662-20.057-15.035-30.328 19.106-14.293 13.695-52.217-16.244-51.435-1.302-6.297-2.35-12.564-3.124-18.773-.55-4.415-.957-8.795-1.234-13.135 27.28-5.747 28.78-46.347 4.5-54.635 2.133-8.412 4.962-16.413 8.507-23.892l.038-.08c3.723 2.18 8.316 3.415 13.788 3.267 24.495-.642 31.46-28.02 20.904-43.215 4.208-3.165 8.632-6.252 13.332-9.234 1.612-1.023 3.26-1.98 4.932-2.897 2.136 11.04 10.508 20.495 25.126 20.1 19.36-.506 27.768-17.725 25.23-32.423 10.7-.52 20.69.4 29.788 2.475-3.264 13.06 3.77 28.85 21.106 28.38 7.844-.205 13.576-3.63 17.203-8.513 1.39 1.358 2.702 2.763 3.927 4.208 5.093 6.01 8.785 12.684 10.91 19.893-16.187 5.228-16.828 29.973-1.92 35.932-3.047 8.154-7.957 16.63-15.078 25.203-2.402-2.767-6.02-4.564-10.86-4.433-13.943.38-17.764 16.166-11.48 24.613-7.052 4.543-13.68 7.366-19.712 8.86.646-5.998-2.903-12.428-10.666-12.22-7.328.2-10.9 6.108-10.737 11.784-.245-.09-.493-.178-.733-.273-3.894-2.125-7.526-5.38-10.77-10.09 10-2.95 10.16-18.5.458-21.31 1.414-3.197 3.41-6.582 6.097-10.094 2.516 1.67 6.553 2.795 12.133 2.72 12.562-.16 17.35-6.17 14.387-10.68.03.004.058.005.088.007-.056-.047-.113-.09-.168-.137-.805-1.158-2.132-2.21-3.975-3.03-9.49-6.445-20.606-8.778-30.73-7.298l-.29-.275c-.12.126-.23.253-.35.38-20.527 3.34-36.708 22.448-26.394 54.75 38.275 119.87 242.354 18.336 199.733-111.55-26.183-79.795-79.363-114.193-151.262-115.053v.01c-1.444-.017-2.892-.02-4.342-.012zm10.998 54.41c14.242.315 19.363 14.59 15.375 25.27-8.943-1.925-18.474-2.888-28.455-2.764-1.802.024-3.62.087-5.45.18-1.875-10.222 3.933-22.308 17.437-22.68.37-.01.734-.012 1.093-.005zm-89.662 19.678c10.26.227 15.777 7.702 16.578 15.856-10.812 4.692-20.504 10.55-29.088 17.374-11.32-9.146-7.527-32.72 11.416-33.227.37-.01.735-.012 1.094-.004zM399.52 117.52c20.92.463 22.177 31.056 3.753 36.11-2.97-8.64-7.556-16.664-13.53-23.714-1.64-1.933-3.376-3.795-5.206-5.584 2.952-3.906 7.578-6.64 13.89-6.81.37-.01.734-.01 1.093-.002zm-220.913 47.916c2.688.06 5.046.62 7.084 1.556-.853 1.626-1.68 3.27-2.467 4.932-4.48 9.448-7.923 19.466-10.397 29.908-18.905-3.996-17.358-35.804 4.688-36.394.37-.01.734-.01 1.093-.002zm224.227 36.566c17.194 5.42 15.09 35.413-6.303 35.97-5.064.137-9.04-1.437-11.94-4 8.517-10.48 14.57-21.238 18.244-31.97zM164.51 255.506c.713.016 1.403.067 2.078.14.545.32 1.106.618 1.685.897.292 5.745.794 11.534 1.518 17.355.948 7.61 2.286 15.275 3.946 22.957-.64.555-1.246 1.14-1.824 1.75-2.54 1.096-5.447 1.763-8.738 1.848-28.972.78-28.968-44.158-.002-44.943.452-.012.9-.014 1.338-.004zm193.303 2.953c3.933 8.724-.404 21.676-13.012 22.007-7.69.208-12.293-4.443-13.83-10.127 8.665-2.06 17.738-5.972 26.842-11.88zm-170.31 88.552c.675.062 1.36.11 2.06.13 5.634 13.552 12.316 26.887 19.998 39.79-.043.115-.084.23-.126.347-3.702 3.412-8.744 5.656-15.157 5.822-27.942.752-30.193-39.013-6.773-46.09zm49.524 78.914c11.59 14.01 24.498 27.076 38.655 38.8-4.436 7.024-12.017 12.112-22.752 12.39-29.78.806-35.312-36.62-16.627-51.134.243-.016.484-.035.724-.056z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurlingVines;

impl IconShape for CurlingVines {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M436.906 21.22c-8.032.064-17.54 1.217-28.625 3.718 65.616 3.342 39.668 48.252 1.22 68.28-30.932 7.564-54.88 22.71-66.5 38.376-2.99 4.032-5.277 8.21-6.22 12.97-.53 2.684-.515 5.703.22 8.592-6.823 3.036-12.114 7.732-15.156 13.656-9.608 18.713 2.705 45.254 44.687 44.375-34.522-5.522-29.87-50.62 11.876-38.625l.03-.093c1.246.472 2.52.912 3.845 1.343 45.603 14.805 58.067 43.665 54.876 61.468-1.595 8.903-6.564 15.18-14.594 17.97-8.03 2.79-20.23 2.052-36.28-7.438v.032c-8.874-5.603-18.476-9.237-28.25-10.53-12.003-1.59-24.365.628-35.032 6.967l-.125-.155c-38.065 24.243-55.985-19.317-23.22-34.97-42.085 11.47-39.62 37.586-24.53 53.407 4.892 5.124 10.563 8.736 17.063 10.282-36.324 28.3-79.572 37.478-107.438 30.187-14.514-3.796-24.514-11.35-29.438-22.655-4.053-9.307-4.848-22.003.22-38.656 1.896 3.908 4.593 7.465 7.968 10.686 15.818 15.086 41.93 17.587 53.406-24.5-15.655 32.763-59.243 14.81-35-23.25l-.03-.03c4.996-4.574 10.544-9.182 16.718-13.782 10.74-8.004 18.083-17.94 22.25-28.72 2.012 1.835 4.17 3.4 6.437 4.69 9.027 5.12 19.622 5.314 28.47 1.467 17.667-7.68 28.613-29.98 22.625-56.593-.01-.04-.022-.083-.03-.124-5.912-43.874 40.72-42.28 41.655-6.126 5.23-33.76-8.847-46.27-25.094-46.624-.568-.013-1.145-.018-1.72 0-4.01.12-8.11.97-12.06 2.374-17.992 6.408-29.057 23.388-21 54.532 4.526 19.948-3.854 31.975-11.813 35.436-3.98 1.73-7.777 1.697-11.813-.594-4.036-2.29-8.63-7.37-11.813-17.312h-.03c-1.884-19.53-11.59-38.89-26.188-55.813-25.823-29.93-67.592-52.936-113.5-53-1.482-.002-2.98.017-4.47.063-6.807.21-13.724.936-20.656 2.22-13.555 2.508-24.055 7.9-31.032 15.5-6.976 7.596-10.06 17.516-8.687 26.905 2.748 18.778 21.662 33.518 48.625 34.563v-.094c41.574 6.197 28.145 49.054-6 40.844 39.224 17.305 53.466-4.186 51.75-25.594C113.003 98.216 100.52 84.458 69.47 83c-20.802-.806-29.742-10.816-30.876-18.563-.567-3.873.413-7.656 4-11.562 3.586-3.906 10.122-7.83 20.656-9.78 30.994-5.738 61.606 1.86 86.5 16.25-5.135 1.856-9.706 5.045-13.75 9.28-15.09 15.822-17.59 41.935 24.5 53.406-32.767-15.65-14.846-59.21 23.22-34.968l.03-.03c.184.21.38.413.563.624 13.186 15.286 20.987 32.277 21.906 47.25.917 14.973-4.115 27.985-18.814 38.938-27.91 20.8-45.612 42.505-54.562 63.47-7.02 13.366-14.7 18.375-21.53 19.75-7.01 1.407-14.38-1.003-20.72-6.345-6.34-5.343-11.104-13.51-12.25-21.657-1.146-8.15.727-16.13 8.25-23.75l-.063-.063c16.246-17.097 28.458-11.82 25.907 16.625 15.532-26.902 2.804-42.35-13.843-42.344-8.604.004-18.237 4.128-25.563 12.94-11.183 11.493-15.03 26.1-13.186 39.218 1.092 7.766 3.983 15.04 8.156 21.406-14.864 3.695-24.072 15.795-27.28 29-5.74 23.643 6.367 50.204 53.31 37.844-40.282 3.147-45.326-60.28 2.564-45.188l.03-.094c5.846 1.6 12.07 1.987 18.376.72 3.726-.75 7.375-2.075 10.906-3.97.655 20.03 10.09 37.605 25.438 48.875 8.294 6.09 18.098 10.423 29 12.75 28.34 10.235 37.578 33.04 34.125 52.69-3.65 20.763-20.855 38.536-55.064 33.717v-.03c-45.96-10.195-27.063-55.586 8.656-42.97-12.347-7.056-22.527-9.82-30.718-9.625-18.022.428-26.378 15.295-26.75 30.97-.39 16.733 7.874 30.675 30.062 37.593 33.648 23.994-11.885 60.06-37.22 30.438 24.93 42.746 52.786 32.332 65.69 11.156 6.8-11.167 9.034-25.468 2.5-38.283 11.814-.413 22.282-3.384 31.093-8.218.79 12.907 7.522 21.706 17.78 27.31 18.752 10.243 44.032 5.985 44.22-36.655-6.485 34.86-52.068 29.015-38.94-12.938 3.5-5.966 5.905-12.478 7.095-19.25 3.327-18.93-2.59-39.604-17.563-55.125 18.313-2.714 38.102-10.17 58.125-23.125.013.438.004.878.032 1.313.87 13.752 8.91 25.195 19.436 32.53 10.525 7.337 23.78 11.064 37.03 9.44 13.254-1.627 26.493-9.203 34.69-23.19l-.095-.06c12.408-20.99 2.617-45.45-15.28-44.783-7.3.273-15.954 4.732-24.97 15.313 26.82-12.334 35.98-1.915 24.376 20.156l-.156-.094c-5.414 9.24-12.676 13.092-20.844 14.094-8.168 1.002-17.262-1.447-24.062-6.187-6.8-4.74-11.048-11.274-11.5-18.408-.396-6.242 1.856-13.876 10.344-22.78.03-.032.064-.063.093-.094 2.884-2.667 5.762-5.46 8.626-8.375 22.778-17.49 48.374-15.892 68.688-2.438 18.207 12.06 31.616 33.958 32 61.72-.846 15.68-5.114 33.148-14.125 52.124l-.095-.064c-25.81 39.867-90.637 65.517-75.22-6.5-42.27 80.47 23.97 85.655 71.22 33.594-41.535 69.815 9.265 100.4 48.156 59.156-38.243 16.99-51.414-20.927-30.967-70.594h.03c4.744-9.025 8.524-17.868 11.47-26.5l.25.094c20.84-40.023 58.14-11.25 37.593 18.688 30.71-30.977 15.506-52.346-5.47-58.5-8.32-2.436-16.504-2.296-24.155 1.28.027-1.988-.01-3.956-.092-5.905v-.158c.444-24.372-6.092-45.647-16.782-62.25 5.33-.002 10.372-.817 15.03-2.437 14.478-5.032 24.225-17.692 26.845-32.313.413-2.3.667-4.654.75-7.03.002-.02 0-.043 0-.063 6.647-22.772 24.25-23.93 36.533 2.56-.003-35.37-25.383-40.707-41.75-27.936-8.972-20.076-29.596-39.217-63-50.063-10.21-3.313-14.798-7.486-16.438-10.405-1.64-2.92-1.608-5.352.375-9.313 3.876-7.74 17.467-17.59 32.563-19.968.158-.023.31-.04.468-.063 54.322-7.65 88.576 15.056 61.97 47.97 49.906-26.893 33.498-83.894-44.688-61.844 54.705-28.146 70.82-81.647 14.594-81.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurlyMask;

impl IconShape for CurlyMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 19.327c-44.404 0-85.075 25.413-115.226 68.104-30.15 42.692-49.177 102.42-49.177 168.57 0 66.153 19.027 125.878 49.177 168.57 30.15 42.69 70.822 68.103 115.225 68.103 44.402 0 85.073-25.413 115.224-68.104 30.15-42.692 49.18-102.417 49.18-168.57 0-7.567-.262-15.045-.75-22.43-9.907 9.928-26.343 14.223-42.72 9.833-3.735-1-6.735-2.674-9.966-4.384 20.746.09 39.53-13.203 45.148-34.177 1.237-4.618 1.947-9.272 1.965-13.824-7.944-39.906-22.983-75.45-42.856-103.59C341.074 44.74 300.402 19.328 256 19.328zm.095 18.635c1.695 0 3.382.06 5.064.144 8.765 144.53 6.918 290.543-.495 435.868-1.52.07-3.042.117-4.57.117-39.322 0-75.49-23.216-102.424-62.54-26.933-39.325-43.983-94.456-43.983-155.524 0-7.892.29-15.684.843-23.357 9.798 10.56 26.714 15.252 43.576 10.733 3.734-1 6.734-2.674 9.965-4.384-20.745.09-39.526-13.203-45.145-34.177-1.526-5.698-2.265-11.452-1.865-17 7.448-33.496 20.187-63.36 36.61-87.338 26.935-39.325 63.103-62.543 102.425-62.543zm-73.537 90.766c-9.522-.218-19.77 3.373-28.452 10.806-2.836 2.432-4.8 5.177-6.945 8.05 17.766-8.51 38.738-4 51.224 12.864 4.607 6.222 8.022 13.125 9.207 20.48 6.908-13.48 7.252-29.09-.944-40.16-5.772-7.797-14.567-11.823-24.088-12.04zm165.045 0c9.52-.218 19.77 3.373 28.45 10.806 2.838 2.432 4.803 5.177 6.948 8.05-17.764-8.51-38.736-4-51.222 12.864-4.606 6.222-8.022 13.125-9.207 20.48-6.906-13.48-7.252-29.09.945-40.16 5.772-7.797 14.566-11.823 24.088-12.04zm-186.166 32.28c-14.874.436-27.463 11.917-26.122 33.112 3.422 54.03 89.474 18.397 112.102 68.572 8.186-57.92-54.648-37.67-83.06-64.85-10.124-9.687-5.72-29.064 14.89-32.196-5.822-3.29-11.99-4.81-17.81-4.64zm207.542 0c14.873.436 27.462 11.917 26.12 33.112-3.423 54.03-89.475 18.397-112.103 68.572-8.186-57.92 54.648-37.67 83.06-64.85 10.124-9.687 5.72-29.064-14.89-32.196 5.822-3.29 11.992-4.81 17.812-4.64zm-192.186 89.57c-19.31-.18-37.892 8.713-47.117 26.136 14.682 51.855 87.82 42.854 103.023 10.254-11.2-24.32-34.02-36.183-55.906-36.39zm168.004 0c19.31-.18 37.89 8.713 47.115 26.136-14.684 51.855-87.818 42.854-103.02 10.254 11.2-24.32 34.02-36.183 55.905-36.39zm-94.613 43.19c-18.674 35.045-69.98 71.408-108.145 39.163 24.196 52.075 108.984 32.978 108.145-39.16zm27.67 0c18.673 35.045 69.982 71.408 108.146 39.163-24.195 52.075-108.985 32.978-108.146-39.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurlyWing;

impl IconShape for CurlyWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M28.375 21.72c6.463 186.873 211.64 185.96 332.47 279.624-78.192-33.86-206.354-26.42-299.126-86.594 43.276 140.637 197.64 94.335 311 132.563-67.51-6.592-156.55 31.527-240.72 1.375 74.328 117.156 170.745 38.902 264.156 39.593-47.114 12.005-95.76 64.52-160.812 59.595 79.27 76.296 120.778 2.205 177.562-26.188-.07.084-.15.166-.22.25 2.22-1.165 4.625-2.058 7.19-2.625 1.936-.427 3.872-.658 5.78-.687 13.36-.206 25.476 9.006 28.47 22.563 1.32 5.986.66 11.957-1.532 17.218-.083-.604-.18-1.206-.313-1.812-2.682-12.156-14.718-19.84-26.874-17.156-12.156 2.683-19.84 14.72-17.156 26.875.374 1.692.945 3.277 1.656 4.78-.185-.126-.38-.244-.562-.374.558.9 1.158 1.77 1.78 2.624 1.213 1.946 2.702 3.687 4.407 5.156 7.127 7.04 16.797 11.55 27.595 12.03 23.13 1.032 42.72-16.9 43.75-40.03.837-18.794-10.812-35.25-27.625-41.313-.01-.003-.022.004-.03 0-9.58-5.346-17.946-11.836-25-19.062 16.04 7.166 35.522 3.674 48.03-10 15.627-17.084 14.46-43.592-2.625-59.22-9.736-8.904-22.52-12.34-34.625-10.5-3.198.18-6.39 1.124-9.28 2.97-8.988 5.736-11.612 17.67-5.876 26.656 5.736 8.988 17.67 11.612 26.656 5.876 4.744-3.028 7.687-7.768 8.594-12.906 2.496 11.418-2.164 23.686-12.594 30.344-13.374 8.536-31.15 4.623-39.688-8.75-2.726-4.272-4.158-8.993-4.437-13.72-.002-.03-.03-.062-.03-.093-.348-2.14-.608-4.283-.75-6.405-9.925-146.86-254.66-165.998-379.22-312.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CursedStar;

impl IconShape for CursedStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.125 16.938L216.22 128.094 97.343 164.25l106.53-4.22-36.436 94.407L270.156 106.25l50.22 64.406-61.25-153.72zm50.406 63.687l36.376 102.28-102.344-6.75 172.063 53.876-46.5 67.126 128.47-104.28-116.94-7.69-71.124-104.56zm-123.467 98.97L20.97 190.437l87.936 71.375-.375 127.125 27.75-104.907 82.345 66.845L109.345 207.5l76.718-27.906zm71.156 18.968c-22.404 0-44.817 25.943-67.22 77.875 43.462 77.53 88.133 86.365 134.438 0-22.403-51.93-44.816-77.875-67.22-77.875zm.405 15.687c11.05 8.62 19 30.54 19 56.438 0 25.896-7.95 47.818-19 56.437-11.05-8.62-19-30.54-19-56.438 0-25.896 7.95-47.818 19-56.437zm82.53 10.594l5.19 180.22-78.595-22.064 140.47 87.438-30.408-111.313 73.563-103.47-82.875 69.376-27.344-100.186zM152.94 309.03l-43.594 159.595 98.906-61.53 120.656 39.436-90.5-58.217 87.094-54.188-171.22 56.53-1.343-81.624z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CurvyKnife;

impl IconShape for CurvyKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.656 16.156C42.71 16.533 31.24 29.793 24.5 44.813 6.05 85.91 32.88 81.803 71.156 90.374 79.272 66.585 86.96 48.042 94.72 31.53 87.197 27.1 79.315 22.944 71 19.126c-4.708-2.162-9.158-3.074-13.344-2.97zm52.907 25.5c-7.026 15.13-13.945 32.076-21.344 53.688 10.168 3.41 20.723 8.157 31.155 15.094 11.68-12.212 23.456-21.498 35.28-29.063-13.287-14.6-28.152-27.967-45.093-39.72zm57.28 53.97c-11.064 6.804-21.837 15.1-32.718 26.343 11.416 10.345 22.372 23.944 32.125 42.124 7.94-13.026 16.59-23.73 25.625-33.125-7.722-12.28-15.997-24.11-25.03-35.345zm104.876 6.655c-21.823 9.456-42.608 20.63-59.908 35.126-.123.117-.25.227-.375.344-13.47 12.74-25.593 27.446-36.28 48.72-2.3 5.677-4.237 11.678-5.72 18.03 21.49 66.477 64.75 126.913 119.5 172.094 33.212 37.003 79.484 67.087 129.47 89.03C300.828 433.35 196.2 335.897 155.124 217.563c-13.287 6.835-27.93 11.178-42.03 11.625 77.753 185.39 256.893 319.184 382.28 238.657-161.46-55.25-192.335-204.99-257.28-326.344 12.505-8.307 26.713-15.444 42.06-22.094l-7.436-17.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CutDiamond;

impl IconShape for CutDiamond {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.906 94.813l60.438 79.75 78.125-79.75H92.905zm189.25 0L359.25 173.5l58.688-78.688H282.155zm-25.344.843l-84.718 86.47H341.53l-84.717-86.47zm177.907 7.906l-58.626 78.563H494.53l-59.81-78.563zm-358.064.75l-57.78 77.813h116.78l-59-77.813zm-58.5 96.5L226.562 429.22 143.344 200.81H18.156zm145.063 0l93.593 256.844 93.593-256.844H163.22zm207.06 0L287.064 429.22 495.469 200.81H370.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct CutPalm;

impl IconShape for CutPalm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.977 18.703c-.496-.01-.984-.007-1.463.008-1.358.09-2.045.27-3.057.4L220.38 169.796c1.53 6.565 3.088 13.04 4.778 19.226l-18.027 4.926c-9.073-33.212-15.026-70.992-26.538-94.735-5.757-11.872-12.47-19.702-20.625-23.246-6.714-2.92-15.483-3.28-27.63.6 17.258 50.103 24.184 102.383 33.495 143.826 4.933 21.958 10.617 40.805 18.21 54.317 7.59 13.51 16.324 21.482 29.108 24.625l-4.463 18.148c-18.367-4.515-31.723-17.217-40.94-33.62-4.192-7.46-7.682-15.74-10.726-24.673-30.794 33.74-75.13 70.583-137.602 98.473v135.72h140.437c22.443-42.52 44.626-79.104 66.23-105.74 22.48-27.712 44.393-46.065 68.247-46.47l-.19.006 2.985-.112-28.434-81.853 21.164-7.057-33.67-79.035 68.99 92.844-27.9 7.52 31.3 66.41 149.417-5.558c4.266-5.493 7.614-14.578 8.1-23.91.467-8.97-1.767-17.213-5.073-22.166l-119.5 3.42c.137-8.21-.404-16.456-1.55-24.627l130.184-45.302c2.502-6.403 2.67-15.49-.002-24.108-2.58-8.326-7.588-15.26-12.38-18.79l-130.13 43.943c-3.504-8.287-7.594-16.232-12.177-23.694l108.244-77.542c.024-6.105-2.634-14.563-7.788-21.476-5.365-7.196-12.655-12.406-19.1-14.172l-109.396 79.31c-6.44-5.683-13.267-10.506-20.36-14.316L358.24 39.23c-2.26-4.454-6.892-9.397-13.256-13.218-7.39-4.438-16.575-7.177-24.007-7.31zm-8.975 336.23c-3.66 51.045-31.82 66.58-31.82 95.014 0 14.116 15.503 26.684 31.82 26.684 15.958 0 32.457-12.494 32.457-27.357 0-29.613-27.877-43.213-32.458-94.34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cycle;

impl IconShape for Cycle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.314 19.957c-72.036.363-142.99 33.534-189.18 95.97-69.83 94.39-59.125 223.32 19.85 304.993l-37.238 50.332 151.22-22.613L174.35 297.42l-43.137 58.308c-44.08-54.382-47.723-133.646-4.16-192.53 30.676-41.466 77.863-63.504 125.758-63.753 16.344-.085 32.766 2.382 48.645 7.467l-6.963-46.55c-23.858-4.86-47.908-5.026-71.017-.997-59.232 7.322-113.994 39.918-148.157 91.215 35.65-65.89 103.774-105.918 176.043-107.744 1.673-.042 3.347-.063 5.023-.065 14.8-.01 29.748 1.596 44.597 4.905l48.608-7.268c-31.14-13.906-64.32-20.62-97.274-20.453zm212.93 22.055l-151.217 22.61 22.614 151.22 41.126-55.588c42.204 54.29 45.092 132.048 2.187 190.043-40.22 54.367-108.82 75.32-170.19 57.566l6.522 43.598c28.726 5.533 58.236 4.414 86.203-3.07 37.448-5.957 73.34-22.05 103.16-47.728-49.196 54.65-122.615 77.514-191.744 64.34l-55.8 8.344c99.03 43.7 218.402 14.77 285.51-75.938 69.13-93.445 59.34-220.743-17.483-302.53l39.114-52.866z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Cyclops;

impl IconShape for Cyclops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.943 19.56c-48.746 0-93.137 25.71-125.85 68.436C101.82 127.54 81.96 181.56 79.167 241.744c4.252-7.944 11.468-13.637 21.397-13.637-14.08 20.83-16.54 41.658 0 62.487-9.812 0-16.714-4.63-20.91-11.365 4.14 56.884 23.546 107.807 52.44 145.547 32.713 42.728 77.104 68.44 125.85 68.44 48.747 0 93.137-25.712 125.85-68.44 28.806-37.625 48.187-88.35 52.406-145.027-4.225 6.453-11.028 10.844-20.587 10.844 16.54-20.83 14.08-41.658 0-62.487 9.685 0 16.79 5.416 21.078 13.055-2.892-59.95-22.72-113.75-52.897-153.166C351.08 45.27 306.69 19.56 257.943 19.56zm.057 80.944c69.594 0 128.227 46.16 149.412 109.76C317.6 99.23 196.635 100.256 107.318 213.05 127.71 148.043 187.42 100.503 258 100.503zm3.053 49.658c53.01 0 104.59 36.343 142.87 105.04.65 1.066.575.917.768 1.198l1.624 1.473v6.533l-2.177 3.983-.016.026c-38.297 68.92-89.963 105.374-143.06 105.373-53.096-.002-104.763-36.455-143.064-105.37l.295.494c-.437-.685-.244-.513-.444-.955l-4.475-3.972 4.605-8.418.013-.03c38.3-68.92 89.968-105.377 143.065-105.378zm0 18.69c-43.918 0-89.205 29.812-125.182 93.123 16.145 28.407 34.167 50.05 53.095 65.302-9.445-13.807-14.977-30.503-14.977-48.494 0-47.502 38.51-86.01 86.012-86.01 10.01 0 19.62 1.716 28.555 4.86-19.658 2.195-34.944 18.86-34.944 39.103 0 .963.05 1.914.117 2.86-25.64 4.19-45.354 26.554-45.354 53.336 0 29.742 24.312 54.054 54.055 54.054s54.054-24.312 54.054-54.054c0-7.705-1.643-15.04-4.578-21.688 12.173-6.693 20.424-19.635 20.424-34.508 0-1.687-.12-3.346-.326-4.978 8.846 13.517 14.008 29.664 14.008 47.025 0 19.657-6.607 37.763-17.703 52.248 20.696-15.367 40.42-38.227 57.935-69.05-35.977-63.316-81.27-93.13-125.19-93.128zm1.375 88.718c19.642 0 35.365 15.72 35.365 35.362 0 19.642-15.723 35.365-35.365 35.365-19.642 0-35.365-15.723-35.365-35.365 0-19.642 15.722-35.362 35.365-35.362zm-155.742 52.426c89.507 113.245 211.43 113.973 301.36 2.23C387.327 376.658 328.18 423.097 258 423.097c-71.007 0-131.28-47.486-151.314-113.102z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DaemonSkull;

impl IconShape for DaemonSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M142.026 16.89C94.242 38.888 62.71 74.257 62.71 113.927c0 26.11 13.42 50.288 36.22 70.04-11.664 25.398-18.99 53.91-20.81 84.212 17.194.562 33.53 4.205 48.192 11.7 41.566 21.25 61.083 66.944 57.787 121.093 7.566 1.83 15.284 3.355 23.122 4.58.894-16.76.83-33.468-.496-50.122l18.63-1.485c1.438 18.035 1.466 36.014.458 53.938 8.022.76 16.14 1.21 24.322 1.382v-56.235h18.687v56.13c7.83-.25 15.693-.755 23.565-1.514-.995-17.845-.96-35.745.47-53.7l18.63 1.485c-1.323 16.597-1.39 33.247-.504 49.95 7.307-1.07 14.6-2.355 21.863-3.843-3.467-54.395 16.04-100.333 57.748-121.656 14.66-7.497 30.998-11.142 48.19-11.702-1.843-30.716-9.343-59.594-21.284-85.252 22.08-19.56 35.044-43.346 35.044-69 0-39.67-31.532-75.04-79.316-97.035C386.283 33.46 394.32 53.31 394.32 74.27c0 42.688-31.51 79.614-77.026 97.146l-6.14-14.3c11.148-4.44 21.233-10.197 29.876-16.964 10.1-7.905 18.202-17.087 23.91-27.154-29.85-25.333-66.642-40.283-106.488-40.283-40.34 0-77.554 15.314-107.6 41.223 5.674 9.7 13.588 18.555 23.372 26.214 9.67 7.57 21.145 13.877 33.894 18.49l-6.125 14.264c-47.677-16.863-81.06-54.696-81.06-98.636 0-20.96 8.038-40.81 21.093-57.377zm10.286 183.128c.054-.004.1.004.127.037 18.414 23.35 51.93 39.697 91.086 43.162-5.892 19.698-26.99 34.53-52.67 34.53-30.21 0-55.148-20.584-55.148-45.517.002-12.465 6.205-23.997 16.11-32.173.083.094.33-.027.494-.04zm211.668.002c.053-.003.1.006.138.04 9.907 8.175 16.112 19.707 16.112 32.173 0 24.93-24.937 45.515-55.15 45.515-25.68 0-46.776-14.83-52.67-34.53 39.156-3.466 72.673-19.813 91.087-43.16.112.085.322-.03.483-.038zM258.4 244.174c5.625 27.42 13.928 54.84 32.91 82.26-20.274 5.432-44.818 5.627-65.82 0 17.968-27.42 26.834-54.84 32.91-82.26zm-76.31 175.54c-2.34 15.4-6.413 31.3-12.25 47.372 8.786 5.74 18.037 10.645 27.663 14.637 3.627-19.225 6.537-38.376 8.33-57.455-8.02-1.22-15.944-2.733-23.744-4.553zm152.802.48c-7.48 1.504-14.995 2.807-22.526 3.888 1.777 18.972 4.655 38.015 8.248 57.13 9.192-3.897 18.035-8.63 26.452-14.126-5.776-15.906-9.824-31.644-12.174-46.893zm-41.094 6.115c-8.335.8-16.668 1.323-24.975 1.58v65.694c11.644-.764 23.006-2.806 33.973-6.01-3.898-20.343-7.058-40.766-8.998-61.265zm-69.402.237c-1.953 20.54-5.13 41.002-9.043 61.385 11.227 3.18 22.86 5.146 34.783 5.773v-65.713c-8.642-.172-17.234-.645-25.74-1.445z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Daggers;

impl IconShape for Daggers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.844 19.156c-9.972.074-19.945 2.48-29.406 6.844v14.156h58.78V25.938c-9.4-4.524-19.348-6.855-29.374-6.782zM65.03 33.376c-16.145.014-31.578 5.59-44.093 16.343l3.688 13.75 56.78-15.22-3.655-13.656c-4.262-.735-8.505-1.223-12.72-1.22zm381.72 0c-4.21-.005-8.46.484-12.72 1.218l-3.655 13.656 56.78 15.22 3.69-13.75c-12.52-10.765-27.94-16.33-44.095-16.345zM240.72 57.187v99.156c-.49 1.148-.96 2.312-1.44 3.47h32.25c-.21-.51-.41-1.024-.624-1.533V57.188H240.72zM71.97 68.406L42.812 76.22 69 173.905c-.072.532-.118 1.062-.188 1.594l31.126-8.375c-.756-.985-1.517-1.963-2.282-2.938L71.97 68.407zm367.81 0l-25.655 95.78c-.77.983-1.52 1.978-2.28 2.97l31.092 8.313c-.067-.512-.118-1.02-.187-1.532l26.188-97.72-29.157-7.812zM229.5 178.5c-7.172 13.366-21.99 22.273-39.375 25.625v10.844c13.028-1.903 26.05-3.19 39.063-3.907 4.143-10.668 14.568-18.313 26.625-18.313 12.114 0 22.585 7.72 26.687 18.47 13.02.772 26.03 2.067 39.03 3.843v-10.938c-17.397-3.348-32.228-12.252-39.405-25.625H229.5zm-115.313 4.188l-50.78 13.593c-3.46 14.788-15.46 27.258-31.407 35l2.813 10.532c12.1-5.08 24.338-9.69 36.718-13.812 1.183-11.44 9.276-21.616 20.97-24.75 1.888-.506 3.77-.797 5.656-.906 9.736-.563 19.087 3.99 24.75 11.72 12.77-2.685 25.69-4.84 38.78-6.376l-2.78-10.438c-17.686 1.27-34.327-3.484-44.72-14.563zm283.375 0c-10.385 11.072-27.013 15.825-44.687 14.562l-2.813 10.438c13.095 1.537 26.007 3.69 38.782 6.375 5.663-7.728 15.014-12.282 24.75-11.72 1.885.11 3.8.4 5.687.907 11.696 3.134 19.79 13.31 20.97 24.75 12.384 4.122 24.616 8.73 36.72 13.813l2.81-10.532c-15.944-7.742-27.946-20.212-31.405-35l-50.813-13.593zm-141.75 28.75c-5.538 0-9.812 4.275-9.812 9.812 0 5.537 4.273 9.844 9.813 9.844 5.54 0 9.843-4.307 9.843-9.844 0-5.54-4.304-9.813-9.844-9.813zm-155.5 9.5c-.322-.012-.64.008-.968.03-.66.047-1.332.165-2 .345-5.35 1.433-8.403 6.68-6.97 12.03 1.434 5.35 6.682 8.372 12.032 6.938 5.35-1.432 8.402-6.682 6.97-12.03-1.076-4.01-4.293-6.72-8.095-7.22-.316-.04-.645-.08-.968-.093zm311.157.03c-.325.01-.653.022-.97.063-3.802.5-7.02 3.21-8.094 7.22-1.433 5.348 1.587 10.598 6.938 12.03 5.35 1.435 10.598-1.588 12.03-6.936 1.435-5.35-1.586-10.598-6.937-12.03-1.003-.27-1.996-.374-2.968-.345zm-182.908 8.75c-3.42.202-6.833.436-10.25.72-17.21 88.982-4.777 187.617 37.344 262.625 42.076-85.616 55.17-175.81 37.563-262.407-3.418-.29-6.837-.53-10.25-.75-2.75 8.496-9.41 15.323-17.814 18.28V410.25H246.47V248.187c-8.47-2.98-15.2-9.88-17.907-18.468zm-90.062.25c-3.4.615-6.778 1.28-10.156 1.97-.39 8.99-5.07 17.366-12.47 22.437l41.94 156.563-18.033 4.843-41.968-156.56c-8.893-.682-17.094-5.546-21.937-13.064-3.252 1.088-6.488 2.21-9.72 3.375 5.4 88.204 41.413 171.937 104.22 243.75 21.27-83.35 7.772-181.827-31.875-263.31zm234.78 0c-39.657 81.486-53.177 179.96-31.905 263.313 62.81-71.815 98.79-155.544 104.188-243.75-3.22-1.16-6.45-2.286-9.688-3.374-4.846 7.503-13.02 12.376-21.906 13.063L372 415.78l-18.063-4.842 41.97-156.563c-7.412-5.07-12.11-13.438-12.5-22.438-3.37-.688-6.734-1.355-10.126-1.968z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Daisy;

impl IconShape for Daisy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M212.83 35.623c-12.82 10.724-20.543 21.83-24.217 32.926 3.66 2.266 7.202 4.716 10.61 7.356 18.394 14.256 32.84 33.77 42.568 57.57.972-.22 1.963-.41 2.964-.585-2.212-21.11 3.236-40.853 14.096-57.337 1.524-2.314 3.15-4.565 4.863-6.758-11.44-14.252-29.128-26.33-50.883-33.172zm125.287 6.354c-26.847 8.092-50.514 23.9-63.662 43.857-9.01 13.676-13.484 29.048-11.176 46.25 4.738.386 9.173 1.22 13.27 2.428 12.39-24.598 34.287-41.71 59.39-52.16 5.786-2.41 11.758-4.485 17.843-6.29-1.09-10.29-5.892-21.675-15.666-34.085zM116.123 67.334c-.91-.007-1.826-.006-2.746.004-1.5.016-3.07.174-4.594.234-.117 11.4 1.592 21.513 4.848 30.502 38.23 2.13 75.456 18.376 105.675 46.004 1.578-1.3 3.28-2.518 5.09-3.642-8.563-21-21.034-37.68-36.62-49.758-19.26-14.926-43.407-23.125-71.652-23.344zM422.81 85.48c-27.095.03-55.827 4.193-79.69 14.125-22.266 9.27-40.026 22.904-49.92 43.176 3.183 2.446 5.876 5.22 8.032 8.238 27.672-18.518 58.118-30.99 88.71-35.586 10.19-1.532 20.412-2.172 30.538-1.852 2.562.08 5.117.23 7.665.434 5.175-8.07 8.955-17.33 11.046-27.987-5.368-.328-10.815-.552-16.38-.547zM104.7 116.168c-22.183.178-44.555 5.983-65.792 17.78 9.143 9.83 19.125 18.12 29.762 24.94 14.156-5.566 29.43-8.977 45.142-10.386 5.212-.467 10.478-.723 15.782-.77 25.76-.224 52.377 4.47 77.63 13.495.237-.727.51-1.442.797-2.153-28.37-26.775-63.216-41.948-98.885-42.867-1.477-.038-2.955-.05-4.434-.04zm311.804 15.984c-7.835-.04-15.78.557-23.783 1.76-27.66 4.157-55.845 15.743-81.618 33.08 24.37-5.826 48.43-8.58 71.13-7.785 11.106.388 21.887 1.623 32.22 3.76 15.675 3.242 30.358 8.704 43.413 16.46 11.013-6.62 20.737-15.16 28.772-25.755-20.2-13.863-42.91-20.774-66.782-21.463-1.114-.033-2.232-.052-3.35-.058zM257.13 150.518c-22.345 0-32.115 11.656-32.796 19.69-.34 4.015.887 7.646 5.518 11.255 4.63 3.61 13.214 6.853 26.773 6.853 12.317 0 20.56-3.133 25.43-6.884 4.87-3.752 6.607-7.93 6.588-11.97-.04-8.076-7.755-18.944-31.514-18.944zm-127.386 15.914c-4.81.036-9.572.263-14.262.683-33.576 3.012-63.03 15.752-82.605 39.364 17.717 7.944 35.93 13.317 54.13 15.97 11.21-11.392 24.728-20.34 39.485-26.915 23.284-10.375 49.654-15.345 75.932-16.09-23.713-8.652-48.803-13.192-72.68-13.013zm246.81 11.388c-19.757-.16-40.94 2.546-62.544 7.815 23.82 3.452 48.044 10.302 68.724 21.763 15.92 8.824 29.708 20.93 38.948 36.178 21.276.118 42.66-3.086 62.81-9.41-14.576-29.192-40.39-45.983-73.826-52.898-9.192-1.902-18.933-3.005-29.082-3.344-1.666-.056-3.342-.09-5.03-.104zm-169.427 20.268c-25.65.306-51.39 4.876-73.027 14.517-27.956 12.457-48.87 32.61-56.768 63.96 21.466 1.763 43.832.622 64.572-3.913 1.705-12.368 6.455-23.946 13.725-34.168 12.202-17.157 30.626-30.815 52.446-40.396-.316.002-.632-.004-.95 0zm91.437 4.652c20.04 12.812 36.38 29.854 45.06 49.475 4.064 9.19 6.334 19.062 6.25 29.096 20.956 6.728 44.18 10.073 65.216 10.665 2.086-33.004-14.98-53.578-41.416-68.23-21.428-11.875-48.99-18.513-75.11-21.005zm-33.76 3.764c-17.39 19.093-19.03 41.607-10.767 63.982 8.28 22.426 27.31 43.556 50.207 55.633 13.745-10.66 21.566-21.53 24.875-31.948 3.663-11.537 2.477-22.944-2.59-34.397-9.5-21.48-33.72-41.952-61.727-53.27zm-23.335.053c-30.815 7.842-56.89 23.47-70.61 42.76-14.353 20.18-16.877 43.598 1.372 71.857 26.172-8.027 50.603-22.318 65.99-39.89-.6-1.433-1.18-2.873-1.716-4.325-8.413-22.785-8.062-48.412 4.963-70.403zm17.874 107.927c5.694 38.748-4.567 80.96-25.375 120.893 5.392 7.847 10.07 17.2 13.932 28.287 3.788-15.917 9.673-28.874 17.184-39.434 4.933-6.935 10.515-12.77 16.494-17.744 6.97-21.758 10.256-43.97 9.47-66.148-11.907-6.877-22.667-15.703-31.706-25.854zm-72.496 25.49c-8.437 19.543-15.834 38.15-19.994 55.083 5.614 1.292 11.38 2.758 17.19 4.62 12.478 4.003 25.248 10.06 36.52 20.286 7.346-15.275 12.976-30.73 16.618-45.955-4.204-2.083-8.448-4.198-12.737-6.46-13.07-6.898-26.355-15.24-37.597-27.573zm167.007.887c-14.568 11.836-30.004 19.29-44.974 25.847-.833 8.358-2.174 16.687-4 24.96 2.764-1.35 5.542-2.61 8.32-3.776 15.086-6.33 30.286-10.436 43.484-15-.236-10.133-1.33-20.85-2.83-32.03zm42.967 32.417c-8.044 6.504-17.504 11.094-27.226 14.815-16.096 6.16-33.432 10.43-49.164 17.03-15.733 6.602-29.654 15.23-40.118 29.942-9.41 13.232-16.26 31.88-18.03 59.622 68.802.31 104.793-16.823 122.09-40.94 15.153-21.125 17.282-49.698 12.448-80.47zm-285.867 23.5c-.722 28.213 4.302 52.75 19.178 69.725 17.094 19.505 48.977 31.41 106.346 27.035-4.808-25.246-12.665-41.697-21.85-52.814-10.345-12.518-22.577-18.85-36.296-23.248-13.72-4.4-28.75-6.516-43.334-10.575-8.268-2.3-16.524-5.418-24.045-10.123z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DarkSquad;

impl IconShape for DarkSquad {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M369.1 21.22c-19.2 0-36.2 10.63-47.9 26.47-11.7 15.84-18.6 37.03-18.6 60.31 0 21.1 5.7 40.5 15.5 55.7-5.7 1.6-11 3.9-15.9 6.6-10.2-8.5-22.6-13.6-35.9-13.6-19.3 0-36.3 10.6-48 26.4-4.7 6.4-8.6 13.6-11.6 21.5-4.8-2.4-9.9-4.3-15.5-5.6 9.4-15.1 14.8-34.1 14.8-54.7 0-23.2-6.9-44.43-18.6-60.27-11.7-15.84-28.7-26.5-47.9-26.5s-36.2 10.66-47.94 26.5C79.87 99.87 73 121.1 73 144.3c0 21.1 5.69 40.5 15.47 55.8-32.07 9.1-50.29 37.1-59.44 70-9.79 35.2-10.87 77.3-10.87 115.6v9.4h45.5l6.78 99.3h18.75l-7.28-106.5-4.1-80-18.65 1 3.47 67.5H36.97c.24-35.2 1.97-72.1 10.09-101.2 8.78-31.6 23.32-52.8 51.25-58.2l4.69-.1c10.3 8.8 22.9 14.2 36.5 14.2 14.1 0 26.9-5.7 37.4-15h4.6c7.8 1.2 14.4 3.5 20.1 6.7-1.2 6.6-1.9 13.5-1.9 20.6 0 21.1 5.7 40.5 15.5 55.8-32.1 9.1-50.3 37.2-59.4 70-9.8 35.2-10.9 77.3-10.9 115.6v9.4c21.7-.3 42.8.2 64.3.2l-.5-7.3-4.1-80-18.7.9 3.4 67.5h-25.6c.3-35.2 2-72.1 10.1-101.2 8.7-31.6 23.3-52.7 51.1-58.2l4.9-.1c10.3 8.8 22.8 14.2 36.4 14.2 14.1 0 27-5.7 37.5-15h4.4c15.4 2.4 26.1 8.9 34.5 18.6 8.5 9.7 14.5 23.2 18.5 39.2 7.3 29.5 7.7 66.9 7.7 102.5h-23.4l3.5-67.5-18.7-.9-4.2 82-.3 5.3c20.8 0 43.3-.3 61.9-.2v-9.4c0-38.1.5-80.6-8.4-116.3-4.4-17.8-11.3-34.1-22.4-47-9.7-11.1-22.7-19.4-38.8-23.4 9.4-15.1 14.7-34.1 14.7-54.7 0-22.5-6.4-43.2-17.5-58.8 3.9-1.8 8.1-3.1 12.7-4h4.7c10.3 8.8 22.9 14.2 36.5 14.2 14.1 0 27-5.8 37.4-15l4.6-.1c15.4 2.5 26 8.9 34.4 18.6 8.5 9.8 14.5 23.3 18.5 39.3 7.3 29.4 7.7 66.8 7.7 102.4h-23.4l3.5-67.4-18.7-1-4.1 79.7-8.6 143.1h18.7l8.2-135.7h43.1v-9.3c0-38.2.6-80.7-8.3-116.3-4.5-17.9-11.4-34.2-22.5-47-9.6-11.2-22.6-19.5-38.8-23.5 9.4-15.1 14.8-34 14.8-54.6 0-23.28-6.9-44.47-18.6-60.31-11.6-15.29-31.5-26.13-47.9-26.47zm0 18.69c12.4 0 23.9 6.69 32.9 18.87 9 12.19 14.9 29.67 14.9 49.22 0 19.5-5.9 37-14.9 49.2-9 12.2-20.5 18.9-32.9 18.9-12.3 0-23.9-6.7-32.9-18.9s-14.9-29.7-14.9-49.2c0-19.55 5.9-37.03 14.9-49.22 9-12.18 20.6-18.87 32.9-18.87zM139.5 76.22c12.4 0 23.9 6.72 32.9 18.9s14.9 29.68 14.9 49.18-5.9 37-14.9 49.2c-9 12.2-20.5 18.9-32.9 18.9-12.4 0-23.9-6.7-32.9-18.9-8.97-12.2-14.91-29.7-14.91-49.2 0-19.5 5.94-37 14.91-49.17 9-12.19 20.5-18.91 32.9-18.91zm197.8 22.34v18.64h22.5V98.56h-22.5zm41.1 0v18.64h22.5V98.56h-22.5zM107.7 134.9v18.7h22.5v-18.7h-22.5zm41.1 0v18.7h22.5v-18.7h-22.5zm117.5 40.4c12.3 0 23.8 6.7 32.8 18.9 9 12.2 15 29.7 15 49.2 0 19.6-6 37-15 49.2-9 12.2-20.5 18.9-32.8 18.9-12.4 0-24-6.7-33-18.9-8.9-12.2-14.9-29.6-14.9-49.2 0-19.5 6-37 14.9-49.2 9-12.2 20.6-18.9 33-18.9zM234.5 234v18.7h22.4V234zm41.1 0v18.7H298V234h-22.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeadEye;

impl IconShape for DeadEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.352 8.924L238.037 59.98c-42.626 4.47-81.168 22.782-111.04 50.36l-16.64-16.64-13.214 13.216 16.744 16.744c-26.084 29.167-43.485 66.252-48.117 107.174L17.826 251.79l47.717 20.853c4.285 42.03 22.02 80.115 48.836 109.87L97.144 399.75l13.214 13.215 17.18-17.18c30.096 27.574 68.902 45.784 111.78 49.992l21.034 48.125 21.224-48.558c40.46-4.83 77.114-22.153 106.002-47.988l15.61 15.61 13.214-13.216-15.504-15.504c27.326-29.6 45.554-67.712 50.235-109.875l51.666-22.583-51.907-22.687c-5.02-41.053-22.904-78.167-49.49-107.184l15-15L403.19 93.7l-15.055 15.056c-28.666-25.833-65.062-43.238-105.266-48.31L260.35 8.923zM238.9 78.676l21.452 49.078 21.26-48.64c35.623 4.698 67.85 20.064 93.368 42.796l-18.664 18.664c4.716 4.08 9.17 8.457 13.342 13.088l18.606-18.605c23.548 25.954 39.397 59.022 43.996 95.625l-48.287 21.105 48.52 21.207c-4.306 37.634-20.492 71.617-44.733 98.11l-17.45-17.452c-4.145 4.66-8.575 9.057-13.263 13.168l17.38 17.38c-25.155 22.216-56.75 37.313-91.66 42.152l-22.413-51.282-22.618 51.746c-37.173-4.36-70.762-20.32-97.054-44.175l17.172-17.17c-4.632-4.175-9.005-8.63-13.086-13.345l-17.235 17.234c-23.037-25.86-38.51-58.61-42.978-94.8l52.1-22.77-51.852-22.663c4.74-35.168 19.882-67 42.238-92.313l18.374 18.374c4.112-4.69 8.51-9.116 13.17-13.26l-18.45-18.45c26.647-24.38 60.872-40.61 98.766-44.802zm22.555 69.2c-58.85 0-106.355 47.504-106.355 106.353 0 58.847 47.506 106.354 106.355 106.354 58.85 0 106.356-47.507 106.356-106.355 0-58.85-47.506-106.355-106.355-106.355zm-1.596 41.235c6.653 0 13.077 1.015 19.13 2.89-9.224 1.827-16.944 7.813-21.138 15.924-24.378 1.245-43.942 21.578-43.942 46.25 0 25.466 20.844 46.312 46.31 46.312 25.467 0 46.313-20.846 46.313-46.312 0-3.337-.365-6.59-1.045-9.733 6.114-5.575 9.95-13.606 9.95-22.534 0-.49-.015-.977-.038-1.46 5.98 9.822 9.43 21.34 9.43 33.634 0 35.772-29.2 64.97-64.97 64.97-35.772 0-64.97-29.198-64.97-64.97s29.198-64.97 64.97-64.97zm-4.964 37.95c2.45 14.385 14.968 25.34 30.05 25.34.953 0 1.896-.05 2.827-.136.043.63.07 1.267.07 1.91 0 15.366-12.256 27.623-27.622 27.623s-27.62-12.257-27.62-27.623c0-13.542 9.52-24.663 22.296-27.113z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeadWood;

impl IconShape for DeadWood {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M290.78 9.563l-19.5 72.53 70.033 26.813-39.282 40.813c-15.52 8.456-27.103 8.22-37.31 2.124-.014-.008-.02-.024-.033-.03l-5.093-11.064 41.844-33.5-49.375 17.22-29.875-64.626 14.406-31.375-31.656 22.56V51l-91.344-20.094 90.75 37.844 11.53 24.938-62.25 13.25-33.31-41.626 15.78 45.344-26.156 5.563L50.25 77.843l26.344 30.062-39.906 31.938 52.03-18.125 13.907 15.843 80.563-16.938-3.22 43.75 20.782-47.438 23.656-4.968 23.406 50.624c1.88 9.953 2.716 19.126 2.282 27.125l-45.188-17.657 41.188 35.562c-6.098 12.943-19.27 18.24-41.344 11.594l-75.344-49.97-27.97 18.53-16.405-37.343 3.376 46-9.53 6.313-65.157-49.344 61.5 74.938 54.186-35.938c10.9 7.49 21.867 14.905 32.844 22.28l-12.125 41.72-48.75 20.22 63.97-3.782 13.593-47.03c5.696 3.787 11.38 7.58 17.093 11.342 49.537 75.88 57.073 189.32 1.97 176.688 9.086 38.633-24.273 67.905-54.844 81.062h28.03l-.03-.062c25.217-7.956 40.217-20.772 55.906-45.813.113 17.364-7.4 33.346-20.875 45.876h66c-17.686-16.632-27.36-43.79-15.062-88.53 2.454 40.996 14.77 72.124 53.156 88.5v.03h25.97c-69.106-37.694-84.94-111.418-50.094-182.53l36.28-43.47 62.158 17.25-38.188-24.28 18.156-45.72-32.156 36.813-14.22-9.064-13.842 16.53c-7.277-7.843-9.635-21.475-7.78-38.405 2.074-18.954 9.395-40.43 17.123-56.25l15.938-16.405 41.53 25.97 13.408 57.28 79.75 21.938L401 219.22l-10.438-45.782 26.97-12.594L461.187 209l-26.72-56.063 9.813-4.593 50.47-2.875-34.656-13 19.437-52.19-40.374 49.845-59.406 27.72-36.28-22.72 24.124-24.844 42.437-33.968-52.31 18.22-5.408-2.094L392.75 13.31l-58.063 72.313-43.906-16.938V9.563zm-13.5 224.687c.254 15.565 4.228 30.356 15 40.594l-12.186 14.562c-9.453-13.425-9.047-33.08-2.813-55.156zm-53.78 14.28c26.69 17.688 39.887 60.23 23.75 88.595-3.706-24.886-12.738-58.882-25.688-85.188l1.938-3.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeadlyStrike;

impl IconShape for DeadlyStrike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.38 16.29l12.018 214.677-69.382-213.75h-19.65l70.52 217.25c-17.16-18.22-34.434-44.74-52.243-80.246 18.864 62.058 35.573 139.067 40.552 192.04L19.38 62.393v38.277l144.89 258.98c-33.493-21.316-67.86-56.375-97.918-92.87 26.712 52.73 55.26 104.847 73.076 160.54L19.378 289.453v28.46l107.997 124.026C99 434.69 70.625 422.05 42.25 408.165c38.03 26.607 62.036 50.897 84.234 85.82H230.84l-6.785-91.082H197.77c0-44.845 2.87-108.728 40.767-115.86-6.993-8.433-11.533-20.27-11.533-33.523 0-23.93 14.228-43.758 32.45-46.127h.005c.303-.038.61-.056.923-.063.934-.02 1.895.063 2.83.063 19.957 0 36.205 20.602 36.205 46.128 0 12.928-4.304 24.595-10.996 32.99 41.4 6.42 40.496 71.424 40.496 116.394h-24.94l-6.003 91.082h90.96c19.418-30.77 60.864-56.727 96.524-75.234-38.585 10.67-75.927 17.602-109.66 21.02l117.97-86.97v-23.218l-125.78 92.728c24.4-49.363 55.902-88.075 90.164-122.648-40.56 27.323-73.25 37.7-107.027 43.785L493.77 158.7v-30.58L339.297 328.19c1.19-51.24 16.946-114.427 39.156-171.047-17.383 25.054-33.876 46.073-49.713 62.742l56.406-202.668h-19.398l-53.412 191.906 3.832-192.834h-119.79z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeathNote;

impl IconShape for DeathNote {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M294.3 53.6l-81.2.24-79.5 70.56 18.3 70.5L201 187l-25.8 74.7 38.7-22.4 11 35.9 30.2-37.1 30.2 38.8 18.5-38.5 31.7 21.1-25.4-71.9 46.4 6.1 18.9-67.1c-27.1-24.3-54.1-48.7-81.1-73zm-88.8 61.2c13.3-.1 28.3 9 35.9 27l-61.9 9.3c-3.9-18.1 11-35.7 26-36.3zm104.5 0c15.1.1 28.1 12.1 26 36.3l-62-9.3c7.7-18 22.7-27.1 36-27zm-54.5 38.5l25.6 56.7h-47.9zM93.26 288.5L51.3 317.7l207.3 72.7L466 317.3l-41-28.8c-54.7 9.2-120.6-14.4-150.7 31.8h-31.4c-41-45.7-104.5-25.2-149.64-31.8zM29 329.8l-6.17 17.6 190.67 66.7v17.8h91.6v-18.7c62.3-21.8 125.5-43.9 188.1-65.8l-6.2-17.6-205.7 71.9 4.1 11.5h-54.8l4.1-11.5c-68.6-24-137.15-48-205.7-71.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeathZone;

impl IconShape for DeathZone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.566 20.055c-59.624 0-99.147 26.426-125.21 65.767-25.084 37.862-36.733 88.14-37.583 136.746 35.068 17.25 55.994 35.297 65.088 54.416 8.03 16.882 4.974 34.41-5.042 47.96 22.02 19.97 59.516 32.352 98.135 32.972 38.86.624 77.95-10.4 102.942-33.174-5.034-5.972-8.774-12.36-10.582-19.37-2.54-9.836-.836-20.485 4.687-30.134 10.514-18.37 33.286-34.804 70.354-52.71-.878-46.03-12.275-96.24-37.225-134.714-25.985-40.068-65.52-67.76-125.564-67.76zm-75.748 125.982c46.19 10.87 94.98 10.703 145.752.205-25.867 37.59-123.918 37.62-145.752-.205zm-20.312 13.53c7.698 30.39 30.63 47.76 73.336 45.984l-1.112 33.59c-39.39 20.126-72.635 1.99-103.71-19.048h-.002c-4.848-30.567-.204-54.706 31.488-60.526zm186.69 0c31.69 5.82 36.333 29.958 31.486 60.525h-.002c-31.076 21.04-64.32 39.174-103.71 19.047l-1.11-33.59c42.707 1.776 65.637-15.594 73.335-45.984zM250.97 252.19c12.102 21.818 21.704 43.634 26.47 65.45-13.016 9.698-36.32 11.107-52.938 0 6.443-21.816 14.19-43.632 26.47-65.45zM100.405 353.108c-50.152 13.628-82.55 33.813-82.55 56.204 0 41.018 106.523 74.352 237.697 74.352s237.698-33.334 237.698-74.35c0-22.312-32.12-42.58-81.965-56.205 17.23 8.88 27.518 19.25 27.518 30.444 0 32.13-82.31 58.546-183.247 58.546-100.937 0-182.662-26.418-182.662-58.545 0-11.253 10.112-21.534 27.518-30.443h-.004zm62.54 2.637l-14.903 23.41c6.624 5.312 14.328 9.978 22.855 13.955l10.898-28.796c-6.58-2.48-12.888-5.336-18.848-8.57zm177.605.53c-5.772 3.14-11.804 5.894-18.038 8.28l10.703 28.477c8.005-3.6 15.612-7.817 22.666-12.676l-15.33-24.08zm-140.905 13.673L188.3 399.924c9.524 3.093 19.698 5.462 30.253 7.064l3.87-32.513c-7.754-1.09-15.377-2.6-22.778-4.528zm105.04.287c-7.468 1.95-15.113 3.434-22.85 4.48l3.823 32.126c10.274-1.605 20.384-3.967 30.112-7.11l-11.086-29.496zm-63.654 6.045l-3.893 32.712c9.87.637 19.92.623 29.947-.07l-3.873-32.535c-4.52.206-9.045.287-13.558.215-2.878-.047-5.752-.167-8.62-.323z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Deathcab;

impl IconShape for Deathcab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M270.2 18.8c-68.96 0-117.89 37.757-150.52 83.475-32.63 45.72-47.784 100.002-47.784 126.096 0 7.612 3.726 15.27 12.31 23.292 8.586 8.023 21.87 15.846 38.74 22.432 18.64 7.276 41.623 13.058 67.406 16.79l-.33 3.72 18.62 1.646 9.516-107.686-18.615-1.646-2.754 31.148c-31.007-14.07-53.424-41.094-54.054-83.242-.85-56.927 64.165-87.918 127.287-87.795 59.298.115 116.925 27.69 116.713 87.01-.098 27.788-14.5 50.374-36.256 66.63l-6.384-24.307-18.076 4.748 29.334 111.667 18.076-4.748-1.9-7.23c7.77-2.243 15.084-4.69 21.824-7.33 17.102-6.698 30.64-14.594 39.404-22.587 8.764-7.994 12.486-15.507 12.486-22.512v-.034c-.01-26.633-12.86-80.858-41.45-126.53-28.605-45.69-71.63-83.007-133.595-83.007zm67.036 64.294c-5.587-.138-13.008 2.493-23.076 8.93-58.69 37.536-5.446 55.464 43.567 29.122-3.91-19.254-6.212-37.7-20.49-38.052zM192.313 94.902c-20.66-.172-18.595 21.602-18.366 44.854 57.036 16.586 108.632-13.985 39.002-40.106-8.627-3.235-15.37-4.704-20.637-4.748zm75.87 39.088c-14.55 13.363-24.763 37.98 1.538 38.473 31.216.58 13.18-24.787-1.538-38.473zm34.672 52.354l-18.45 2.974 17.702 109.8 18.452-2.973-17.705-109.8zm-41.558 6.03l-18.688.272 1.507 103.58 18.686-.27-1.506-103.58zM298.11 312.68c-13.058 1.063-26.557 1.62-40.37 1.62-11.565 0-22.874-.394-33.894-1.114-1.046 2.546-2.07 5.125-3.06 7.744-9.086 24.038-15.855 50.798-18.893 74.26-3.04 23.465-1.766 43.903 2.466 53.273 9.582 21.216 24.987 33.124 42.806 39.103 17.82 5.978 38.156 5.56 55.707.673 17.55-4.887 32.02-14.397 38.58-24.24 6.56-9.843 7.395-18.81-3.062-31.353-37.982-45.556-40.875-87.474-40.3-119.045.006-.32.015-.603.02-.92z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Decapitation;

impl IconShape for Decapitation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.938 18.406c-16.917.16-35.992 8.394-51.344 23.813-25.855 25.966-31.416 62.47-12.438 81.53 18.978 19.06 55.332 13.468 81.188-12.5C360.2 85.282 365.76 48.78 346.78 29.72c-7.71-7.745-18.268-11.422-29.842-11.314zM26.125 33.344C68.1 93.84 134.52 136.714 204.188 163.874c.768.296 1.542.584 2.312.876 74.676 28.292 158.988 40.7 228.22 31.875.072-.013.144-.018.217-.03 73.4-13.258 89.237-60.577-38.562-134.25 163.392 147.973-242.187 125.144-370.25-29zM220.28 189.688c-3.947 2.137-7.548 4.605-10.874 7.375-12.204 10.163-20.78 24.71-26.75 42.187-10.988 32.16-12.56 73.362-13.375 109.563h40.064l.625 8.656 10.218 136.467h86.687l9.03-136.406.595-8.717h38.53c1.694-40.387-.062-81.073-12.25-111.594-3.295-8.256-7.23-15.796-12-22.5-36.92-4.4-74.495-12.92-110.5-25.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Defibrilate;

impl IconShape for Defibrilate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.557 20.31c46.3 37.518 62.25 65.617 53.53 93.102C100.49 84.18 60.77 67.422 20.666 52.908v36.608c36.057 8.926 71.558 21.116 104.804 46.54-13.053 16.635-34.362 33.918-62.75 53.73l81.99 35.407c-.453 3.38-.642 6.85-.507 10.407.573 15.082 7.218 28.014 16.3 38.914 7.177 8.615 15.9 16.206 25.077 23.468l-63.877 46.57-101.037-58.72v45.738c112.43 11.546 144.12 112.475 0 135.832v26.547h22.818l115.01-54.788c-46.436-55.056-3.446-101.025 44.4-127.89 20.244 15.41 39.46 30.752 47.838 48.93l8.487 18.41 8.485-18.41c3.777-8.196 9.772-15.81 17.055-23.118l15.303 115.51c49.028-28.366 133.015 6.997 141.394 41.355h52.85v-4.72l-68.87-83.24c-66.362 44.197-111.586-5.474-118.148-88.37 5.94-4.64 12.094-9.252 18.2-13.913 10.46-7.983 20.702-16.163 29.213-25.492 35.543 15.528 46.467 41.64 24.895 79.65l114.71-8.654V306.01l-80.105 17.2c-5.02-24.163-5.625-41.7 22.13-65.864-21.682-3.325-43.248-5.917-64.68-7.045 1.468-4.655 2.386-9.55 2.58-14.7v-.002c.28-7.325-.764-14.305-2.848-20.81 33.3-10.236 64.53-23.598 93.912-39.75l-94.375-56.003c37.818-26.36 78.284-37.675 123.385-49.07V20.31H423.63c-19.42 39.684-67.117 76.64-126.712 112.08 38.692 3.463 133.353 27.43 62.64 61.05-9.054-10.854-21.457-18.803-34.85-22.495-13.712-3.78-28.856-3.107-42.388 3.856-8.82 4.54-16.73 11.757-23.1 21.516-6.373-9.76-14.283-16.977-23.103-21.515-6.766-3.48-13.933-5.39-21.125-5.954-7.19-.566-14.406.21-21.262 2.1-16.032 4.418-30.65 14.93-39.792 29.236l-36.323-17.405c29.32-43.383 61.55-71.547 96.914-85.156-35.393-27.574-58.06-45.938-73.206-77.31H84.557zM209.79 187.333c1.23-.02 2.453.02 3.67.113 4.87.377 9.63 1.668 14.106 3.97 8.953 4.607 17.226 13.358 22.86 29.026l8.793 24.455 8.792-24.455c5.633-15.668 13.907-24.42 22.86-29.025 8.95-4.606 19.04-5.164 28.87-2.455 19.66 5.418 36.654 23.902 35.82 45.928-.386 10.132-4.602 18.803-11.982 27.66-7.38 8.86-17.894 17.5-29.428 26.302-18.87 14.403-40.57 29.167-54.933 49.314-14.363-20.146-36.062-34.91-54.933-49.314-11.533-8.803-22.048-17.443-29.428-26.3-7.38-8.86-11.597-17.53-11.98-27.66-.836-22.026 16.156-40.51 35.815-45.93 3.686-1.015 7.41-1.572 11.096-1.628z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Delighted;

impl IconShape for Delighted {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.758 79.496l-21.91 58.547-58.444 21.87 58.512 21.898 21.842 58.364 21.846-58.375 58.478-21.886-58.408-21.857-21.916-58.56zm200.078 0l-21.91 58.547-58.444 21.87 58.512 21.9 21.842 58.36 21.848-58.374 58.476-21.886-58.408-21.857-21.916-58.56zM18.31 146.64C29.355 228.693 56.92 300.99 94.772 354.77l28.454-18.157-9.784 41.906c11.358 13.222 22.843 24.945 35.567 34.92l29.338-32.825 5.336 55.175c14.397 7.164 29.938 11.868 45.34 14.666l27.564-42.602 27.564 42.605c15.327-2.782 30.14-8.25 44.457-15.365l6.224-57.272 31.12 33.526c11.965-9.67 23.065-20.945 33.788-33.526l-8.892-41.205 27.564 17.46c37.164-53.263 64.38-124.482 75.574-205.336-15.07 38.645-40.1 72.62-72.017 99.176l5.335 44.002-40.008-20.256c-9.04 5.286-17.826 10.484-27.565 14.668l-5.334 48.89-40.01-34.224c-10.922 2.44-22.366 3.86-33.786 4.89l-24.008 39.81-23.117-39.112c-12.508-1.095-24.546-3.516-36.454-6.285l-38.232 32.824-5.335-46.793c-10.032-4.307-19.162-9.194-28.45-14.668l-39.122 20.256 6.224-43.305c-32.864-27.114-58.722-62.13-73.798-101.966z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Demolish;

impl IconShape for Demolish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.717 22.137v84.37l44.033 54.585v171.564l8.086 6.47 48.78-159.35 56.56 171.35 57.043-70.876 26.452 74.793V161.09l44.03-54.584v-84.37h-48.915v39.798h-29.775V22.137h-49.448v39.797H250.32V22.137h-49.447v39.797H171.63V22.137zm101.404 218.68L184.298 370.9l-74.445-59.556 30.625 89.43-88.96 4.042 40.665 40.664-40.17 47.807h91.31l18.223-17.185-17.01-47.257 56.608 20.6 28.673-83.944 32.73 93.148 57.112-43.054 2.055 65.552 63.96-7.13-13.712 19.27h91.034l-64.685-49.722 45.72-64.255-83.635 21.515-29.354-82.99-57.79 71.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DervishSwords;

impl IconShape for DervishSwords {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.688 17.094c-4.176.038-7.723 1.706-8.938 4.625-.413.99-.5 2.04-.344 3.093h-.03c-9.677.39-17.714 4.79-19.782 11.625-2.046 6.762 2.318 14.026 10.312 18.656-15.296 33.985-20.856 75.19-19.875 114.5 4.658-4.73 10.484-8.162 17.25-9.406 1.492-.275 2.965-.418 4.44-.47 5.344-.185 10.54 1.055 15.343 3.313-5.568-33.484-4.603-70.263.53-103.186 10.516.146 19.485-4.344 21.688-11.625 1.775-5.865-1.292-12.082-7.343-16.657.475-.52.89-1.107 1.157-1.75 1.767-4.246-2.03-9.48-8.47-11.72-2.01-.7-4.038-1.017-5.936-1zm301.343 0c-1.897-.018-3.956.3-5.967 1-6.438 2.238-10.205 7.473-8.438 11.718.154.37.337.733.563 1.063-6.663 4.624-10.113 11.187-8.25 17.344 2.123 7.017 10.54 11.413 20.562 11.593 5.143 32.96 6.118 69.793.53 103.312 4.288-2.052 8.904-3.272 13.658-3.406.64-.02 1.292-.024 1.937 0 1.474.05 2.978.193 4.47.468 6.646 1.222 12.36 4.557 16.967 9.156.954-39.05-4.525-79.96-19.625-113.78 8.54-4.598 13.307-12.124 11.188-19.127-1.965-6.494-9.318-10.785-18.344-11.53.18-1.083.083-2.167-.342-3.188-1.215-2.92-4.73-4.588-8.907-4.626zM171.095 176.406l-44.03 6.875c3.87 6.632 6.715 14.286 8.25 22.626.597 3.257.96 6.475 1.124 9.656 15.313 2.683 30.237 8.75 43.53 18.532l-8.874-57.688zm173.03 0l-8.874 57.688c13.04-9.597 27.65-15.586 42.656-18.344.156-3.242.515-6.523 1.125-9.844 1.544-8.39 4.406-16.09 8.314-22.75l-43.22-6.75zm-252.687 1.97c-.604.02-1.193.078-1.78.186-4.704.866-9.01 4.48-12.094 11.375-3.086 6.896-4.378 16.688-2.47 27.063l.032.156c1.927 10.305 6.597 18.93 11.906 24.25 5.338 5.347 10.642 7.178 15.345 6.313 4.703-.866 9.008-4.48 12.094-11.376 3.084-6.896 4.376-16.687 2.468-27.063-1.91-10.374-6.6-19.058-11.938-24.405-4.003-4.01-7.993-6.037-11.72-6.438-.62-.066-1.238-.083-1.843-.062zm330.563 0c-.306.01-.627.028-.938.06-3.725.402-7.715 2.43-11.718 6.44-5.337 5.346-9.998 14.03-11.906 24.405-1.91 10.377-.617 20.168 2.468 27.064 3.086 6.895 7.36 10.51 12.063 11.375 4.702.864 10.005-.967 15.342-6.314 5.338-5.346 10.03-14.03 11.938-24.406 1.908-10.375.617-20.167-2.47-27.063-3.084-6.895-7.39-10.51-12.092-11.375-.882-.162-1.77-.22-2.688-.187zm35.594 15.718c1.657 8.185 1.713 17.137.03 26.28-.627 3.415-1.457 6.713-2.5 9.876 11.337 6.967 21.427 16.068 29.47 27.125l8.906-57.688-35.906-5.593zm-400.875.125l-35 5.468 8.905 57.687c7.88-10.83 17.724-19.777 28.78-26.688-1.112-3.296-2.03-6.738-2.686-10.312-1.674-9.097-1.633-18.005 0-26.156zm325.124 47.343C330.998 382.873 208.514 462.268 16.5 437.375c113.218 81.753 233.292 64.953 317.688-4.72.667-.52 1.34-1.035 2-1.56-.033-.01-.062-.025-.094-.033 50.656-42.57 88.153-104.327 103.156-175.187-8.334 7.73-19.34 12.3-30.656 10.22-11.924-2.194-20.852-11.148-25.75-22.095-.356-.794-.68-1.62-1-2.438zm-249.72 1.03c-.193.47-.387.947-.593 1.407-4.897 10.947-13.857 19.9-25.78 22.094-11.923 2.193-23.465-3.012-31.938-11.5 13.17 63.342 44.32 119.488 86.813 161.25 26.506-5.336 54.813-14.98 79.03-27.844-49.324-34.38-85.212-84.014-107.53-145.406zM359.44 435.97c-21.79 19.47-48.244 36.61-75.282 49.655 66.544 15.796 141.17 3.617 213-48.25-50.78 6.584-96.69 5.82-137.72-1.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DesertSkull;

impl IconShape for DesertSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M150.906 58.938c-13.37-.01-29.125 14.14-29.125 41.406 0 18.72-4.71 34.642-12.56 46.47-7.852 11.825-19.205 19.82-31.94 20.717-12.732.9-25.585-5.956-34.593-18.874-6.01-8.618-10.554-20.166-13.624-34.406-7.895 13.74-11.263 27.425-10.813 40.53.645 18.79 8.978 36.824 24.47 52.314 40.785 40.785 141.155 6.742 141.155-79.313 0-25.746-4.91-43.316-11.28-53.936-6.37-10.62-13.595-14.398-20.407-14.875-.426-.03-.85-.032-1.282-.032zm208.656.718c-.43 0-.855.002-1.28.032-6.813.476-14.037 4.255-20.407 14.874-6.37 10.62-11.28 28.19-11.28 53.938 0 86.055 100.337 120.066 141.124 79.28 15.49-15.49 23.854-33.524 24.5-52.31.45-13.113-2.943-26.786-10.845-40.532-3.07 14.243-7.583 25.786-13.594 34.406-9.006 12.917-21.89 19.804-34.624 18.906-12.733-.898-24.055-8.893-31.906-20.72-6.492-9.778-10.66-22.48-11.97-37.124h-.592v-9.344c0-27.266-15.755-41.414-29.125-41.406zm-102.937 6.032c-19.596.01-39.624 8.368-57.594 26.093 2.274 10.362 3.532 22.31 3.532 36 0 47.166-25.996 82.428-59.25 100.97-.542 4.463-1.023 9.008-1.437 13.656-2.55 9.437-3.55 20.09-2.844 31.406 1.057 16.895 5.766 32.224 13.126 44 5.864 9.383 13.855 17 23.53 19.72 15.358 36.078 21.356 78.76 21.69 128.156 6.88 6.182 13.75 11.12 20.624 14.875 2.45-30.97-.93-61.794-1.97-93.875l-1.06-32.157 18.124 26.595 20.5 30.094 21.78-30.75 17.595-24.814-.626 30.406c-.65 31.64-3.01 62.71-1.656 93.25 6.645-3.634 13.345-8.202 20.093-13.78.16-37.35 2.333-71.957 11.25-103.063 2.356-8.215 5.213-16.185 8.626-23.876 12.878-.31 23.332-9.213 30.563-20.78 7.36-11.778 12.068-27.107 13.124-44.002.73-11.703-.35-22.704-3.094-32.375-.32-3.5-.67-6.948-1.063-10.343-34.684-18.06-62.28-54.012-62.28-102.594 0-14.95 1.495-27.82 4.187-38.813-17.418-16.315-36.64-24.01-55.47-24zM176.375 226.5c4.22 0 10.084 3.516 15.406 12.03 5.323 8.517 9.434 21.212 10.314 35.282.88 14.07-1.665 26.643-5.78 34.875-4.118 8.233-8.688 11.25-12.908 11.25-4.22 0-10.084-3.515-15.406-12.03-5.322-8.516-9.433-21.21-10.313-35.282-.88-14.07 1.665-26.642 5.782-34.875 4.115-8.233 8.685-11.25 12.905-11.25zm160.625 0c4.22 0 8.79 3.017 12.906 11.25 4.117 8.233 6.66 20.804 5.78 34.875-.878 14.07-4.99 26.766-10.31 35.28-5.323 8.517-11.187 12.033-15.407 12.033-4.22 0-8.79-3.018-12.908-11.25-4.116-8.233-6.66-20.805-5.78-34.875.88-14.07 4.99-26.766 10.312-35.282 5.322-8.514 11.186-12.03 15.406-12.03zm-64.375 190.188L261.062 433l-7.78 10.97-7.563-11.126L236.28 419c1.243 22.403 2.268 45.11-.155 68.75 5.675 1.436 11.347 2.132 17.03 2.094 6.335-.043 12.755-1 19.25-2.875-1.508-23.73-.675-47.114.22-70.283z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DeskLamp;

impl IconShape for DeskLamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240.8 20.1h-1.9c-15.5.84-35.2 15.23-45 32.14-6.5 11.26-10.1 25.99-9.4 38.6.7 12.66 5.2 22.36 14.2 27.56 30.7 17.6 61.4 35.3 92.1 53l.7 4.5c3 21.4 12.5 43.1 27.7 61.9l97.9-169.58c-24-3.84-47.6-1.36-67.7 6.74l-4.3 1.7L253 23.58c-4-1.97-8.4-3.4-12.2-3.48zm252.6 45.12l-74.6 39.08c3.5 5.2 6.4 10.8 8.5 16.6l66.1-34.59zM407.6 122l-47.2 81.8c18.3-1.3 35.5-11.3 45.4-28.4 7.4-18 8.6-38.8 1.8-53.4zm24.4 22.1c.2 6.2-.3 12.5-1.6 18.7l63 1.5v-18.7c-20.5-.5-41-1-61.4-1.5zm-215.8 8.3c-3.3 7.2-6.3 14.3-9.1 21.4l27.4 10.5c2.6-6.3 5.3-12.7 8.2-19-9-4.8-18.7-9.1-26.5-12.9zM424 181c-2.8 5.6-6.7 11.2-10.4 15.5l79.8 49.9v-22c-23.1-14.5-46.2-29-69.4-43.4zm-223.7 10.2c-2.8 7.7-5.4 15.4-7.8 23.1l28.3 7.8c2.1-6.8 4.5-13.6 6.9-20.4-9.1-3.5-18.2-7-27.4-10.5zm202.4 15.6c-5 3.8-10.4 7-16.1 9.5l60.1 112.9 16.5-8.8c-20.1-37.8-40.3-75.7-60.5-113.6zm-33.4 14.6c-6.1 1-12.4 1.3-18.7.9l-4.3 124.1 18.7.7zm-182 10.9c-2 7.3-3.9 14.7-5.6 22.2l28.5 6.2c1.6-7 3.3-13.8 5.2-20.7-9.3-2.6-18.7-5.1-28.1-7.7zm-9.4 40.5c-1.4 7.4-2.6 14.8-3.8 22.3l29 3.1c1-6.5 2.1-12.9 3.3-19.2-9.5-2.1-19-4.2-28.5-6.2zm-6.2 40.9c-.9 7.4-1.7 14.9-2.3 22.5l29.1 1.5c.6-7.1 1.3-14.1 2.1-21-9.6-1-19.3-2-28.9-3zm-3.6 41.1s-.9 16.5-1.1 25l29.2-.5c.2-7.8.6-15.5 1-22.9-9.7-.6-19.4-1.1-29.1-1.6zm27.7 43.2l-29.2.5c-.1 5.7-.1 11.4-.1 17.3 9.8-1.8 19.5-3.3 29.3-4.5zm53.9 28.5c-38.1.2-76.4 5.6-114.7 15.5-4.9 14.7-8.9 32.3-11.6 52.4h252.4c-2.7-20.2-6.6-37.9-11.5-52.6-38.2-10.5-76.4-15.4-114.6-15.3zM83.23 446.8c-20.57-.1-41.18 3.1-64.34 9.2v19.4c34.27-9.5 60.58-12.2 89.91-7.5 1.3-6.5 2.8-12.7 4.4-18.6-10.2-1.7-20.07-2.5-29.97-2.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Despair;

impl IconShape for Despair {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.215 19.162v438.443l18.687-27.334V19.163H45.215zm50.21 0v408.082h18.688V19.162H95.426zm54.07 0V294.11h3.21c4.71-5.543 9.902-10.77 15.48-15.684V19.162h-18.69zm50.21 0v236.98c6.047-3.43 12.296-6.582 18.69-9.44V19.16h-18.69zm50.21 0v216.033c6.18-1.787 12.42-3.34 18.69-4.625V19.162h-18.69zm48.923 0v207.262c5.177-.357 10.33-.54 15.432-.512 1.088.006 2.17.03 3.255.055V19.162h-18.687zm54.07 0v211.12c4.172.978 8.25 2.142 12.237 3.46 1.688-2.06 3.45-4.088 5.31-6.07.376-.4.763-.78 1.143-1.174V19.162h-18.69zm50.21 0v184.172c6.14-2.986 12.41-5.27 18.69-6.81V19.16h-18.69zm50.208 0v176.336c6.655 1.35 12.978 3.786 18.69 7.395V19.163h-18.69zM440.61 212.85c-3.508-.006-7.176.35-10.97 1.074-15.174 2.895-31.835 11.907-45.554 26.533-4.884 5.208-9.023 10.747-12.434 16.412-93.246-57.583-331.013 75.585-179.697 189.32H72.64l-26.453 47.744h257.165l-88.48-103.25c24.272-26.71 67.455-43.708 96.997-45.067 13.792 45.098 36.248 113.5 71.734 148.315h60.865c-43.9-47.444-77.84-111.502-82.236-183.94 1.887 5.67 4.938 10.597 9.137 14.55 9.046 8.518 22.192 11.497 37.366 8.603 15.175-2.895 31.838-11.905 45.557-26.532 13.72-14.626 21.666-31.854 23.61-47.22 1.943-15.367-1.85-28.35-10.895-36.868-6.784-6.387-15.875-9.66-26.4-9.675z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dew;

impl IconShape for Dew {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.44 20.26v64.66C130.8 72.49 291.4 112.6 370.5 191.6c-85.9-43.8-244.7-73.2-350.06-64v84.5C88.45 328.6 217.2 253.7 325.8 222c61-11.5 72.7 19.7 108.2 30.2-11.5-20.6-22.4-39.3-32.8-56.3 23.3-9.9 39.8-33 39.8-59.9 0-35.8-29.2-65-65-65-19.3 0-36.7 8.53-48.7 22-58.6-64.95-101.4-66.71-157.4-72.74H20.44zM373.8 88.08c5.7-.07 11.6.94 17.7 3.27-28.8 4.05-34.2 63.55 27 52.75 10.5-1.9-3.6 29.9-26.5 37.1-19.5-31-37.3-55.8-53.7-75.6 9.1-10.29 21.4-17.33 35.5-17.52zM432 286.5l-7.7 12.9s-12.3 20.4-24.5 46.8C387.6 372.7 375 405 375 432c0 14.7 7.7 28.4 18.2 38.8 10.4 10.5 24.1 18.2 38.8 18.2 14.7 0 28.4-7.7 38.8-18.2 10.5-10.4 18.2-24.1 18.2-38.8 0-27-12.6-59.3-24.8-85.8-12.2-26.4-24.5-46.8-24.5-46.8l-7.7-12.9zm-20.1 77c-16.6 49.1-12.6 99 58.7 72-2.7 26.2-43.6 56.9-71.5 15.4-12.1-18-12.7-50.1 12.8-87.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiabloSkull;

impl IconShape for DiabloSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.717 15.525s-34.385 56.154-34.385 75.143c0 12.812 5.063 22.368 12.436 28.5 5.633 4.823 12.896 7.8 20.896 8.04 17.535.9 35.436-10.866 35.436-36.54.002-18.993-34.383-75.143-34.383-75.143zM206.17 79.94c-23.862 9.82-40.335 27.916-52.5 52.656-18.018 36.645-24.874 88.532-25.535 146.586h62.68c-2.794 14.47-3.947 30.726-4.07 47.943-1.695 14.567 8.944 76.447 8.944 76.447s30.256-50.032 35.736-66.283c6.153 24 22.82 68.677 22.82 68.677s16.506-44.24 22.73-68.324c5.796 16.617 35.618 65.93 35.618 65.93s10.947-63.662 8.865-77.04c-.147-16.997-1.304-33.047-4.067-47.35h62.156c-.662-58.055-7.518-109.942-25.536-146.587-11.04-22.452-25.63-39.43-46.065-49.72.723 3.455 1.107 7.03 1.107 10.692 0 28.803-23.55 52.354-52.354 52.354-28.803 0-52.353-23.55-52.353-52.354 0-4.71.64-9.277 1.82-13.627zm-47.895 4.93c-1.13-.015-2.26-.015-3.384 0C68.12 86.09-3.26 175.69 25.03 269.714c12.356 41.064 72.85 67.43 104.263 50.228-59.21.1-76.798-64.22-58.488-108.835 10.297-25.09 27.425-40.573 50.732-44.042 3.926-15.375 8.962-29.7 15.36-42.713 7.417-15.08 16.88-28.326 28.488-39.192-2.38-.162-4.75-.26-7.11-.29zm193.286 0c-3.013.037-6.045.19-9.09.446 11.53 10.836 20.936 24.027 28.315 39.034 6.358 12.93 11.37 27.156 15.285 42.418 24.447 2.792 42.338 18.452 52.96 44.337 18.31 44.614.72 108.935-58.49 108.836 31.413 17.204 91.91-9.163 104.267-50.227 28.29-94.024-43.09-183.622-129.862-184.842-1.125-.015-2.254-.015-3.384 0zm-25.937 80.847c11.335 4.365 19.38 15.354 19.38 28.226 0 16.704-13.54 30.244-30.24 30.244-15.347 0-28.017-11.434-29.974-26.248 20.755-5.506 33.46-17.012 40.833-32.223zm-143.562.01c7.38 15.212 20.09 26.717 40.858 32.218-1.96 14.81-14.63 26.243-29.973 26.243-16.7 0-30.242-13.54-30.242-30.245 0-12.865 8.035-23.845 19.358-28.216zm108.48 74.513l-36.698 76.045-36.7-76.043 36.698 25.143 36.7-25.145zM170.483 360.002s-51.736 72.637-56.19 89.27c-11.81 44.068 49.134 57.507 60.22 16.136 4.455-16.63-4.03-105.406-4.03-105.406zm165.327 0s-8.488 88.776-4.033 105.406c11.086 41.37 72.033 27.932 60.223-16.137-4.455-16.63-56.19-89.268-56.19-89.268zM228.14 383.73s-29.39 58.982-30.724 71.635c-3.538 33.527 42.495 36.31 45.816 4.836 1.336-12.652-15.09-76.47-15.09-76.47zm51.788 0s-16.43 63.818-15.094 76.47c3.32 31.475 49.356 28.692 45.818-4.835-1.333-12.653-30.724-71.636-30.724-71.636z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiamondHard;

impl IconShape for DiamondHard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M78.594 20.313c-20.396-.083-40.037 3.83-57.78 12.468C126.016 63.043 213.21 117.8 289.185 187.813c-9.978-45.738-40.414-87.43-79.375-117.78-11.143 8.35-27.725 8.505-41.156.75-13.402-7.74-21.53-22.143-19.906-35.938-23.19-9.237-47.145-14.438-70.156-14.532zm101.625 6.625c-5.215.166-9.516 2.475-11.532 5.968-3.442 5.962-.55 15.975 9.343 21.688 9.894 5.713 19.997 3.212 23.44-2.75 3.44-5.962.58-16.006-9.314-21.72-3.71-2.14-7.465-3.108-10.875-3.186-.354-.01-.714-.012-1.06 0zm-43.25 73.906L31.75 283.188c5.972 8.454 13.093 14.29 25.125 15.062l105.47-182.78c-8.03-5.31-16.5-10.178-25.376-14.626zm194.78 6.25l-17.406 10.78-10.22 66.657 38.313-59.124-10.687-18.312zm-140.344 61.72l-21.844 13.467 14.375 17.314 86.157-4.75-78.688-26.03zm209.75.686l-3.78 1.156-181.095 55.906-3.75 1.188-1.81 3.5-42.314 82.875-3.625 7.125 6.47 4.688 216.53 157.25 10.126 7.343 4.156-11.81 88.563-251.44 2.656-7.5-7-3.81-81.655-44.564-3.47-1.906zm-2.03 20.188l63.28 34.562-65.97 20.344-33.248-43.813 35.937-11.093zm-54.97 16.968l33.28 43.813L279 280.843l2.78-54.938 62.376-19.25zM262.78 231.78L260 286.72l-67.22 20.75 32.782-64.19 37.22-11.5zm202.5 11.126L400 428.312l4.063-166.5 61.218-18.906zm-80.06 24.72l-4.064 166.5-98.812-134.72 102.875-31.78zm-121.783 37.593L364.75 443.374 201.062 324.5l62.375-19.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DiamondsSmile;

impl IconShape for DiamondsSmile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.877 46.832c-23.13.06-46.282 9.02-63.975 26.87-35.385 35.702-35.533 93.438-.33 128.956 14.105 14.23 31.746 22.73 50.1 25.518-10.1-3.56-19.568-9.39-27.604-17.496-28.77-29.03-28.628-76.343.24-105.467 14.432-14.562 33.43-21.878 52.417-21.926 18.986-.048 37.96 7.174 52.345 21.69 18.258 18.42 24.854 44.2 19.873 68.027 13.803-33.148 7.414-72.75-19.228-99.63-17.602-17.76-40.708-26.602-63.838-26.542zm282.79 0c-23.13-.06-46.235 8.782-63.837 26.54-26.642 26.88-33.03 66.484-19.228 99.632-4.98-23.826 1.615-49.606 19.873-68.027 14.385-14.516 33.36-21.738 52.345-21.69 18.987.048 37.985 7.364 52.418 21.926 28.867 29.124 29.01 76.437.24 105.467-8.037 8.107-17.504 13.935-27.605 17.496 18.354-2.787 35.995-11.287 50.1-25.518 35.203-35.518 35.055-93.254-.33-128.955-17.693-17.85-40.845-26.81-63.975-26.87zm-271.915 54.99c-14.127.04-28.275 5.553-39.172 16.547-21.793 21.987-21.863 57.334-.238 79.153 21.625 21.82 56.423 21.75 78.217-.238 21.792-21.988 21.862-57.335.237-79.154-10.813-10.91-24.918-16.346-39.045-16.308zm261.04 0c-14.126-.038-28.232 5.4-39.044 16.31-21.625 21.818-21.555 57.165.238 79.153 21.794 21.988 56.592 22.058 78.217.238s21.555-57.166-.238-79.154c-10.897-10.995-25.045-16.51-39.172-16.548zm-6.214 17.873c-5.868 5.834-9.502 13.913-9.502 22.842 0 17.79 14.42 32.21 32.21 32.21 9.17 0 17.44-3.836 23.306-9.985-1.113 8.36-4.84 16.422-11.196 22.834-15.46 15.6-40.596 15.538-56.14-.145-15.545-15.682-15.61-41.037-.147-56.64 6.057-6.11 13.6-9.808 21.468-11.115zm-264.564.61c-5.52 5.78-8.914 13.607-8.914 22.232 0 17.79 14.42 32.21 32.213 32.21 10.407 0 19.656-4.94 25.544-12.597-.717 9.212-4.567 18.238-11.568 25.3-15.545 15.684-40.68 15.745-56.142.146-15.46-15.6-15.4-40.958.145-56.64 5.362-5.41 11.867-8.96 18.72-10.65zM15.95 266.4v41.93l28.204-9.066 10.29-27.93c-12.823-1.508-25.654-3.14-38.493-4.934zm480.066.686c-17.328 2.382-34.67 4.487-52.022 6.348l.272 30.765 51.75 25.517v-62.63zm-422.448 6.4l-11.152 30.268L91.64 341.46l38.07-28.452 4.538-34.11c-20.207-1.45-40.434-3.253-60.68-5.412zm351.752 1.852c-24.378 2.35-48.78 4.185-73.21 5.504l-3.256 40.017 38.218 31.533 38.555-42.32-.307-34.735zm-272.384 4.805l-4.624 34.742 36.15 52.756 29.972-33.017-2.682-51.885c-19.588-.53-39.194-1.398-58.816-2.595zm180.35 1.62c-34.215 1.475-68.48 1.93-102.8 1.372l2.393 46.29 59.516 33.682 37.567-40.53 3.324-40.813zm-284.048 35.5L15.95 327.958v14.42c19.996 14.487 40.67 27.61 62.04 39.626V354.36l-28.752-37.098zm390.205 5.397l-40.61 44.572 3.935 36.21c32.464-15.395 62.304-32.803 91.048-53.973l-54.373-26.81zm-302.69 8.416l-40.073 29.95v31.107c25.3 13.236 51.554 25.073 78.806 35.887l-1.853-43.12-36.88-53.824zm204.01 7.338l-37.972 40.97-3.093 64.73c30.68-10.36 58.82-20.91 85.158-32.5l-4.396-40.45-39.696-32.75zm-113.156 9.502l-35.193 38.766 2.094 48.666c20.89 7.812 42.347 15.1 64.396 22.025 7.42-2.33 14.646-4.65 21.784-6.97l3.37-70.542-56.45-31.944z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DigDug;

impl IconShape for DigDug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.4 17.8l-94.9 96.3c16.2 19.2 43.7 35.5 66.2 40.2 15.3 3 30.6 1.8 43.3-4.7 29.3 28.9 58.2 58.3 87 87.9l22.2-22.3-87.6-87.5c6.3-12.6 8.5-27.95 4.5-42.8-8.2-30.5-21.2-47.58-40.7-67.1zm125.1 9.5c-9.3.1-18.5.9-27.5 2.7 117.1 70.5 204.6 164.7 273.6 273.7 2.8-59.2-21.2-120.2-59.3-169.7-15 5.5-33.5.6-46.4-12.2-12.8-12.9-17.7-31.4-12.2-46.4-39.3-29.9-84.3-48.3-128.2-48.1zM128.4 60.2c5.7 9.5 9.5 19.2 11.3 28.3 3.3 16.5.2 30.1-8.6 38.9-8.7 8.7-22.3 11.8-38.8 8.6-9.1-1.8-18.8-5.6-28.4-11.3zm263.5 15.9c-7.2 7.04-6.6 21.6 4.3 32.4 10.8 10.9 25.3 11.4 32.5 4.3 7.1-7.2 6.9-22-4.3-32.5-8.7-8.13-23.1-13.47-32.5-4.2zm-56.3 71.2L22.3 460.7c4.2 11.5 10.7 20.4 24.5 24.9L360.3 172c-7.5-8.7-15.8-16.9-24.7-24.7zm-43.2 119.1l-23.1 23.1c32.5 34 65 68.3 97.4 102.5-15.6 14.5-31.7 27.2-46.5 36.1 55.9 56 124.9 78.1 162 54.5 22.8-37.3 1.1-106.5-54.5-162.1-9.6 15-22 30.7-35.5 45.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DinosaurBones;

impl IconShape for DinosaurBones {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M236.375 34.5l-18.53 2.406 5.06 39.407c-9.114 1.973-18.22 4.657-27.28 8.062l-9.5-40.156-18.188 4.31 10.25 43.345c-8.443 4.105-16.825 8.87-25.093 14.344l-17.28-42.876-17.314 6.968 19.03 47.22c-5.018 4.003-9.758 8.155-14.25 12.468L89.47 89.625l-14.345 12 35.22 42.063c-4.675 5.425-9.01 11.022-12.97 16.78L53.47 133.5l-9.782 15.938 43.874 26.906c-3.705 6.694-6.962 13.558-9.812 20.53l-47.53-12.81-4.845 18.06L71.5 214.532c-3.59 11.932-6.03 24.1-7.344 36.345l-39.656-2.25-1.03 18.688 39.56 2.218c-.18 11.804.654 23.588 2.47 35.19L31.375 311l3.375 18.375 34.47-6.344c2.885 11.524 6.74 22.782 11.56 33.595l-26.31 11.97 7.75 17 27-12.283c5.96 10.538 12.905 20.534 20.78 29.813l-20.53 16.813 11.843 14.468 21.5-17.625c8.905 8.594 18.724 16.354 29.406 23.126L141.53 456l15.564 10.344 11.437-17.22c11.12 5.558 23.014 10.1 35.626 13.47l3.563-17.72c-10.315-2.77-20.055-6.39-29.19-10.812l7.47-11.25-15.563-10.343-8.28 12.467c-9.12-5.807-17.506-12.456-25.157-19.78l13.906-11.407-11.844-14.438-14.843 12.157c-6.764-8.09-12.778-16.756-18-25.908l22.5-10.25-7.75-17-23.19 10.563c-4.193-9.428-7.62-19.208-10.218-29.22l32.313-5.967-3.375-18.375-32.72 6.03c-1.586-10.158-2.347-20.456-2.25-30.78l40.032 2.25 1.063-18.657-39.97-2.25c.73-6.54 1.805-13.07 3.25-19.53 4.226.572 9.16 1.176 15.064 1.843 14.326 1.616 32.835 3.446 51.155 5.186 29.98 2.848 49.638 4.533 59.375 5.375l-33.063 72.345-5.78 12.656 1.343.064L234.563 365l9.406-16.156-29.94-17.375 51.782 2.092.75-18.687-49.343-2 33.593-13.22-6.844-17.405-35.407 13.938L234 240.53l5.5-12.06-13.22-1.126s-35.88-3.062-72.405-6.53c-18.263-1.736-36.696-3.565-50.813-5.158-4.618-.52-8.52-1.014-12.03-1.47 9.83-29.017 27.474-56.23 53.812-78.5l20.937 52 17.345-7-22.875-56.75c.296-.202.578-.42.875-.624 7.11-4.84 14.278-9.096 21.47-12.812l18.874 79.906 18.186-4.28-19.72-83.5c8.432-3.326 16.87-5.95 25.314-7.876l11.78 91.75 18.532-2.375-11.875-92.53c8.964-1.012 17.896-1.247 26.75-.814l3 96.19 18.688-.595-.344-11.25 34.22 39.28-37.28 17.064 7.78 17 32.313-14.782-15.688 32.343 16.813 8.19L353.344 226l2.72-5.563-4.064-4.656-41.375-47.468 50.53-47.843c23.78 15.006 45.428 35.18 63.533 59.343-23.814 6.14-44.022 24.153-50.688 53.718l47 103.064 16.875-2.406-26.938-68.625 17.407-6.844 28.562 72.75 34.813-5-8.408-138.626c-11.76-6.55-24.637-9.992-37.312-10.375-4.585-6.65-9.41-13.05-14.47-19.19l18.564-18.686-13.25-13.156-17.72 17.812c-5.074-5.355-10.35-10.44-15.78-15.28l18.125-27.314-15.595-10.312-17 25.656c-6.047-4.625-12.28-8.927-18.656-12.906l10.56-31.844-17.75-5.875-9.374 28.28c-7.146-3.664-14.46-6.923-21.906-9.75l3.156-33.686-18.625-1.75-2.75 29.5c-8.182-2.25-16.497-3.956-24.905-5.126l-.938-30.188L269 44.22l.875 27.936c-1.664-.064-3.33-.105-5-.125-1.19-.013-2.37-.007-3.563 0-6.633.05-13.29.455-19.968 1.22l-4.97-38.75zm52.844 58.22c7.597 1.222 15.11 2.952 22.53 5.155l-4.438 47.406.407.032-16.376 15.5-2.125-68.093zm40.717 11.56c4.807 1.977 9.565 4.156 14.25 6.532l-16.312 15.438 2.063-21.97zM441.5 195.5c.786-.023 1.572.006 2.375.063 12.852.9 22.34 11.843 21.438 24.687-.902 12.84-11.836 22.34-24.688 21.438-12.852-.902-22.34-11.848-21.438-24.688.845-12.037 10.52-21.152 22.313-21.5zM328.25 439.563c-5.288 1.61-10.488 3.022-15.625 4.28l4 18.282c5.63-1.356 11.322-2.9 17.094-4.656l-5.47-17.908zm-33.906 8.093c-7.15 1.227-14.145 2.1-20.97 2.656l.376 18.532c8.005-.56 16.202-1.516 24.563-2.938l-3.97-18.25zM226 448.75l-3.594 17.78c10.464 1.76 21.356 2.75 32.656 2.876l-.375-18.344c-9.96-.06-19.515-.87-28.687-2.312z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DinosaurEgg;

impl IconShape for DinosaurEgg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304.813 31c-2.68 0-5.374.062-8.063.188-12.293.574-24.667 2.45-36.97 5.75-49.2 13.2-116.718 54.886-166.967 106.406-50.25 51.52-82.375 112.03-68.97 162.125 13.725 51.285 64.74 99.784 125.563 131.217 60.823 31.434 130.982 45.438 179.094 32.532 48.112-12.908 96.36-58.455 128.156-114.595 31.795-56.14 46.91-122.3 33.03-174.156C465.62 90.534 387.885 30.977 304.815 31zm-13.875 32.156c23.905.353 42.986 8.247 51.593 23.563 17.217 30.63-14.003 79.414-69.75 108.968-55.745 29.553-114.908 28.66-132.124-1.97-17.215-30.63 14.035-79.415 69.78-108.968 27.875-14.777 56.596-21.947 80.5-21.594zm175.968 122.656c25.964 97.013-56.265 238.79-147.094 263.157-55.228 14.817-136.132-7.745-196.906-49.5 136.662 62.11 320.135 11.945 344-213.658zM96.75 205.75c20.858 0 37.75 16.89 37.75 37.75s-16.89 37.78-37.75 37.78-37.78-16.92-37.78-37.78 16.922-37.75 37.78-37.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DinosaurRex;

impl IconShape for DinosaurRex {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.03 20.844c-15.316.043-30.757 3.48-44 9.187-7.74-.592-15.25-.91-22.5-.905-90.62.073-143.082 46.573-163.968 126.313v340.218h189.313c-5.18-54.53 5.24-114.066 27.28-154.625-28.882-4.973-57.912-8.197-85.843-9.217l-7.656-.282-1.22-7.592c-9.48-58.97-10.128-119.04 22.064-176.47l16.313 9.126c-28.177 50.266-29 102.555-20.97 157.062 81.76 4.08 170.21 25.267 239.376 54.844 22.725-5.73 33.816-29.686 41.842-65.5l-31.968 21.625-10.03-44.438-45.69 30.907-10.78-47.72-43.25 29.22-10.688-47.313-43.812 29.626-15-66.406 70.844-47.906 10.687 47.344 43.813-29.625 10.78 47.718 43.25-29.25 10.032 44.407 45.656-30.875 7.688 34.063c20.848-26.98 35.224-66.535 14.406-85.28-25.446-22.914-52.26-43.34-79.406-60.564-6.566-24.932-61.027-77.113-93.75-47.874-14.44-21.414-38.472-29.88-62.813-29.812zm2.19 21.625c18.102 0 32.593 14.55 32.593 32.78 0 3.19-.453 6.25-1.282 9.156-3.084-6.24-9.503-10.562-16.936-10.562-10.436 0-18.906 8.47-18.906 18.906 0 6.22 3.018 11.713 7.656 15.156-1.03.097-2.07.125-3.125.125-18.104 0-32.626-14.55-32.626-32.78s14.522-32.78 32.625-32.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Direwolf;

impl IconShape for Direwolf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.14 22.185c9.508 36.595 15.32 71.885 14.22 108.31 21.73 18.495 44.074 28.207 68.035 38.93 11.813 5.288 23.99 10.82 36.37 17.69-24.702-70.606-62.676-117.77-118.626-164.93zM27.122 25.887C24.958 45.21 27.53 71.24 34.12 97.38c6.96 18.72 16.942 37.974 27.595 54.67 15.003 23.516 32.422 42.276 40.48 46.868l-9.27 16.244c-14.91-8.496-31.08-28.122-46.978-53.037-9.383-14.708-18.273-31.144-25.328-47.943v196.584l43.17 1.76c-2.8-23.054-4.248-45.878-2.73-66.516l18.614 1.382c-2.313 31.474 3.16 71.293 9.656 108.65 110.615 90.673 195.362 124.516 260.695 131.175l-95.107-66.8 40.053-15.876L152.44 332.58l38.505-1.738c-28.377-14.028-48.9-32.894-63.144-55.63l1.464-22.964c35.81 41.623 89.82 73.71 151.373 98.096l-43.164 6.068 112.765 52.193-22.39 25.518 119.7 42.32c16.61-5.68 31.058-12.678 43.66-19.464-97.364-69.615-123.58-131.642-168.034-193.962l-.008-.01c-34.93-45.653-68.47-60.9-103.4-76.534-33.725-15.094-68.975-30.612-101.788-72.558L27.123 25.887zm156.344 175.59l89.894 46.75-24.032 17.57c18.66 30.458 55.134 55.834 91.12 72.86-50.826-7.884-103.33-32.248-148.212-69.427l29.815-20.224-38.583-47.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Disc;

impl IconShape for Disc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.2 33.1l-49.6 33.04L27.29 389.9l361.31 89 96.1-356-66.3-18.5-24.5 91.4-105-28.1-14.7 55.2c15.2 9.7 22.3 28.2 17.7 45.6-5.9 22.2-28.7 35.3-50.8 29.4-22.1-5.9-35.2-28.7-29.3-50.8 4.7-17.6 20.2-30.1 38.4-30.8 2.1-.1 4.3 0 6.4.3l14.3-53.8-115-30.8 2.4-9 22.8-84.91zm34.9 7.78l-19.4 77.92 202.1 54.1 19.4-77.87zM70.32 331.6l312.08 74.7-4.4 18.2-312.04-74.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Disintegrate;

impl IconShape for Disintegrate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.844 20.625v129.5l73.375 66.25c36.57 38.36 55.757 94.852 27.624 145.625l.72-.844-4.626 7.97 8.093 4.687 122.407 70.656 8.094 4.655 3.97-6.875c27.733-26.382 63.19-7.125 102.28 16.53l41.126 37.126h92.22V408.78l-44.063-43.967c-22.454-28.274-35.613-54.52-32.032-84.5 17.85-59.055-4.958-140.538-25.78-160.47-7.902-7.752-16.606-14.816-27.03-20.406-21.165-12.22-46.998-15.218-70.376-14.468-16.582.53-33.126 4.057-48.844 10.093-36.71 8.396-67.358-7.433-101.406-35.282l-39.22-39.155h-86.53zm280 83.313c2.78-.026 5.55.05 8.312.218-.036.097-.09.183-.125.28-6.752 18.694 38.538 37.97 49.126 14.97 55.007 34.127 69.07 117.013 36.063 174.188-.71 1.227-1.45 2.403-2.22 3.53l-6.313 6.845c7.46 4.334 12.742 11.783 12.157 21.31-.003.043.002.084 0 .126 5.824.896 11.176 5.245 10.78 11.656-.795 12.97-13.8 14.244-20.655 8.875-15.525 11.663-43.697 1.44-43.595-19.343-1.955.698-3.88 1.38-5.875 2.094l-27.125-27.594-13.344 13.094 21.564 21.937c-10.82 4.87-21.477 11.133-30.875 20.53l-.876.876-.625 1.064-6.658 11.5-14.812-8.563 10.313-17.874-16.188-9.344-10.313 17.875-13.656-7.875 10.313-17.875-16.19-9.343-10.31 17.875-13.94-8.064 10.314-17.875-16.188-9.342-10.312 17.875-15.25-8.782 6.656-11.5c5.53-12.61 4.07-28.693 2.938-39.31l30.25 7.81 4.687-18.092-38.03-9.813c-.616-3.4-1.223-6.765-1.782-10.063-2.202-12.97-3.66-24.87-2-36.156l5.218-16.687c.482-.96.98-1.922 1.532-2.876 9.726-16.845 23.427-31.258 39.375-42.438 1.944 19.517 29.105 28.628 44.188 17.063 7.884 12.587 33.59 13.47 34.97-8.97.8-13.03-14.17-20.428-25.376-16.875-.847-5.087-3.442-9.416-7.064-12.78 8.94-2.295 18.048-3.697 27.125-4.064 1.272-.05 2.545-.08 3.814-.093zm6.22 57.343c-6.418-.064-12.71 3.813-13.283 13.157-.918 14.96 26.277 19.934 27.5 0 .49-7.946-6.946-13.082-14.217-13.156zm-81.783 4.782c-9.155.277-18.194 4.64-25.124 14.938-19.17 28.49 33.978 72.874 60.688 38.28 7.888 4.022 19.703 1.605 20.5-11.374.534-8.688-8.413-14.002-16.25-13.03-5.094-15.572-22.663-29.33-39.813-28.814zm115.25 66.094c-9.155.276-18.194 4.607-25.124 14.906-19.576 29.093 36.255 74.772 62.344 36 14.376-21.366-11.905-51.67-37.22-50.906zm-56.5 8.875l-49.342 34.69 43.968 25.405 5.375-60.094zM164 324.97l15.25 8.78-11.156 19.313 16.187 9.343 11.157-19.312 13.938 8.062-11.156 19.313 16.186 9.342 11.156-19.312 13.657 7.875-11.157 19.313 16.187 9.343 11.156-19.31 14.813 8.56-21.564 37.314-106.22-61.313L164 324.97zm182.53 37.06c9.127-.25 17.758 10.78 12.19 19.19-3.474 5.245-8.023 6.81-12.22 6.155 2.446 6.643 2.232 14.06-2.156 20.688-21.842 32.983-63.58-2.503-47.188-27.25 10.818-16.336 26.53-15.88 37.625-8.25.216-1.442.723-2.856 1.626-4.22 2.904-4.384 6.554-6.213 10.125-6.312zm46.908.72c10.303.104 20.848 7.365 20.156 18.625-1.735 28.246-40.24 21.197-38.938 0 .813-13.24 9.69-18.717 18.78-18.625zm44.875 33.156c6.555.066 13.284 4.68 12.843 11.844-1.102 17.97-25.61 13.486-24.78 0 .516-8.42 6.153-11.902 11.937-11.844zm-59.407 15.875c6.555.067 13.285 4.682 12.844 11.845-1.103 17.97-25.642 13.486-24.813 0 .517-8.42 6.185-11.902 11.97-11.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Distraction;

impl IconShape for Distraction {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M114.938 22.844L83.5 93.624l-60.906-44.06 41.062 56.405-43.343-4.595 50.375 22.375-31.782 78.75 47.657-61.062L121.906 202l-13.875-61.75 94.94 10.063-85.345-37.907 30.406-38.5-40.186 15.907 7.094-66.97zm291.28 22.094c-19.627.28-40.815 11.495-61.75 31.843-23.783 23.117-71.204 21.85-78.53 56.158C379.428 87.395 403.99 165.45 316.5 179.75 198.353 199.06 142.72 345.227 21.188 348.22c20.53 25.438 106.22 51.04 199.625 50.468l27.656 68.53c-21.106 2.08-41.81 10.63-56.5 27.282h229.56c-13.726-17.922-41.577-28.49-69.936-27.75l-32.125-79.47c18.65-4.504 36.797-10.47 53.936-18.124 81.08-36.2 137.183-123.264 106.188-238.937-15.96-59.563-42.756-85.727-73.375-85.282zm-11.905 23.968c9.13 0 15.875 7.338 15.875 16.47 0 9.13-6.745 16.437-15.875 16.437-9.13 0-16.47-7.307-16.47-16.438 0-9.13 7.34-16.47 16.47-16.47zM300.75 391.313l31.438 77.78c-8.766 1.93-17.27 5.064-25.094 9.532-10.98-6.175-24.303-10.146-38.28-11.437l-27.876-69.032c19.95-.934 40.083-3.135 59.812-6.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Divergence;

impl IconShape for Divergence {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.594 13.75l-8.03 13.438-80.69 135.187-8.436 14.125H220.435v208.75l-69.092-86.188 36.25-29 12.875-10.28-15.407-5.75-147.47-55.188-14.656-5.47 2.125 15.5L46.5 364.845l2.25 16.28 12.844-10.28 30.062-24.03 116.75 145.842h32.656l-138.156-178.78-40.125 32.093-7.405-53.94c6.306 5.892 14.752 9.5 24.063 9.5 19.49 0 35.312-15.79 35.312-35.28 0-7.974-2.665-15.34-7.125-21.25l55.438 20.75-45.563 36.47L248.72 472V157.812h-54.345l29.28-49.03c1.594 18.015 16.697 32.124 35.126 32.124 18.23 0 33.26-13.796 35.126-31.53l28.906 48.436h-55.406v317l133.5-172.718-45.437-36.344 53.124-19.875c-4.073 5.754-6.47 12.79-6.47 20.375 0 19.49 15.792 35.28 35.282 35.28 10.322 0 19.61-4.434 26.063-11.5l-7.69 55.94-40.28-32.22-138.25 178.906h32.78L426.814 346.75l30.125 24.094 12.875 10.28 2.218-16.28 21.44-155.97 2.124-15.5-14.656 5.47L333.5 254.03l-15.406 5.75 12.844 10.283L367.125 299l-70.438 87.875V176.5h59.033l-8.44-14.125-80.655-135.188-8.03-13.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Divert;

impl IconShape for Divert {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M237.688 20.25L18.344 288.344l174.625 63.094c-8.217 8.152-18.068 15.154-29.876 20.78L276.5 399.282c-10.966 11.894-24.456 22.08-41 30.22l125.563 12.406c-16.877 21.158-38.8 38.795-67.063 52.03l204.688-29.623L412.5 273.125c-1.632 34.214-5.993 66.51-14.688 95.813L320 270.03c-1.03 21.615-3.57 42.188-8.438 61.22l-80.843-72.47c-1.363 11.97-3.38 23.5-6.25 34.408l-45.94-28.657L496.69 20.25h-90.75l-284.72 250.844 158.313 87.03-211.655-76.78L318.5 20.25h-80.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DividedSpiral;

impl IconShape for DividedSpiral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.406 21.406c-14.586.572-28.81 2.492-42.594 5.594l9.5 35.438c10.742-2.328 21.784-3.8 33.094-4.313v-36.72zm18.688 0v36.72c11.26.532 22.273 2.01 32.97 4.343l9.53-35.532c-13.753-3.082-27.95-4.97-42.5-5.532zm60.562 10.313l-9.53 35.593c10.674 3.416 20.973 7.725 30.78 12.812l18.47-31.97c-12.604-6.63-25.893-12.154-39.72-16.436zm-139.875.06c-13.773 4.28-27.004 9.798-39.56 16.407l18.343 31.75c9.796-5.057 20.06-9.327 30.718-12.718l-9.5-35.44zM381.5 57.5l-18.47 32c9.345 6.022 18.162 12.792 26.345 20.25l26.156-26.156c-10.5-9.696-21.89-18.423-34.03-26.094zm-251.47.063c-12.167 7.697-23.573 16.455-34.093 26.187l25.876 25.875c8.233-7.492 17.125-14.273 26.53-20.313l-18.312-31.75zM255.626 75.97c-99.678 0-180.656 81.01-180.656 180.686 0 99.65 80.977 180.656 180.655 180.656 99.677 0 180.688-80.98 180.688-180.656 0-45.944-17.214-87.905-45.532-119.812-1.284-1.8-2.583-3.594-3.936-5.344l-.563.438c-32.917-34.474-79.306-55.97-130.655-55.97zm0 18.686c47.59 0 90.35 20.44 119.97 53.03 13.164 18.447 22.208 39.743 25.842 62 10.112 61.704-26.617 129.948-91.062 139.533-41.483 6.182-87.313-18.815-93.03-61.94-1.765-13.308 1.52-27.713 8.686-38.78 7.17-11.067 17.735-18.72 31.44-20.28 7.977-.908 16.773 1.222 23.342 5.593 6.57 4.37 10.854 10.442 11.594 18.437v.03c.094.995.085 2.022 0 3.064-3.712-3.68-8.798-5.938-14.437-5.938-11.344 0-20.564 9.19-20.564 20.53 0 11.344 9.22 20.533 20.563 20.533 3.624 0 7.01-.946 9.967-2.595 7.022-2.2 12.792-6.888 16.625-12.47 5-7.275 7.294-16.084 6.47-24.874-1.3-14.016-9.433-25.333-19.876-32.28-10.442-6.947-23.257-10.05-35.812-8.625-19.64 2.238-35.302 13.744-45 28.72-9.698 14.973-13.907 33.487-11.53 51.405 7.274 54.863 63.562 85.533 114.31 77.97 54.573-8.117 91.783-50.963 104.157-100.75-5.308 84.757-75.54 151.686-161.655 151.686-89.58 0-161.97-72.445-161.97-162 0-89.583 72.39-162 161.97-162zm173.094 2.156L402.56 122.97c7.467 8.202 14.288 17.005 20.313 26.374l32-18.47c-7.685-12.147-16.443-23.556-26.156-34.06zm-345.97.157c-9.647 10.453-18.36 21.797-26 33.874l31.656 18.28c6.015-9.322 12.775-18.114 20.22-26.28L82.75 96.97zm-35.375 50.06c-6.64 12.616-12.183 25.91-16.47 39.75l35.25 9.44c3.43-10.743 7.755-21.076 12.876-30.94l-31.655-18.25zm416.875 0l-32.063 18.5c5.08 9.818 9.376 20.097 12.782 30.782l35.75-9.562c-4.285-13.826-9.838-27.117-16.47-39.72zM26.125 204.813c-3.075 13.723-4.964 27.89-5.53 42.407H57c.53-11.257 2.016-22.28 4.344-32.97l-35.22-9.438zm459.375 0l-35.72 9.563c2.313 10.652 3.787 21.632 4.314 32.844h36.937c-.566-14.518-2.455-28.685-5.53-42.407zM20.594 265.906c.566 14.585 2.466 28.81 5.562 42.594l35.188-9.406C59 288.328 57.52 277.244 57 265.906H20.594zm433.5 0c-.517 11.294-1.986 22.336-4.313 33.063l35.69 9.56c3.1-13.79 4.995-28.03 5.56-42.624h-36.936zm-9.125 51.125c-3.386 10.626-7.648 20.86-12.69 30.626l32 18.47c6.6-12.55 12.103-25.772 16.376-39.532l-35.687-9.563zm-378.814.095l-35.22 9.438c4.277 13.774 9.832 27.003 16.44 39.562l31.562-18.22c-5.082-9.812-9.373-20.1-12.782-30.78zm356.813 46.72c-6.05 9.426-12.87 18.31-20.376 26.56l26.062 26.064c9.76-10.55 18.567-21.983 26.28-34.19l-31.967-18.436zm-334.69.25L56.688 382.31c7.672 12.136 16.43 23.503 26.126 34l25.812-25.812c-7.483-8.21-14.307-17.027-20.344-26.406zm301.126 39.53c-8.177 7.454-17.007 14.198-26.344 20.22l18.407 31.905c12.124-7.66 23.476-16.413 33.967-26.094l-26.03-26.03zm-267.594.094l-25.78 25.78c10.514 9.72 21.903 18.5 34.062 26.188l18.25-31.625c-9.412-6.044-18.294-12.846-26.53-20.344zm225.125 29.53c-9.812 5.092-20.13 9.363-30.812 12.78l9.5 35.47c13.816-4.278 27.093-9.815 39.688-16.438l-18.375-31.812zm-182.406.188l-18.25 31.625c12.54 6.595 25.75 12.103 39.5 16.375l9.47-35.313c-10.655-3.392-20.926-7.63-30.72-12.688zm133.564 17.437c-10.706 2.337-21.728 3.81-33 4.344v36.592c14.54-.562 28.724-2.453 42.47-5.53l-9.47-35.407zm-84.78.063l-9.47 35.28c13.773 3.1 27.988 5.023 42.562 5.594V455.25c-11.31-.512-22.353-1.985-33.094-4.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DivingDagger;

impl IconShape for DivingDagger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.156 18.813v17.375l133.25 133.28c-3.947 6.433-5.944 13.352-6.28 20.126L18.155 62.624v35.75l191.406 191.407c-3.244 5.633-6.27 11.428-9.062 17.376L18.156 124.78v39.032l171.25 171.25c-2.217 6.73-4.147 13.593-5.844 20.594L18.156 190.25v33.594l158.28 157.562 2.126-2.125-.03.126 13.874-2.875c26.105-5.42 50.127-14.95 71.906-27.405 66.73 65.97 119.54 102.987 210.407 135.094l16.75 5.936L486.874 473c-24.79-92.525-69.195-136.412-139.28-206.438 13.416-22.543 23.46-47.406 29.03-74.875l2.75-13.656 1.78-1.78L224.032 18.812h-35l164.626 164.594c-6.974 1.734-13.807 3.702-20.47 5.97L162.657 18.81h-39.47L305.25 200.906c-5.862 2.862-11.584 5.938-17.125 9.25L96.75 18.812H59.594L189.53 148.75c-1.358-.064-2.724-.064-4.093 0-5.936.276-11.93 1.78-17.53 4.813L33.156 18.813h-15zm168.688 148.25c5.16-.136 10.33 1.564 15.03 4.343 4.703 2.78 8.48 6.743 10.376 10.438 1.896 3.695 2.083 6.59.875 9.406l-3.25 7.563L217 203c17.685 10.39 31.39 22.173 44.625 37.844l5.875 6.937 7.125-5.686c22.758-18.256 49.68-31.677 80.063-39.688-5.998 22.075-14.888 42.274-26.625 60.656L324 269.406l5.313 5.313c68.304 68.307 109.312 106.854 134.28 185.31-79.978-30.526-127.43-65.333-191.124-129.03l-5.22-5.22-6.28 3.845c-17.574 10.758-36.96 19.163-57.814 24.938 7.753-29.216 20.29-55.668 37.375-77.844l5.47-7.095-6.844-5.75c-16.432-13.823-31.395-27.756-41.406-45.156l-3.344-5.845-6.594 1.344c-8.22 1.67-17.083-3.534-21.53-12-4.45-8.47-4.81-18.55 5.562-28.532 4.694-4.518 9.84-6.49 15-6.625zm99.062 98.78l-16.625 17.844c41.408 43.6 112.356 108.88 157.814 140.657-32.02-45.922-97.425-116.987-141.188-158.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dna1;

impl IconShape for Dna1 {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.844 18.22c-10.248 46.5-5.753 86.598 7.562 121 31.722 35.503 74.78 60.367 119.5 84.405-15.144-14.727-29.5-29.294-41.97-44.188h72.94c5.318-6.197 10.267-12.425 14.812-18.687H192.5c-4.946-7.035-9.397-14.18-13.25-21.5-2.036-3.867-3.926-7.78-5.656-11.75h140.594c2.73-6.087 5.032-12.27 6.875-18.688h-154.22c-3.453-12.16-5.326-25.127-5.218-39.437h164.25c-.176-5.948-.708-12.168-1.656-18.72H162.843c1.202-10.093 3.29-20.866 6.437-32.436h-47.436zm216.03 0c10.033 36.836 9.616 65.44 2.47 90.593h-.156c-3.215 13.34-8.158 25.723-14.375 37.53-15.708 29.833-40.195 56.197-67.094 82.532 12.75 6.806 25.567 13.607 38.25 20.625 26.73-26.167 52.8-54.185 71.03-88.813 20.463-38.87 29.83-85.945 17.375-142.468h-47.5zm-129 253.81c-20.338 21.212-39.452 44.344-53.936 71.69-21.326 40.26-31.11 89.958-19.438 149.467h45.625c-5.036-22.15-6.48-42.845-5.03-62 .458-7.468 1.38-14.606 2.75-21.468H179c1.278-6.435 2.896-12.663 4.813-18.69.024-.07.038-.145.062-.217 3.025-9.47 6.796-18.44 11.188-26.875 14.96-28.73 35.86-51.34 56.5-71.813-14.107-6.74-28.446-13.326-42.688-20.094zm47.595 22.47c14.437 14.55 27.88 29.196 39.186 44.563h-61.812c-4.798 5.982-9.337 12.195-13.53 18.687h87.75c1.445 2.45 2.832 4.94 4.155 7.438 4.388 8.287 8.147 16.85 11.155 25.843H203.5c-2.184 5.98-4.007 12.218-5.47 18.69h130.314c2.428 12.173 3.525 25.21 2.937 39.436H194.19c.137 6.05.58 12.28 1.375 18.688h134.062c-1.072 8.062-2.65 16.496-4.75 25.344h46.813c9.533-48.618 4.736-90.682-8.97-126.407-28.443-31.848-66.276-52.97-106.25-72.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dna2;

impl IconShape for Dna2 {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M415.03 17.563c-4.89 3.61-9.423 7.793-13.5 12.656-13.096 15.624-20.828 37.513-21.436 66.78-20.397-11.956-42.823-16.838-64.563-16.03-22.81.845-44.876 7.946-63 19.655-20.71 13.382-36.663 33-42.5 56.625-4.722 19.12-2.484 40.57 8.44 62.188-5.803-.375-11.44-.567-16.907-.563-1.642 0-3.265.027-4.875.063-38.65.848-68.484 11.434-87.438 31.906-22.476 24.275-27.11 60.72-14.28 104.406-25.94-6.293-52.112-5.46-75.907 5.406v40.906c5.85-4.94 13.04-9.213 21.562-12.687h.03l81.22 55.094c.02.76.032 1.53.03 2.28-.014 13.522-2.952 24.835-8.78 34.375l-94.063-65.03v22.717l78.907 54.532h29.374c8.707-13.213 13.23-29.072 13.25-46.563.02-18.367-4.637-38.573-13.813-60.436 51.663 16.18 97.765 3.348 123.782-26.344 25.218-28.78 30.145-72.742 5.657-115.875 34.87 5.496 64.61 4.11 88.28-4.344l.22.314 1.092-.78c8.527-3.17 16.258-7.26 23.125-12.314 25.508-18.77 36.86-50.167 33.094-89.625 28.385 18.706 61.257 21.906 92.314 18.813V81.25l-23.25-63.688H415.03zm37.19 2.875l36.53 99.937c-8.585.79-17.944.76-28-.063l-33.938-88.218c7.333-5.274 15.906-9.045 25.407-11.657zM412.436 46.75l27.22 70.78c-12.692-2.245-26.26-5.58-40.657-10.155-1.062-28.198 4.344-47.378 13.438-60.625zm-75.625 69.688c13.4.654 28.175 2.68 44.094 6.093 4.365 21.814 4.248 39.968.156 54.75l-44.25-60.843zm-22.906.28l58.22 80.032c-3.88 5.663-8.634 10.555-14.25 14.688-2.198 1.616-4.555 3.106-7.063 4.5l-66.625-93.313c8.662-3.01 18.59-5.016 29.718-5.906zm-46.812 14.126L333 223.188c-9.03 2.58-19.307 4.134-30.75 4.593L247.094 152c4.302-7.57 10.024-13.915 17.062-19.094.95-.7 1.93-1.403 2.938-2.062zm-27.688 42.406l39.313 54.03c-10.835-.848-22.472-2.53-34.876-5.093l-.063-.156-1.53-.186c-.314-.067-.623-.12-.938-.188-.203-.305-.394-.6-.593-.906-3.555-18.387-3.9-34.173-1.314-47.5zm-38.25 64.406c8.99-.016 18.71.588 28.938 1.688 5.57 15.795 8.692 29.98 9.594 42.625l-46.625-44.126c1.414-.063 2.832-.123 4.28-.156 1.254-.03 2.53-.03 3.813-.032zm-32.312 2.97l69.5 65.78c-2.33 11.467-7.14 21.086-14.156 28.875l-86.532-83.405c8.55-5.023 18.955-8.837 31.188-11.25zm-45.938 22.968l86.625 83.53c-7.925 4.71-17.485 8.373-28.655 10.813l-71.03-67.25-1.47 1.563c2.475-11.374 7.402-20.933 14.53-28.656zm-16.312 49.78l50.437 47.75c-12.246.736-25.866.352-40.81-1.28-6.097-17.403-9.2-32.877-9.626-46.47zm-3.78 65.126c7.247 14.534 12.34 28.058 15.436 40.438l-54.375-36.844c11.462-2.273 24.45-3.53 38.938-3.594zm-83.75 91.563l-.002 22.03 1.22.75h35.437l-36.657-22.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoctorFace;

impl IconShape for DoctorFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M109.188 16.97c-30.585 42.85-52.13 98.9-60.594 161.686-16.643 18.724-26.782 43.358-26.782 70.313 0 29.16 11.835 55.63 30.97 74.81 13.634 69.297 43.534 128.57 83.874 168.376H371.22c39.903-39.248 69.744-97.442 83.75-165.5 20.893-19.37 34-47.025 34-77.687 0-28.417-11.253-54.263-29.533-73.314C450.7 114.08 429.317 59.14 399.22 16.97h-21.69c28.847 36.455 50.745 85.78 61.533 142.124C422.788 148.904 403.57 143 383 143c-46.32 0-85.788 29.902-100.156 71.406H227.97C213.59 172.902 174.102 143 127.78 143c-21.72 0-41.92 6.582-58.75 17.844 10.667-57.073 32.7-107.042 61.845-143.875h-21.688zm18.624 145.624c47.585 0 86.344 38.76 86.344 86.344 0 47.584-38.76 86.375-86.344 86.375-47.584 0-86.374-38.79-86.374-86.375s38.79-86.344 86.374-86.344zm255.157 0c47.584 0 86.374 38.76 86.374 86.344 0 47.584-38.79 86.375-86.375 86.375-47.586 0-86.345-38.79-86.345-86.375s38.76-86.344 86.344-86.344zm-255.158 18.72c-37.484 0-67.687 30.14-67.687 67.624 0 37.484 30.203 67.687 67.688 67.687 37.484 0 67.656-30.203 67.656-67.688 0-37.484-30.173-67.625-67.657-67.625zm255.375.342c-37.484 0-67.656 30.172-67.656 67.656 0 37.485 30.173 67.688 67.658 67.688 37.484 0 67.687-30.203 67.687-67.688 0-37.484-30.203-67.656-67.688-67.656zm-150.593 51.438h45.625c-.782 5.177-1.19 10.484-1.19 15.875 0 4.8.317 9.522.94 14.155h-45.126c.622-4.633.937-9.356.937-14.156 0-5.392-.405-10.7-1.186-15.876zm-4.03 48.72l53.686-.002c13.86 42.397 53.79 73.125 100.75 73.125 18.256 0 35.455-4.644 50.47-12.812-4.286 16.46-9.537 32.2-15.658 47.03-102.478-39.222-215.515-47.744-327.062.845-6.435-15.576-11.932-32.152-16.344-49.53 15.688 9.188 33.924 14.467 53.375 14.467 46.96 0 86.913-30.728 100.782-73.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dodging;

impl IconShape for Dodging {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M396.082 17.326c-.166-.025-1.922.108-4.977.108-21.975 0-42.158 18.904-49.437 46.595l75.713 12.61-78.526 13.085c.564 16.248 5.55 30.99 13.062 42.367l54.39 9.603-41.277 7.29.484.607-15.91 2.47c-15.262 2.366-25.866 9.63-34.46 21.165-2.534 3.4-4.848 7.198-6.962 11.328l90.798 13.2-100.976 14.684c-.576 2.25-1.118 4.542-1.627 6.874-1.662 7.613-2.953 15.622-3.982 23.854l115.275 14.107-117.81 14.418c-.525 9.083-.84 18.236-1.022 27.31l114.07 16.407-113.304 16.3h40.826l2.144 32.532 82.026 11.38-80.54 11.173 2.512 38.14 75.582 10.897-74.158 10.69 2.938 44.59h96.306l11.875-159.403h43.983c-.228-36.033-1.914-77.32-10.137-111.194-4.462-18.384-10.84-34.42-19.314-46.063-8.472-11.642-18.583-18.958-32.248-21.53l-15.59-2.933 10.124-12.213c10.435-12.587 17.49-30.688 17.49-51.127 0-37.056-22.084-66.04-47.127-69.295l-.106-.013-.108-.016zm-53.535 5.055L16.785 45.968l304.93 22.082c3.073-17.672 10.43-33.57 20.832-45.67zm-22.402 62.114L16.783 106.46l312.28 22.612c-5.686-12.618-8.96-27.047-8.96-42.422 0-.722.027-1.437.042-2.156zm-2.612 60.688L16.783 166.96l269.96 19.546c3.583-8.906 7.975-17.144 13.415-24.445 4.868-6.532 10.676-12.254 17.375-16.878zm-37.79 63.228l-262.96 19.04L273.19 246.02c1.18-10.497 2.77-20.808 4.927-30.69.51-2.33 1.05-4.635 1.625-6.918zm-8.327 57.803L16.783 284.65l253.225 18.336c.18-12.057.585-24.438 1.408-36.773zm-1.562 60.605l-253.07 18.325 297.22 21.52-1.072-16.267H269.86v-9.343c0-4.62-.01-9.38-.006-14.235zm45.294 57.22L16.783 405.64l301.227 21.81-2.862-43.413zm3.97 60.202L16.782 466.13l305.233 22.102-2.9-43.992z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DominoMask;

impl IconShape for DominoMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.28 123.063C366.787 123.317 306.08 143 255.845 143c-56.868 0-124.174-23.704-171-19.156-23.414 2.274-40.642 10.16-52.28 30.937-11.64 20.78-17.23 56.337-10.97 113.19 8.578 77.917 73.225 118.973 128.656 99.405 11.513-4.064 30.972-25.256 49-46.125 9.014-10.434 17.993-20.687 27.03-28.72 9.04-8.03 18.23-14.624 29.564-14.624 11.335 0 20.493 6.594 29.53 14.625 9.04 8.033 18.018 18.286 27.032 28.72 18.028 20.87 37.487 42.06 49 46.125 55.45 19.574 118.93-21.672 128.688-99.563 7.137-56.986 1.753-92.528-9.938-113.28-11.69-20.754-29.346-28.665-53.22-30.907-2.983-.28-6.05-.46-9.186-.53-1.47-.035-2.97-.04-4.47-.032zM135.064 181.72c22.378-.2 44.746 10.556 67.125 30.78-43.4 54.67-108.488 37.044-130.188 0 21.022-20.738 42.04-30.594 63.063-30.78zm234.625 0c.7-.016 1.394-.007 2.093 0 21.023.186 42.073 10.042 63.095 30.78-21.7 37.044-86.82 54.67-130.22 0 21.68-19.592 43.354-30.312 65.033-30.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Doorway;

impl IconShape for Doorway {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.7 22.36l22.4 77.23c8.9-1.66 18.1-2.49 27.6-2.49 8.5 0 16.8.68 24.9 2.02l22.2-76.76zm103.1 46.26l-10 34.78c15.2 4.8 29.1 12.3 40.8 22.7l25.5-23.8c-16-14.79-35.1-26.35-56.3-33.68zm-108.9.86c-21 7.67-39.9 19.61-55.6 34.72l25.5 23.8c.1-.1.2-.3.4-.4 11.4-10.6 24.9-18.3 39.8-23.4zM97.56 83.35L59.71 139l86.09 30.1c3.7-10 8.6-19.1 14.5-27.1zm318.24 0l-60.3 56.35c6.4 8.2 11.7 17.6 15.7 28.1l82.4-28.8zM268 116v317.5h93.4V218.6c0-35.3-11.5-60.4-29.8-77.3-16.2-15-38.3-23.6-63.6-25.3zm-18.6 0c-25.2 1.7-47.3 10.3-63.6 25.3-18.2 16.8-29.7 42-29.7 77.3v214.9h93.3zm163 57.3l-35.8 12.5c2.2 10.2 3.4 21.1 3.4 32.8v9.3h38.9v-9.3c0-15.8-2.3-31-6.5-45.3zM105 174.7c-3.9 13.9-6.05 28.6-6.05 43.9v9.3h38.55v-9.3c0-11.2 1.1-21.7 3.1-31.4zm-39.3 71.8v56.2h71.8v-56.2zm314.3 0v56.2h66v-56.2zM98.95 321.3v37.5h38.55v-37.5zm281.05 0v37.5h38.9v-37.5zM56.16 377.4v56.1h81.34v-56.1zm323.84 0v56.1h75.8v-56.1zm-233.3 74.7l-39.6 37.5h297.4l-33-37.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DorsalScales;

impl IconShape for DorsalScales {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M448.406 22.777c-20.444.056-40.8 2.37-61.062 6.92 42.126 26.944 79.974 62.34 108.63 105.037V26.64c-14.298-2.26-28.56-3.63-42.777-3.835-1.598-.023-3.194-.032-4.79-.028zm-70.99 22.756l2.617 71.578c42.783 44.863 69.598 99.77 90.922 160.507 9.53 1.26 16.857 2.407 25.02 3.156v-109.95c-28.014-51.818-70.248-94.353-118.56-125.29zm-32.738 92.502c-84.585.81-141.635 28.035-194.008 75.742 98.584 4.644 199.466 47.095 262.734 138.303 14.49-10.428 26.113-22.24 33.21-36.363 4.21-8.374 7.025-17.667 8.05-28.28-18.374-53.244-42.422-105.85-79.7-148.41-10.513-.72-20.632-1.09-30.28-.992h-.006zM149.734 232.44l38 60.37c59.65 17.645 106.29 54.74 154.526 96.526 19.75-8.558 38.818-17.252 55.46-27.072-59.595-85.572-154.37-125.46-247.986-129.825zm322.262 64.175c-4.492 24.492-17.018 47.316-37.23 62.95-23.885 20.18-52.798 32.95-81.205 45.35 7.264 27.594-2.786 55.252-16.52 79.337l.48.246-5.936 11.43h164.353V299.45c-7.997-.757-15.97-1.782-23.94-2.835zM189.02 312.73c-64.893 30.094-122.208 81.24-148.54 148.928-.9 7.164-10.234 21.254-11.044 29.307C78.8 465.39 134.808 449.818 192.27 449.53c42.503-.214 85.795 7.93 127.775 26.562 12.36-21.173 22.023-44.588 14.494-68.748-43.76-37.967-89.553-76.406-145.52-94.614zm3.072 155.432c-45.384.252-89.89 10.642-130.737 28.31l246.108-.224c.863-1.34 1.753-2.75 2.63-4.115-38.784-16.812-78.72-24.19-118-23.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleDiaphragm;

impl IconShape for DoubleDiaphragm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.727 19.027c-1.302.008-2.603.028-3.903.057C171.402 20.884 94.76 62.85 52.18 136.602c-64.884 112.384-26.305 256.362 86.078 321.246 112.382 64.883 256.36 26.304 321.244-86.08 64.883-112.383 26.304-256.36-86.078-321.245C336 28.917 295.07 18.783 254.727 19.027zm.03 18.608c20-.11 40.162 2.56 59.903 8.158l-89.572 59.637c9.898-2.035 20.144-3.104 30.637-3.104 2.503 0 4.99.064 7.464.184l73.718-49.08c9.224 3.74 18.3 8.163 27.168 13.283 35.108 20.27 62.376 48.856 80.778 81.818l-105.756-21.218c10.707 7.06 20.477 15.43 29.066 24.89l87.03 17.46c18.944 44.744 22.685 95.438 8.956 143.61l-59.644-89.58c2.015 9.852 3.074 20.05 3.074 30.49 0 2.536-.064 5.056-.187 7.562l49.09 73.735c-3.72 9.142-8.094 18.146-13.17 26.94-20.32 35.193-48.993 62.51-82.055 80.914L382.432 337.8c-7.06 10.664-15.42 20.39-24.868 28.944l-17.43 86.89c-44.718 18.87-95.357 22.57-143.476 8.835l89.303-59.458c-9.773 1.98-19.884 3.025-30.235 3.025-2.594 0-5.173-.066-7.735-.195l-73.527 48.955c-9.115-3.714-18.09-8.077-26.858-13.14-35.15-20.292-62.443-48.922-80.845-81.934l105.28 21.12c-10.652-7.058-20.367-15.417-28.91-24.86l-86.69-17.39c-18.876-44.658-22.617-95.233-8.963-143.31l59.445 89.283c-2-9.82-3.053-19.98-3.053-30.384 0-2.56.065-5.106.19-7.635l-48.93-73.49c3.735-9.202 8.13-18.26 13.24-27.108 20.246-35.07 48.785-62.328 81.7-80.73l-21.172 105.524c7.06-10.696 15.427-20.455 24.885-29.035l17.42-86.835c25.263-10.713 52.425-16.582 79.963-17.19 1.196-.028 2.394-.044 3.592-.05zm.968 83.385c-15.46 0-30.293 2.63-44.086 7.455l57.245 30.795c-4.81-.74-9.733-1.125-14.748-1.125-7.588 0-14.97.884-22.05 2.544l-41.86-22.518c-23.703 13.388-42.87 33.826-54.672 58.492l58.754-17.652c-9.195 7.31-17.02 16.267-23.03 26.425l-43.93 13.2c-3.116 11.312-4.787 23.23-4.787 35.545 0 14.985 2.464 29.385 7.01 42.818l29.02-53.945c-.435 3.705-.663 7.472-.663 11.295 0 8.23 1.035 16.216 2.978 23.84l-21.765 40.462c12.728 23.007 32.062 41.826 55.466 53.91l-18.68-62.175c7.303 10.174 16.54 18.863 27.177 25.53l13.723 45.67c12.3 3.74 25.357 5.757 38.895 5.757 13.444 0 26.414-1.99 38.64-5.68l-62.78-33.77c7.234 1.737 14.784 2.665 22.552 2.665 6.336 0 12.525-.622 18.52-1.79l44.206 23.78c23.888-12.34 43.538-31.693 56.244-55.357l-74.045 22.246c13.433-7.107 24.98-17.297 33.698-29.633l49.82-14.97c4.09-12.812 6.307-26.47 6.307-40.655 0-13.935-2.133-27.362-6.086-39.977l-36.527 67.902c2.645-8.79 4.07-18.106 4.07-27.757 0-5.66-.492-11.2-1.43-16.59l24.624-45.774c-12.995-24.61-33.47-44.628-58.422-57.054l20.512 68.267c-7.254-11.532-16.886-21.413-28.21-28.96l-14.403-47.94c-11.83-3.434-24.34-5.28-37.29-5.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleDragon;

impl IconShape for DoubleDragon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.03 21.875c-1.406-.007-2.842.01-4.28.03-19.1.284-40.94 3.138-66.97 9.72 57.367 4.75 94.558 22.836 116.283 46.406-24.045-5.13-49.508-7.01-75.438-5.81-65.45 3.02-133.1 25.878-186.28 66.56v352.814h69.25c24.58-124.19 150.084-151.697 204.593-123.313-6.39 7.464-14.14 14.026-22.875 19.564l117.593 103.47c11.426-9.222 22.02-19.048 31.97-29.345 3.555-6.757 5.15-14.46 5.437-23.157-6.92 9.63-16.32 16.047-29.844 21.812-23.843-10.546-35.178-38.2-25.314-62.53 7.544-18.608 25.33-29.97 44.22-30.25 6.295-.095 12.734 1.048 18.937 3.56 7.767 3.15 14.286 8.074 19.25 14.126-1.87 17.62-5.607 29.942-14.094 40.314 8.26-2.506 15.254-5.98 20.843-11.094 11.06-15.077 21.41-30.684 31.375-46.562-140.284-55.405-112.67-123.29-262.97-165.844 40.218 27.884 63.98 55.072 75.532 80.062-81.775-31.722-164.477-34.046-229.03 8.813 42.262-102.17 173.387-141.1 226.093-117.72-1.64 4.707-3.617 9.282-5.907 13.656L450.97 217.97c5.305-13.755 9.585-27.614 13.06-41.564-.354-7.532-2.824-14.89-6.874-22.468-1.17 11.726-6.002 21.958-14.718 33.625-26.015 2.93-49.773-15.384-53.407-41.47-3.693-26.515 14.8-50.992 41.314-54.687 2.486-.28 4.94-.468 7.375-.468 5.688.075 11.183 1.165 16.31 3.093 7.24 16.273 10.207 28.856 8.033 42.126 5.872-6.27 10.144-12.753 12.437-19.937 2.063-18.68 3.243-37.46 3.938-56.282-121.62 18.065-150.75-37.62-239.407-38.063zm89.75 48.375v.063c7.988-.298 15.062 5.507 16.19 13.593 1.2 8.625-4.813 16.585-13.44 17.782-8.624 1.2-16.61-4.813-17.81-13.438-1.203-8.625 4.842-16.616 13.468-17.812.54-.187 1.06-.17 1.593-.188zm22.533 230.22c2.048-.04 4.138.333 6.156 1.155 8.07 3.272 11.958 12.462 8.686 20.53-3.272 8.073-12.49 11.96-20.562 8.69-8.07-3.274-11.96-12.463-8.688-20.532 2.454-6.054 8.262-9.844 14.407-9.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleFaceMask;

impl IconShape for DoubleFaceMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M276.44 20.63v473.227c43.08-1.258 82.452-26.44 111.833-68.043 30.15-42.69 49.18-102.418 49.18-168.57 0-66.152-19.027-125.88-49.178-168.57C358.895 47.072 319.52 21.89 276.44 20.63zM156.07 227.194c-10.05.02-20.717.973-31.93 2.67-.857 98.74 54.765 57.68 122.387 65.075-14.887-50.39-46.9-67.83-90.457-67.745zm231.46 0c10.05.02 20.717.973 31.93 2.67.855 98.74-54.767 57.68-122.39 65.075 14.887-50.39 46.903-67.83 90.46-67.745z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleQuaver;

impl IconShape for DoubleQuaver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M451.125 25.625l-12.156 3.813-262.064 82.624-6.53 2.063V397.06c-1.257-.497-2.526-.96-3.845-1.375-6.973-2.185-14.84-3.302-23.374-3.343-8.533-.042-17.724 1.01-27.312 3.125-19.176 4.228-36.465 12.1-49.5 21.936-13.035 9.836-22.75 21.828-22.75 36.125 0 7.15 3.008 13.937 7.718 18.845 4.71 4.908 10.87 8.22 17.844 10.406 13.95 4.373 31.543 4.45 50.72.22 19.175-4.23 36.464-12.102 49.5-21.938 13.034-9.835 22.718-21.858 22.718-36.156 0-4.324-1.12-8.504-3.03-12.22V225.22l243.374-76.69v142.407c-1.265-.5-2.547-.958-3.875-1.375-6.975-2.185-14.842-3.302-23.375-3.343-8.534-.043-17.725.978-27.313 3.092-19.176 4.23-36.465 12.103-49.5 21.938-13.035 9.835-22.72 21.86-22.72 36.156 0 7.15 2.978 13.936 7.69 18.844 4.71 4.908 10.868 8.19 17.842 10.375 13.95 4.372 31.543 4.48 50.72.25 19.175-4.23 36.464-12.102 49.5-21.938 13.034-9.835 22.718-21.858 22.718-36.156 0-4.302-1.105-8.476-3-12.186V25.624zm-18.688 25.5v29.188L189.063 157v-29.188l243.375-76.687zm0 48.78v29l-243.375 76.72v-29l243.375-76.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleRingedOrb;

impl IconShape for DoubleRingedOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.777 93.275c-58.482 0-105.695 47.21-105.695 105.696 0 58.487 47.213 105.698 105.695 105.698 58.482 0 105.696-47.21 105.696-105.697 0-58.48-47.214-105.695-105.696-105.695zm-140.714 63.59C-40.9 155.67-21.26 276.118 227.043 357.748c225.954 74.28 319.04 10.624 239.48-69.973-.413-.55-.84-1.097-1.277-1.64-4.755 3.954-9.71 7.915-14.95 11.88 4.487 5.513 7.138 11.084 7.704 16.01.713 6.2-.9 11.8-6.986 17.977-5.84 5.927-16.25 11.98-32.307 16.49-24.074 5.698-58.427 5.6-102.287-2.656l.105-.04c-2.153-.38-4.3-.787-6.445-1.198-21.875-4.418-46.004-10.805-72.318-19.455-69.962-23-118.054-49.706-146.063-74.936.246-.19.48-.38.728-.568-.27.166-.532.333-.8.5-53.315-48.08-33.682-90.78 46.558-92.2-8.46-.665-16.502-1.016-24.124-1.075zm281.425 0c-7.62.06-15.663.41-24.123 1.076 80.24 1.42 99.86 44.115 46.537 92.193-.264-.165-.513-.33-.78-.494.244.184.472.368.712.553-26.017 23.434-69.357 48.144-131.455 69.973 21.19 5.413 42.82 9.363 64.815 11.64 34.83-15.125 63.025-30.916 84.91-46.554.01.007.02.014.032.02.522-.386 1.03-.773 1.547-1.16 90.502-65.565 69.686-128.11-42.196-127.247zM44.54 286.27c-74.364 73.55-5.467 133.668 176.683 89.125-22.844-7.563-44.89-15.83-65.84-24.194-25.396 2.316-46.41 1.29-62.842-2.346-16.802-4.544-27.613-10.765-33.61-16.852-6.086-6.176-7.697-11.776-6.985-17.977.56-4.88 3.17-10.395 7.582-15.86-5.253-3.968-10.22-7.935-14.986-11.894z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DoubleShot;

impl IconShape for DoubleShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M414.834 18.08c-29.377.15-59.012 16.6-73.164 58.87-18.758 56.028 67.407 137.784 33.57 221.206l48.215 41.87c35.646-92.954-52.048-200.4-34.2-251.44 12.36-35.35 35.672-38.21 56.05-26.44 19.942 11.51 30.406 30.664 17.974 54.99 33.043-12.62 37.255-51.444 9.52-77.197-3.96-3.68-9.02-7.016-14.277-10.05-12.984-7.496-28.3-11.89-43.69-11.81zm-80.77 32.01L65.937 62.16l-12.52 268.254c6.35-3.422 12.764-6.356 19.128-8.965L83.81 80.063l240.33-10.82c2.91-6.817 6.27-13.176 9.924-19.154zM104.686 87.955l324.392 330.04c-4.34 4.466-8.884 8.73-13.62 12.8L91.132 100.825l-.268.267L389.03 450.41c-14.866 9.56-31 17.84-48.122 25.12l116.04 19.41-7.018-44.188 44.187 7.02L474.71 341.73c-5.74 17.768-13.425 33.603-22.753 47.803L104.687 87.955zm-6.608 248.54c-.862-.012-1.718-.007-2.57.015-5.58.14-10.955.986-16.106 2.71-64.408 21.564-68.868 79.083-47.06 116.854 24.26 42.03 72.824 42.517 87.244 4.76-24.33 12.43-43.474 1.958-54.99-17.98-11.763-20.378-8.91-43.69 26.435-56.045 50.177-17.548 154.964 66.773 248.366 34.237l-40.757-47.75c-73.316 27.468-146.275-36.113-200.562-36.803z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dove;

impl IconShape for Dove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M38.643 17.275L32.215 59.47c20.354 23.085 48.127 40.682 79.195 56-29.677-4.055-58.635-12.142-84.64-24.868-.292 8.613-.584 26.252.896 35.58 23.024 8.994 48.88 14.026 75.95 16.728-23.698 5.377-47.716 7.58-71.425 6.95 2.665 9.36 7.325 22.24 11.26 31.675 22.547-1.977 45.912-7.504 69.36-15.47-18.785 14.27-39.05 26.146-60.185 35.322l28.877 30.056 17.144-9.898-5.978 22.312c6.788 6.61 20.498 15.434 27.56 20.623l13.268-11.662-.338 20.2c19.91 13.99 41.056 12.083 61.15 1.718-.804 6.438-1.308 13.29-1.482 20.56C132.47 314.7 66.666 320.958 70.59 348.222l34.553 6.947-34.108 18.04c1.503 7.398 3.84 15.003 7.73 22.677L120.1 379.56 92.17 416.226c4.726 6.13 14.61 14.823 20.537 20.515l39.47-46.24-17.962 63.475c6.238 4.326 19.387 9.33 26.273 12.87l43.313-71.076-14.138 80.248c17.225 3.487 20.708 4.81 39.82 3.19l18.186-75.66 20.297 71.852c7.333-2.51 23.21-9.526 29.976-12.664l-11.794-59.3 35.372 45.14c7.232-5.076 18.943-11.587 24.316-17.328l-17.994-37.326 31.973 18.19c25.568-17.19-44.333-57.458-86.944-100.22 6.416-8.725 11.636-17.086 15.786-25.042 19.45 27.668 44.75 39.74 75.84 29.93l-1.176-21.815 16.002 14.943c7.52-4.34 15.072-10.137 22.48-16.166l-6.99-19.133 18.694 8.745c12.732-6.638 22.917-17.1 33.08-27.59-16.19-12.562-32.92-27.903-47.49-40.242 17.74 9.162 38.718 17.52 56.892 23.95 4.27-7.49 12.045-21.063 15.463-28.7-19.626-4.04-39.435-11.263-58.413-20.58 23.383 2.56 45.728 3.05 66.367-1.138 2.805-8.642 9.82-22.678 11.123-30.996-23.616 6.897-49.242 8.78-74.923 7.03 28.832-9.016 55.294-21.066 75.56-39.81L485.69 93c-84.44 76.087-173.95 30.858-210.133 83.916-5.043-1.298-10.115-1.43-14.932-.56-14.7-80.695-139.033-53.424-221.982-159.083zM293 226.155l-9.643 45.806-23.623-44.347c10.196 4.382 20.545 8.023 33.266-1.457z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dozen;

impl IconShape for Dozen {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M64.865 21.293c-11.48 0-20.785 10.696-20.785 23.887 0 8.72 4.068 16.345 10.14 20.515H15.308v18.688h40.228v23.365l-24.56 49.422 16.736 8.318 17.17-34.547 17.167 34.548 16.736-8.318-24.56-49.422V84.383h40.228V65.695H75.51c6.072-4.17 10.14-11.796 10.14-20.515 0-13.193-9.305-23.887-20.785-23.887zm126.895 0c-11.48 0-20.785 10.696-20.785 23.887 0 8.72 4.068 16.345 10.14 20.515H142.2v18.688h40.23v23.365l-24.56 49.422 16.735 8.318 17.168-34.547 17.168 34.548 16.738-8.318-24.56-49.422V84.383h40.228V65.695h-38.942c6.073-4.17 10.14-11.796 10.14-20.515 0-13.193-9.305-23.887-20.784-23.887zm123.244 0c-11.48 0-20.785 10.696-20.785 23.887 0 8.72 4.067 16.345 10.14 20.515h-38.913v18.688h40.227v23.365l-24.56 49.422 16.736 8.318 17.17-34.55 17.168 34.55 16.734-8.318-24.56-49.418v-23.37h40.228V65.696h-38.94c6.073-4.17 10.14-11.796 10.14-20.515 0-13.193-9.307-23.887-20.786-23.887zm122.164 0c-11.48 0-20.785 10.696-20.785 23.887 0 8.72 4.068 16.345 10.14 20.515H387.61v18.688h40.228v23.365l-24.56 49.422 16.736 8.318 17.168-34.547 17.168 34.548 16.736-8.318-24.56-49.418v-23.37h40.228V65.696h-38.94c6.073-4.17 10.14-11.796 10.14-20.515 0-13.193-9.307-23.887-20.786-23.887zM64.865 187.153c-11.48 0-20.785 10.697-20.785 23.888 0 8.72 4.067 16.344 10.14 20.515H15.306v18.69h40.228v23.364l-24.56 49.42 16.736 8.318L64.88 296.8l17.167 34.548 16.736-8.317-24.56-49.42v-23.366h40.228v-18.69H75.513c6.07-4.17 10.138-11.794 10.138-20.513 0-13.192-9.305-23.886-20.785-23.886zm126.895 0c-11.48 0-20.785 10.697-20.785 23.888 0 8.72 4.067 16.344 10.138 20.515H142.2v18.69h40.23v23.364l-24.56 49.42 16.735 8.318 17.168-34.547 17.168 34.548 16.738-8.317-24.56-49.42v-23.366h40.228v-18.69h-38.94c6.072-4.17 10.14-11.794 10.14-20.513 0-13.192-9.307-23.886-20.786-23.886zm123.244 0c-11.48 0-20.785 10.697-20.785 23.888 0 8.72 4.066 16.344 10.137 20.515h-38.91v18.69h40.227v23.364l-24.56 49.42 16.736 8.318 17.17-34.547 17.168 34.548 16.734-8.317-24.56-49.417v-23.37h40.228v-18.688h-38.938c6.072-4.17 10.14-11.795 10.14-20.514 0-13.192-9.31-23.886-20.788-23.886zm122.164 0c-11.48 0-20.785 10.697-20.785 23.888 0 8.72 4.067 16.344 10.138 20.515h-38.91v18.69h40.228v23.364l-24.56 49.42 16.736 8.318 17.168-34.547 17.168 34.548 16.736-8.317-24.56-49.417v-23.37h40.228v-18.688h-38.938c6.072-4.17 10.14-11.795 10.14-20.514 0-13.192-9.31-23.886-20.788-23.886zM64.865 352.43c-11.48 0-20.785 10.695-20.785 23.886 0 8.72 4.067 16.345 10.14 20.516H15.306v18.69h40.228v23.365l-24.56 49.422 16.736 8.315 17.17-34.547 17.167 34.547 16.736-8.316-24.56-49.423V415.52h40.228v-18.688H75.513c6.07-4.17 10.138-11.797 10.138-20.516 0-13.192-9.305-23.886-20.785-23.886zm126.895 0c-11.48 0-20.785 10.695-20.785 23.886 0 8.72 4.067 16.345 10.138 20.516H142.2v18.69h40.23v23.365l-24.56 49.422 16.735 8.315 17.168-34.547 17.168 34.547 16.738-8.316-24.56-49.423V415.52h40.228v-18.688h-38.94c6.072-4.17 10.14-11.797 10.14-20.516 0-13.192-9.307-23.886-20.786-23.886zm123.244 0c-11.48 0-20.785 10.695-20.785 23.886 0 8.72 4.066 16.345 10.137 20.516h-38.91v18.69h40.227v23.365l-24.56 49.422 16.736 8.315 17.17-34.547 17.168 34.547 16.734-8.316-24.56-49.42v-23.37h40.228v-18.688h-38.938c6.072-4.17 10.14-11.797 10.14-20.516 0-13.192-9.31-23.886-20.788-23.886zm122.164 0c-11.48 0-20.785 10.695-20.785 23.886 0 8.72 4.067 16.345 10.138 20.516h-38.91v18.69h40.228v23.365l-24.56 49.422 16.736 8.315 17.168-34.547 17.168 34.547 16.736-8.316-24.56-49.42v-23.37h40.228v-18.688h-38.938c6.072-4.17 10.14-11.797 10.14-20.516 0-13.192-9.31-23.886-20.788-23.886z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DragonBalls;

impl IconShape for DragonBalls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M324.582 17.393c-93.624 0-169.723 76.094-169.723 169.72 0 93.627 76.098 169.725 169.722 169.725 93.624 0 169.725-76.098 169.725-169.725 0-93.624-76.1-169.72-169.725-169.72zm0 18.69c83.523 0 151.033 67.507 151.033 151.03 0 83.525-67.51 151.033-151.033 151.033-83.523 0-151.03-67.508-151.03-151.033 0-83.525 67.507-151.03 151.03-151.03zM356.54 62.01c-4.802-.08-9.63.392-14.448 1.474-34.385 7.73-39.338 45.97.678 50.385 30.042 3.316 51.002 53.078 45.642 90.703-6.692 46.976 45.08 44.456 59.164-2.53 18.33-61.148-34.38-139.084-91.037-140.032zm-33.093 65.316l-15.857 42.883-31-5.303 22.71 27.352-21.933 26.414 29.07-4.97 17.01 46.005 17.008-45.992 29.375 5.023-21.988-26.48 22.765-27.418-31.306 5.353-15.853-42.866zm-297.633 67.56c-1.02.027-2.096.09-3.23.206h-.002v.002c-1.107.114-2.162.268-3.193.437v19.075c1.79-.417 3.474-.755 5.108-.923 1.993-.206 4.99.048 8.97.048 48.645 0 88.188 39.026 88.188 87.602S82.11 388.936 33.47 388.936c-4.908 0-9.516-.402-14.08-1.172v18.896c4.576.628 9.247.965 14.08.965 58.69 0 106.874-47.533 106.874-106.293 0-58.76-48.184-106.29-106.875-106.29-1.366 0-2.954-.105-4.767-.15-.906-.024-1.87-.034-2.89-.007zM49.8 238.282c-3.21-.066-6.43.286-9.618 1.11-18.975 4.897-24.602 31.424-2.22 32.938v-.004c17.73 1.2 23.966 21.076 22.374 41.6-1.972 25.428 34.927 23.09 41.713-2.442 8.68-32.663-21.24-72.554-52.25-73.2zm146.815 115.413c-37.322 0-67.78 30.457-67.78 67.78s30.458 67.78 67.78 67.78 67.78-30.457 67.78-67.78-30.458-67.78-67.78-67.78zm0 18.69c27.222 0 49.09 21.868 49.09 49.09 0 27.222-21.868 49.09-49.09 49.09-27.222 0-49.09-21.868-49.09-49.09 0-27.223 21.868-49.09 49.09-49.09zm3.627 17.55c-1.13 0-2.265.104-3.402.323-10.146 1.957-13.307 13.24-2.44 17.844 6.05 2.562 13.452 9.213 10.127 23.478-3.156 13.546 17.432 13.867 21.98.225 6.02-18.053-9.33-41.855-26.265-41.87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DragonBreath;

impl IconShape for DragonBreath {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M15.327 12.997v61.32c76.696 54.194 157.847 147.575 64.827 125.566 57.116 55.067 104.12 26.786 174.037 135.492 30.42 47.297 7.473 80.54-29.785 90.524-47.88 12.828-114.353-30.45-57.82-54.314-59.296-1.45-66.954 47.977-38.727 80.237-27.93-9.635-46.01-34.308-43.034-60.605-36.043 48.278-5.362 93.284 54.313 102.43h357.42v-344.57c-15.752-70.31-94.876-87.764-103.372-3.504 14.61-36.423 50.96-20.625 84.1 18.688-11.28-7.498-24.24-11.49-36.21-11.097-19.73.65-37.36 12.086-41.466 36.794 55.902-46.113 84.628 34.717 61.74 76.876-24.744 45.582-94.89-20.467-95.03-75.71-27.974 31.235-7.813 108.298 52.37 122.548C304.635 301.29 342.743 182.92 295.655 157.84 324.383 285.473 121.728 62.26 66.137 13h-50.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DragonHead;

impl IconShape for DragonHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.947 18.686c-6.98.087-14.64.774-22.85 1.9 27.57 20.468 51.098 45.25 67.594 70.527 1.66 0 3.312.012 4.958.047 18.066.39 35.487 2.906 53.217 7.2-15.695-28.457-29.935-50.19-47.45-63.22-13.817-10.278-30.063-16.168-52.52-16.454-.967-.013-1.95-.013-2.948 0zm-91.66 22.96c-.73-.002-1.46.006-2.195.022-14.045.31-29.36 3.92-46.86 11.13 56.18 18.807 106.985 50.468 133.907 83.585 18.377-5.13 29.44-14.72 36.454-28.817C195.84 78.18 168.118 56.19 140.65 46.96c-10.168-3.418-20.433-5.306-31.363-5.315zm-.203 52.786c-39.42 6.758-74.73 31.854-87.822 74.19v322.345h212.73C100.352 442.58 61.19 206.49 187.115 230.104c5.838-14.164 9.92-28.027 11.018-41.465l18.627 1.522c-1.684 20.592-8.828 40.49-18.033 59.943-.732 2.035-1.472 4.12-2.186 6.063 32.842 85.24 113.77 160.69 169.495 168.197.915.033 1.905-.002 2.953-.09 17.016 1.035 35.86-4.222 52.21-22.304l7.984-8.83-10.473-5.658c-6.507-3.515-14.29-7.094-18.167-10.925-1.938-1.916-2.793-3.47-3.074-5.194-.282-1.725-.13-4.227 2.23-8.578l10.673-19.656-21.484 6.222c-6.304 1.825-17.305-3.032-23.224-10.71-2.96-3.84-4.408-7.907-4.387-10.843.02-2.938.72-5.125 4.747-8.05l19.453-14.125-23.884-2.72c-9.974-1.137-16.37-6.658-19.17-12.294-2.802-5.634-2.312-10.084 1.375-13.31l12.204-10.677-15.358-5.205c-6.717-2.276-10.296-7.555-10.357-10.633-.028-1.373.238-2.666 1.843-4.476 10.93-2.39 21.258-.45 28.088 6.374 6.154 6.146 8.35 15.128 6.977 24.832 8.55-2.254 16.985-1.616 24.112 2.494 9.34 5.387 14.647 15.692 15.67 27.965 15.212-10.132 32.152-12.725 45.262-5.164 15.467 8.92 21.36 29.513 16.805 51.75 23.992-33.355 34.588-75.717 5.617-120.43-46.726-4.442-81.693-30.676-93.293-67.64-5.026-16.016-21.284-28.67-42-37.904l-.08.217c-29.74-10.823-55.575-17.35-82.604-18.733l.08.155c-2.294-.093-4.56-.16-6.762-.172-9.537 22.874-28.662 39.9-57.436 46.054l-5.906 1.262-3.576-4.864c-14.216-19.33-41.23-40.452-74.002-58.074zm156.215 65.26c27.927-.073 44.874 11.617 42.09 44.45-35.844 3.39-51.933-16.683-63.074-42.632 7.507-1.155 14.538-1.8 20.983-1.817zm48.407 66.363c3.708.07 7.14.994 10.014 2.812-1.51 1.102-2.898 2.28-4.16 3.543-5.246 5.24-8.087 12.122-7.956 18.742.183 9.322 5.27 17.184 12.68 22.56-3.14 8.103-2.452 17.455 1.407 25.22 3.813 7.668 10.54 14.273 19.302 18.398-1.445 3.366-2.375 6.862-2.4 10.33-.062 8.407 3.38 16.042 8.273 22.39 6.792 8.81 16.862 15.936 28.026 17.91-.183 2.18-.204 4.333.133 6.407 1.05 6.444 4.515 11.66 8.38 15.48 3.41 3.37 7.19 5.892 10.798 7.993-6.345 4.792-12.414 7.056-18.618 7.79-6.515-7.937-9.71-19.084-9.41-31.454-11.767 6.177-24.21 7.156-34.12 1.44-14.668-8.46-19.393-29.036-13.187-50.33-11.336 2.77-22.13.92-29.187-6.132-8.875-8.865-9.535-23.626-3.094-37.95-3.676-.615-6.963-2.166-9.525-4.725-8.808-8.798-5.773-26.09 6.776-38.626 7.843-7.835 17.546-11.957 25.87-11.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DragonSpiral;

impl IconShape for DragonSpiral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.125 17.188C142.557 18.134 72.68 64.075 40.187 132.25c-56.91 119.42 7.05 260.175 122.313 314.406 53.513 25.185 114.67 31.57 172.563 19.78l9.625 21.845 152.75-34.03c-.64-13.024-1.892-29.087-3.407-45.97-3.353 6.146-8.283 11.545-14.655 15.5-19.667 12.21-45.51 6.137-57.72-13.53-12.208-19.667-6.165-45.51 13.5-57.72 6.762-4.196 14.274-6.21 21.69-6.28 12.278-.118 24.32 5.173 32.53 15-4.06-38.385-8.03-70.97-8.03-70.97-58.49 31.19-115.34 47.06-174.47 60.408v-.375c-46.538 12.515-126.428 1.26-156.5-30.22 18.292 40.602 81.708 65.04 149.313 65.844l8.343 18.938c-24.334 9.436-50.313 14.416-76.374 14.313l-14.22-17.97L194.72 415.5c-13.017-2.59-25.656-6.54-37.69-11.72l-9.56-23.186-23.876 4.656c-7.174-4.967-13.972-10.416-20.375-16.28l-.564-24.126-26.344-6.5c-3.69-5.284-7.09-10.758-10.187-16.406L74.97 295l-23.657-9.47c-1.876-6.79-3.32-13.74-4.313-20.81l13.875-21.564-14.125-21.844c.057-.448.095-.894.156-1.343.87-6.424 2.175-12.74 3.844-18.94l20.188-13.25-6.594-20.686c3.268-6 6.91-11.757 10.906-17.25l25.688-5.406 3.093-24.625c5.754-4.555 11.836-8.695 18.19-12.313l22.718 6.78 9.812-20.124c9.6-2.523 19.57-3.957 29.78-4.187l20.845 15.25 20.063-9.376c50.687 16.437 88.647 65.967 80.53 121.594-2.905 19.914-12.198 38.33-25.437 52.437 3.03-20.242-10.88-43.178-35.092-55-28.472-13.902-60.35-7.162-71.188 15.03-10.836 22.194 3.466 51.443 31.938 65.345 4.653 2.272 9.396 3.995 14.125 5.188 57.96 18.97 121.378-12.46 147.593-66.063 36.94-75.536-3.372-165.134-76.125-200.22-23.733-11.444-48.587-16.803-73.186-16.968-1.153-.007-2.317-.015-3.47 0zM396.47 348.375l-1.626 37.188-60.53-10.657 62.155-26.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Dragonfly;

impl IconShape for Dragonfly {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M131.613 21.576c-.667-.002-1.334.015-1.998.05-1.517.082-3.025.263-4.52.55-11.974 2.296-21.052 13.1-23.2 26.908-1.396 8.968-.708 19.472 2.136 31.824-2.445-1.106-4.86-2.102-7.227-2.967-7.13-2.6-14-4.21-20.438-4.467-6.437-.257-12.443.842-17.84 3.662-10.794 5.64-16.044 18.626-14.44 32.8 1.602 14.17 8.625 30.916 21.837 51.21C85.398 191.062 114.3 228.23 144.48 253.7c14.917 12.59 30.117 22.445 45.584 26.738-.845-6.264-.584-12.854.627-19.44-10.287-3.848-22.168-11.46-34.16-21.58-27.774-23.44-56.247-59.745-74.946-88.47-12.245-18.808-17.856-33.625-18.93-43.116-1.073-9.49.955-12.268 4.528-14.135 3.572-1.866 11.803-2.362 23.216 1.8 6.458 2.357 13.792 6.067 21.65 11.18 11.93 32.113 30.72 71.88 53.518 102.02 9.756 12.898 20.218 24.092 31.672 32.06 2.543-5.522 5.687-10.984 9.403-16.294-8.655-6.367-17.628-15.747-26.17-27.04-14.347-18.968-27.52-43.103-38.09-66.32 32.386 29.372 52.07 54.056 72.23 83.198 1.764-2.008 3.61-3.984 5.544-5.917 2.6-2.6 5.276-5.035 8.008-7.324-22.464-32.146-45.464-60.11-85.05-94.265-5.26-4.537-10.46-8.602-15.573-12.21-6.9-19.66-8.5-34.132-7.18-42.628 1.36-8.733 3.763-10.564 8.255-11.426 4.493-.86 13.276 1.01 23.797 7.91 10.52 6.9 22.59 18.372 34.285 34.187 30.384 41.094 45.308 71.17 59.217 106.19 5.643-3.123 11.385-5.618 17.12-7.444-14.292-35.772-30.187-67.765-61.31-109.857-12.76-17.26-26.134-30.224-39.062-38.704-10.605-6.955-21.034-11.202-31.05-11.236zM292.355 122.99c-5.678 0-11.355 2.166-15.687 6.498-8.665 8.665-8.665 22.715 0 31.38 4.917 4.918 11.566 7.04 17.982 6.378-4.65 11.852-2.165 25.768 7.47 35.404 9.343 9.343 22.71 11.97 34.316 7.885-.43 6.184 1.71 12.515 6.437 17.242 8.665 8.666 22.714 8.665 31.38 0 8.664-8.665 8.664-22.715 0-31.38-4.767-4.766-11.16-6.905-17.392-6.428 3.984-11.56 1.338-24.823-7.95-34.11-6.5-6.5-14.947-9.75-23.394-9.75-3.78 0-7.56.657-11.164 1.958.86-6.598-1.238-13.51-6.307-18.58-4.333-4.333-10.01-6.498-15.69-6.498zm-15.388 74.147c-.846.145-1.703.31-2.574.5-13.036 2.85-28.087 11.024-41.024 23.96-12.937 12.938-21.11 27.99-23.96 41.026-2.175 9.95-1.36 18.227 1.922 24.367-46.51 35.78-149.555 119.44-185.19 139.307-14.113 46.802-2.547 79.386 57.16 57.16 18.846-36.327 105.196-141.11 141.325-185.81 5.487 1.66 12.187 1.78 19.898.093 13.036-2.85 28.087-11.024 41.024-23.96 12.935-12.938 21.108-27.99 23.958-41.026.304-1.394.537-2.747.726-4.074-7.817-2.393-15.17-6.658-21.328-12.815-5.468-5.47-9.44-11.885-11.94-18.728zm48.976 46.455c-1.79 5.75-4.26 11.512-7.357 17.176 38.903 14.977 70.47 29.76 114.947 62.648 15.813 11.693 27.286 23.765 34.186 34.285 6.9 10.522 8.767 19.307 7.905 23.8-.862 4.493-2.693 6.895-11.426 8.254-8.733 1.36-23.76-.352-44.264-7.748-1.815-.655-3.667-1.343-5.54-2.05-2.504-3.28-5.182-6.587-8.058-9.92-36.56-42.378-66.137-65.798-101.258-89.868-1.997 2.32-4.094 4.603-6.316 6.826-2.326 2.326-4.716 4.514-7.15 6.592 29.87 20.288 54.574 39.032 83.163 69.332-19.92-9.646-39.86-21.038-56.037-33.275-14.147-10.703-25.3-22.084-31.267-32.666-5.08 3.958-10.33 7.383-15.67 10.246 7.99 13.694 20.677 25.987 35.664 37.324 28.014 21.192 64.35 38.923 95.127 50.902 7.14 9.994 12.13 19.315 15.04 27.298 4.164 11.414 3.668 19.646 1.802 23.22-1.867 3.572-4.645 5.6-14.135 4.526-9.49-1.073-24.304-6.685-43.113-18.93-28.722-18.7-65.025-47.176-88.464-74.953-11.72-13.887-20.09-27.632-23.127-38.92-.19-.702-.362-1.39-.518-2.067-.52.125-1.04.262-1.56.375-5.727 1.252-11.486 1.777-17.063 1.512.29 1.687.645 3.37 1.094 5.035 4.21 15.65 14.155 31.03 26.89 46.12 25.468 30.18 62.636 59.084 92.55 78.562 20.293 13.21 37.04 20.234 51.21 21.837 14.173 1.604 27.16-3.65 32.8-14.443 5.64-10.793 4.393-24.016-.81-38.276-1.363-3.74-3.038-7.587-5.008-11.516 14.58 3.888 26.72 4.976 36.89 3.393 13.807-2.148 24.612-11.228 26.908-23.2 2.297-11.973-2.156-24.64-10.634-37.567-8.48-12.928-21.443-26.302-38.7-39.064-45.53-33.667-79.24-49.524-118.703-64.798z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DramaMasks;

impl IconShape for DramaMasks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M418.813 30.625c-21.178 26.27-49.712 50.982-84.125 70.844-36.778 21.225-75.064 33.62-110.313 38.06 2.048 6.063 4.316 12.15 6.813 18.25 16.01.277 29.366-.434 36.406-1.5l9.47-1.53 8.436-1.28.22 10.186c-.17 6.172-.535 12.41-1.095 18.72l56.625 8.843c.86-.095 1.713-.15 2.563-.157 11.188-.114 21.44 7.29 24.468 18.593.657 2.448.922 4.903.845 7.313 5.972-2.075 11.753-4.305 17.28-6.72l9.595-4.188 2.313 10.22c3.483 15.308 6.028 31.385 7.375 48.062C438.29 247.836 468.438 225.71 493 197.5c-3.22-36.73-16.154-78.04-39.125-117.813-.735-1.272-1.47-2.526-2.22-3.78l-27.56 71.374c5.154.762 10.123 3.158 14.092 7.126 9.81 9.807 9.813 25.69 0 35.5-9.812 9.81-25.722 9.807-35.53 0-8.86-8.858-9.69-22.68-2.532-32.5l38.938-100.844c-6.45-9.18-13.215-17.83-20.25-25.937zM51.842 118.72c-8.46 17.373-15.76 36.198-21.187 56.436-14.108 52.617-13.96 103.682-2.812 143.438 13.3-2.605 26.442-3.96 39.312-4.03 1.855-.012 3.688.02 5.53.06 20.857.48 40.98 4.332 59.97 11.5-1.08-11.156-1.656-22.574-1.656-34.218 0-27.8 3.135-54.377 9-78.937l2.47-10.407 9.655 4.562c29.467 13.98 66.194 23.424 106.28 25.22 5.136-20.05 8.19-39.78 9.408-58.75-35.198 4.83-75.387 2.766-116.407-8.22-38.363-10.272-72.314-26.78-99.562-46.656zm230.594 82.218c-1.535 10.452-3.615 21.03-6.218 31.687 15.873-.193 31.286-1.594 46-3.97-1.056-1.84-1.895-3.822-2.47-5.968-1.455-5.432-1-10.925.938-15.78l-38.25-5.97zM105 201.375l4.156 18.22-21.594 4.905c8.75 5.174 13.353 15.703 10.594 26-3.32 12.394-16.045 19.758-28.437 16.438-12.394-3.32-19.76-16.075-16.44-28.47.676-2.517 1.756-4.82 3.126-6.874l-21.062 4.78-4.125-18.218 73.78-16.78zm388.594 22.813c-25.53 25.46-55.306 45.445-86.906 60.5.05 2.397.093 4.8.093 7.218 0 9.188-.354 18.232-1.03 27.125 16.635 1.33 32.045-1.7 45.344-9.374 25.925-14.962 40.608-45.694 42.5-85.47zm-338.844 3c-4.03 19.993-6.33 41.31-6.406 63.593l.125-.342c30.568 10.174 62.622 17.572 95.25 21.375l7.5.875.718 7.5 5.687 60.125-18.625 1.75-2.53-26.75c-4.547 1.875-9.726 2.34-14.845.968-12.393-3.32-19.76-16.042-16.438-28.436.285-1.06.647-2.08 1.063-3.063-19.535-3.727-38.736-8.592-57.406-14.53 2.69 49.62 16.154 94.04 36.094 126.656 22.366 36.588 52.13 57.78 83.968 57.78 31.838.003 61.602-21.19 83.97-57.78 19.536-31.96 32.846-75.244 35.905-123.656-15.773 4.657-31.894 8.552-48.25 11.656 1.914 4.57 2.415 9.78 1.033 14.938-3.322 12.394-16.045 19.758-28.438 16.437-.732-.195-1.43-.427-2.125-.686l-2.5 26.47-18.594-1.752 5.688-60.125.72-7.5 7.498-.875c29.245-3.407 57.995-9.717 85.657-18.312v-1.594c0-21.573-2.27-42.23-6.064-61.75C351.132 242.653 313.092 250 272.312 250c-43.59 0-83.986-8.658-117.562-22.813zm-87.5 105.968c-10.87.102-21.995 1.22-33.375 3.313 12.695 31.62 33.117 53.07 59 60 16.9 4.523 34.896 2.536 52.813-5.25-4.382-13.89-7.874-28.606-10.344-43.97-21.115-9.623-43.934-14.32-68.094-14.094zm137.5 80.22h130.813c-40.082 44.594-92.623 42.844-130.813 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DreadSkull;

impl IconShape for DreadSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.09 25.297c-34.308 4.9-67.18 17.336-94.668 37.256l69.03 139.824-109.487-99.363c-28.304 39.302-42.5 93.27-31.61 163.675l15.22 94.37 70.474-13.275 3.458 18.365-15.444 2.91 44.65 127.653H197.2l-7.827-62.03 18.533-2.34 8.123 64.37h29.72V431.22h18.688v65.493h29.724l8.12-64.37 18.536 2.34-7.828 62.03h25.578l44.465-127.135-18.195-3.428 3.46-18.365 70.362 13.252 18.28-94.455c10.763-69.744-3.717-123.52-32.372-162.865l-108.713 98.66L384.36 63.613c-27.52-20.056-60.386-32.763-94.653-37.982l-34.52 164.485L220.09 25.297zm-92.182 192.266c4.232.063 8.63.81 13.186 2.208-7.603 6.918-12.375 16.89-12.375 27.978 0 20.887 16.93 37.816 37.813 37.816 15.928 0 29.548-9.85 35.12-23.793l29.136 22.365-81.8 26.383-.226.062c-15.9 4.26-30.327.71-40.15-7.498-9.82-8.21-15.218-20.12-17.12-32.207-1.902-12.086-.44-24.64 5.342-35.068 5.78-10.43 17.11-18.454 31.072-18.244zm216.53 16.656c-1.612 4.2-2.502 8.76-2.502 13.528 0 20.887 16.93 37.816 37.814 37.816s37.814-16.93 37.814-37.816c0-.565-.018-1.125-.043-1.684 2.2 7.927 2.488 16.48 1.177 24.81-1.902 12.087-7.3 24-17.12 32.208-9.823 8.21-24.248 11.76-40.15 7.498l-.226-.062-81.8-26.383 65.038-49.916zm-89.21 57.173l40.026 101.834-17.07 7.064-22.957-35.558-22.957 35.56-17.66-7.065 40.617-101.834z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drill;

impl IconShape for Drill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.72 17.688c-1.236 0-2.475 0-3.72.03-1.184.03-2.37.096-3.563.157-.915.047-1.83.093-2.75.156-1.544.104-3.096.227-4.656.376-39.78 3.82-84.005 22.38-113.593 53.938-.914.975-1.807 1.97-2.687 2.97-.63.715-1.26 1.427-1.875 2.155-.353.418-.684.858-1.03 1.28-.54.653-1.07 1.307-1.595 1.97-.068.085-.15.162-.22.25-.772.98-1.536 1.967-2.28 2.968-.907 1.22-1.794 2.442-2.656 3.687-.18.26-.354.52-.532.78-.803 1.177-1.58 2.367-2.343 3.564-.067.1-.124.21-.19.31-.86 1.356-1.718 2.716-2.53 4.095-.004.008.004.024 0 .03-.78 1.325-1.547 2.657-2.28 4-.212.386-.42.77-.626 1.157-.398.744-.772 1.5-1.157 2.25-.35.685-.69 1.374-1.03 2.063-.048.097-.11.185-.157.28-.545 1.11-1.077 2.225-1.594 3.345-.58 1.26-1.143 2.51-1.687 3.78-.423.985-.82 1.98-1.22 2.97-.458 1.132-.913 2.266-1.344 3.406-.43 1.142-.846 2.29-1.25 3.438-.004.012-.027.018-.03.03-.4 1.137-.753 2.265-1.126 3.407-.38 1.165-.74 2.332-1.094 3.5-.31 1.032-.647 2.06-.937 3.095-.138.488-.244.98-.376 1.47-.43 1.59-.837 3.183-1.22 4.78-.136.572-.275 1.146-.405 1.72-.05.207-.11.415-.157.624-2.8 12.473-4.125 25.047-4.157 37.155-.03 11.863 1.123 23.42 3.532 34.094.023.103.038.207.062.31.107.47.232.94.344 1.407.19.794.388 1.593.593 2.375.35 1.33.736 2.642 1.125 3.938.023.073.04.146.063.22.38 1.254.768 2.494 1.188 3.718.384 1.12.8 2.22 1.218 3.312.1.26.182.524.282.78.38.972.78 1.93 1.188 2.876.248.575.492 1.154.75 1.72.297.65.596 1.3.906 1.936.087.18.194.354.282.532.545 1.1 1.102 2.19 1.687 3.25.615 1.114 1.246 2.183 1.906 3.25.514.828 1.055 1.64 1.595 2.437.152.225.284.467.438.69.224.322.458.65.687.968.486.675.993 1.35 1.5 2 .248.318.497.625.75.937.272.336.535.67.813 1 .2.238.42.454.624.688.44.504.89 1.012 1.344 1.5l.5.53c.486.51.97 1.013 1.47 1.5.542.53 1.095 1.028 1.656 1.532.066.06.12.128.188.188.29.257.58.498.875.75.218.186.433.38.655.562.402.332.807.65 1.22.97.466.362.926.714 1.405 1.06.193.14.4.27.594.408.468.33.927.685 1.406 1 .108.07.235.117.344.187.7.452 1.4.894 2.125 1.313l.124.093.125.063 99.53 53.06c-11.733-14.704-21.437-29.708-29.125-44.905L51.25 227.187c-6.087-12.578-9.955-29.526-9.906-48.25.02-8.307.757-16.89 2.25-25.468l63.718 44.624c-.48-5.756-.666-11.52-.593-17.28.623-49.355 21.55-97.852 60.593-142.408 3.543-.597 7.045-1.074 10.5-1.406 5.788-.556 11.42-.72 16.78-.53-45.482 45.9-68.563 95.274-69.187 144.56-.133 10.51.757 21.066 2.688 31.626l101.72 71.22c-.78-6.672-1.146-13.35-1.064-20.032.606-49.25 24.488-97.445 68.625-140.22l-34.25-64.25c-2.42-8.248-6.81-15.287-12.5-21.093-.698-.71-1.42-1.418-2.156-2.093-1.375-1.256-2.785-2.44-4.282-3.562-.125-.093-.25-.19-.375-.28-.71-.527-1.452-1.037-2.188-1.532-.106-.072-.206-.15-.313-.22-.762-.506-1.524-.994-2.312-1.468-.084-.05-.166-.106-.25-.156-.816-.487-1.66-.957-2.5-1.407-.06-.033-.126-.062-.188-.094-.87-.464-1.76-.89-2.656-1.314-.033-.016-.06-.046-.094-.062-.93-.44-1.858-.85-2.812-1.25-1.16-.486-2.337-.942-3.53-1.375-.252-.092-.5-.194-.75-.282-.072-.025-.15-.038-.22-.063-.66-.23-1.33-.472-2-.688-.104-.033-.208-.06-.313-.093-1.548-.493-3.12-.932-4.718-1.344-.586-.15-1.19-.298-1.782-.438-.22-.052-.436-.105-.657-.156-.55-.126-1.097-.257-1.655-.375-.258-.053-.523-.103-.78-.155-.527-.106-1.065-.214-1.595-.313-6.937-1.284-14.234-1.876-21.78-1.875zm174.905 95.624l36.938 157.282 87.062 181.03-11.563-92.374 14.844-124.53-27.062 54.343L436 131.03l.75 130.5-71.125-148.217zm-59.094 27.532c-38.92 39.08-58.576 81.213-59.092 123.22-.143 11.61 1.172 23.29 4 34.967l78.125 54.75c-.123-2.452-.185-4.92-.157-7.374.365-32.055 13.53-63.464 37.78-91.812l-60.655-113.75zm70.126 131.562c-18.83 23.913-28.277 49.114-28.562 74.22-.082 7.153.6 14.333 2.03 21.53l60.72 42.53c.746-16.27 5.657-32.273 14.312-47.31l-48.5-90.97zm-215.28 17.313c12.68 18.31 28.792 36.394 48.53 54.092l58.53 31.22c-9.277-12.315-16.937-24.87-22.967-37.594l-84.095-47.72zM54.655 318l46.657 54.094 71.874 14L54.657 318zm93.28 25.5l148.314 99.72-148.313-15 144.75 36.217-52.875 19.844 115-5.06 101.907 12.75L147.936 343.5zm129.408 12.03c10.717 15.65 24.408 31.098 41.22 46.22l32.623 17.375c-6.16-9.804-11.007-19.812-14.562-29.938l-59.28-33.656zm158.594 28.064c-4.23 10.11-6.4 20.418-6.5 30.72-.194 19.67 7.015 39.694 23.03 58.81l16.438 8.75 27.063 14.438-14.408-27.093-45.625-85.626zm-71.625 21.312c7.277 12.51 17.08 24.897 29.593 37l25.625 13.656c-3.39-7.683-5.788-15.514-7.217-23.406l-48-27.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrinkMe;

impl IconShape for DrinkMe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M367.844 24.188c-2.995.07-5.916.408-8.688 1.03L343.72 56.657l-6.314-4.437-10.094-7.095-4.093 11.625-16.814 47.688-1.22 3.468.033.094c-22.914 35.49-54.143 58.155-88.75 75.094-42.497 20.8-89.883 32.402-131.25 47.094-22.233 7.895-36.518 24.47-42.72 44.28-6.202 19.81-5.122 42.612.594 65.657 11.43 46.09 41.39 93.763 78.625 119.938 37.233 26.174 92.217 38.243 139.468 33.406 23.625-2.42 45.452-9.12 62-21.658 16.547-12.538 27.34-31.594 27.25-55.187-.172-43.895-5.293-92.393-.094-139.406 4.3-38.89 15.366-76.49 41.906-110.47l1.28-1.063 15.75-12.843v90.97c-13.467 4.385-23.325 17.07-23.436 31.905-.512 4.607-.25 9.738 1.03 15.5l.032.124.03.125 22.377 117.31 67.718-22.5-22.874-119.75c-2.23-11.095-7.69-17.16-14.875-20.717-3.383-1.676-7.24-2.71-11.31-3.063V137.625l4.75-3.875 9.56-7.78-10.092-7.095-5.157-3.625 24.376-25.188c0-30.925-48.225-66.712-83.562-65.874zM336.75 74.594l74.594 52.47-1.47 1.186h-.593v.5l-24.342 19.813c-30.565-4.34-48.466-18.5-59.594-41.657l11.406-32.312zm-21.688 52.062c12.428 18.638 30.934 32.057 55.438 38.188-23.95 34.7-34.592 72.706-38.75 110.312-.167 1.512-.32 3.02-.47 4.53-6.62-4.037-16.198-8.078-27.936-11.56-26.956-8-65.25-13.157-107.53-13.157-42.282 0-80.546 5.156-107.5 13.155-11.706 3.473-21.257 7.505-27.876 11.53 4.798-14.994 14.042-25.84 31.03-31.874 40-14.204 88.293-25.884 133.22-47.874 33.82-16.553 65.86-39.264 90.375-73.25zm104.594 134.22c8.455 0 15.094 6.636 15.094 15.093 0 8.453-6.64 15.124-15.094 15.124s-15.125-6.67-15.125-15.125 6.672-15.095 15.126-15.095zM57.062 301.75c.2.144.355.29.563.438 6.575 4.613 17.21 9.406 30.688 13.406 26.955 8 65.22 13.156 107.5 13.156s80.575-5.156 107.53-13.156c10.82-3.21 19.756-6.927 26.282-10.656-.258 7.08-.352 14.132-.344 21.125-6.165 2.74-13.052 5.19-20.624 7.437-29.44 8.737-69.065 13.938-112.844 13.938-43.778 0-83.402-5.2-112.843-13.938-9.018-2.676-17.087-5.64-24.095-9.03-1.346-7.904-1.953-15.534-1.813-22.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingBlade;

impl IconShape for DrippingBlade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.406 17.156V54.97c79.545 34.337 178.924 73.75 261.906 97.343-53.787-54.16-125.17-103.693-179.218-135.157H17.406zm118.813 0c59.04 36.955 129.675 89.52 179.218 146.5l19.28 22.22-28.562-7C218.233 157.345 106.5 113.523 17.406 75.28v41.47c168.198 73.64 345.253 128.555 476.344 151.5-37.757-41.128-76.177-78.16-114.25-111.5C314.105 99.484 250 53.816 192.03 17.156h-55.81zM42.843 148c17.93 33.19 29.747 103.934 20.125 139.938-2.986 11.166-19.064 40.526-19.064 53.812 0 18.01 14.468 32.664 32.47 32.22 18-.446 32.435-16.15 32.436-34.158 0-13.366-16.692-41.73-19.75-52.78-10.666-38.56 6.714-92.154 31.626-107.782-25.94-9.94-51.947-20.35-77.844-31.25zm169.312 64.375c43.138 48.155 51.117 154.67 39.375 197.5C248.288 421.71 231 453.25 231 467.438c0 19.116 14.893 33.87 34 33.718 19.107-.15 34.688-15.164 34.688-34.28 0-14.103-15.892-45.715-19.813-57.22-14.753-43.3-3.968-143.785 21.25-141.187 22.02 2.264 25.332 49.124 16.28 79.936-2.083 7.093-12.028 25.58-12.03 34.125 0 11.517 9.02 20.468 20.53 20.376 11.512-.093 20.53-9.203 20.533-20.72 0-8.494-8.95-26.975-11.313-33.905-8.155-23.937 3.22-74.906 20.906-91.967-45.956-12.332-94.36-27.076-143.874-43.938zm173 51.53c18.477 25.58 24.733 78.443 12.78 123.158-3.71 13.88-23.684 50.358-23.686 66.875 0 22.387 17.997 40.613 40.375 40.062 22.378-.55 40.344-20.05 40.344-42.438 0-16.616-20.764-51.887-24.564-65.625-13.298-48.074 7.292-89.676 35.906-103.78-25.73-5.033-52.903-11.147-81.156-18.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingGoo;

impl IconShape for DrippingGoo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.844 17.28c-54.286 0-103.57 14.478-139.875 38.5-36.305 24.025-60 58.306-60 96.94 0 24.244 9.323 46.797 25.25 66.155 20.198 41.592 34.85 102.377 20.5 144.594-3.513 10.328-19 38.088-19 50.717 0 17.12 17.632 37.563 34.75 37.563 17.116 0 34.778-20.442 34.78-37.563 0-12.706-15.123-40.142-18.03-50.718-11.415-41.524-10.246-93.93 17.593-94.97 13.083 5.394 27.145 9.777 41.937 13.03 22.872 10.78 33.56 52.68 21.844 69.564-2.73 3.936-13.75 15.01-13.75 25.906 0 11.105 9.8 23.47 24.062 23.47 13.314 0 24.063-10.57 24.063-23.47 0-12.69-12.177-21.875-14.44-25.906-8.562-18.992-6.686-51.025 18.782-52.406 29.17-1.583 42.28 83.25 25.22 107.843-4.535 6.537-23.376 27.08-23.376 46.533 0 19.87 15.403 41.283 39.875 41.28 24.95 0 39.845-23.902 39.845-41.28 0-16.962-20.308-39.84-24.063-46.532-16.427-29.282-9.22-119.687 28.875-130.717 1.352-.473 2.338-.91 3.063-1.344 4.343-1.437 8.586-2.988 12.75-4.626.018-.007.044.007.063 0 39.218-5.213 35.794 40.094 55.468 40.094 17.347 0 9.824-61.536 28.69-105.5 9.592-15.822 15-33.27 15-51.72 0-38.632-23.666-72.913-59.97-96.937-36.304-24.022-85.62-38.5-139.906-38.5zM193.5 43.626c-44.808 19.875-74.47 54.414-74.47 93.688 0 61.603 72.957 111.53 162.94 111.53 71.58 0 132.346-31.623 154.217-75.562-6.408 23.038-23.457 44.077-48.75 60.814-24.52 16.226-56.552 28.032-92.562 32.906-19.593 1.22-41.32 4.405-63.375 1.22-40.332-3.84-76.304-16.316-103.22-34.126-32.654-21.61-51.624-50.374-51.624-81.375 0-31.002 18.97-59.736 51.625-81.345 18.12-11.99 40.33-21.593 65.22-27.75zM416.125 329.03c-15.707 0-28.438 12.732-28.438 28.44 0 15.705 12.73 28.436 28.438 28.436 15.707 0 28.438-12.73 28.438-28.437 0-15.708-12.73-28.44-28.438-28.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingHoney;

impl IconShape for DrippingHoney {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M307.813 23.344l-3.782 3.78-34.5 34.47-44.78-11.782-5.188-1.374-3.812 3.812-36.594 36.53-45.53-12-5.19-1.343-3.78 3.782-38.78 38.718-3.814 3.812 1.376 5.188 13.187 49.874-35.438 35.407-3.812 3.78 1.375 5.22 13.906 52.593 1.375 5.28 1.407.376c19.81 10.976 38.706 97.624 28.094 137.31-2.606 9.753-16.655 35.4-16.655 47 0 15.728 12.652 28.515 28.375 28.126 15.723-.392 28.344-14.088 28.344-29.812 0-11.673-14.58-36.445-17.25-46.094-6.06-21.895.922-48.96 13.22-68.875l4.936 1.28 52.656 13.876 5.188 1.376 3.812-3.812 21.688-21.625c7.984 19.473 9.73 48.845 2.906 74.374-2.573 9.623-16.438 34.895-16.438 46.344 0 15.517 12.483 28.162 28 27.78 15.518-.373 27.967-13.92 27.97-29.437 0-11.518-14.397-35.946-17.032-45.467-11.366-41.077 12.977-75.36 39.438-75.5l.593.156.126-.126c.147.002.29-.005.438 0-.087-.057-.193-.1-.28-.156l3.53-3.5L332 297.844l4.125 1.125c1.173 12.203.642 23.632-2.188 31.936-2.463 7.227-11.812 26.517-11.812 35.375 0 12.01 9.4 21.408 21.406 21.595 12.01.095 21.438-9.243 21.44-21.25 0-8.914-10.39-28.197-12.564-35.594-2.596-8.834-4.21-18.916-4.72-28.967l33.97 9.125 5.188 1.375 3.812-3.782 5.47-5.436c4.175 31.496 3.13 68.988-4.563 91.562-4.09 11.998-20.688 44.982-20.688 59.688 0 19.933 16.258 35.563 36.188 35.75 19.93.157 35.468-15.253 35.468-35.188 0-14.794-18.052-47.69-21.436-60.03-5.96-21.737-6.115-69.13.406-116.938l9.625-9.532 3.875-3.844-1.438-5.25-5.312-19.5c5.808-26.393 13.877-50.716 24.344-68.25l2.875-2.875-1.376-5.218-13.906-52.595-1.375-5.28-5.282-1.376-48.967-12.907-12.22-46.313-1.406-5.28-5.25-1.376L313 24.72l-5.188-1.376zm5.625 20.812l42.218 11.125 11.125 42.157-31.186 31.126-38.875-10.25-12-45.47 28.717-28.687zm-88.25 25.094L264.03 79.5 276 124.75l-28.875 28.844-42-11.063L194 100.407l31.188-31.156zm-91.157 27l42.25 11.125 11.126 42.125-31.156 31.125L114 169.5l-11.125-42.094L134.03 96.25zm66.44 67.28l40.843 10.75 11.437 43.314-30.28 30.28-42.032-11.093-11.125-42.124 31.156-31.125zm65.25 67.814l40.967 10.78L318.375 285l-30.688 30.656-42.218-11.125-11.064-41.936 31.313-31.25zm104.905 16.28c9.275.22 16.596 13.983 21.406 33.5l-10.717 10.626-33.157-8.875c1.985-18.728 8.707-33.897 21.25-35.188.41-.042.815-.072 1.22-.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingKnife;

impl IconShape for DrippingKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M490.906 15c-15.93 27.59-38.93 49.68-66.125 65.906-1.656 22.7-13.066 44.383-30.655 63.844-24.774 27.41-61.863 51.865-104.78 73.906-84.056 43.17-190.69 76.712-270.75 97.656v53.875c7.514-2.44 15.065-4.847 22.624-7.25 18.695.008 39.45 7.253 46.25 50.282C80.952 445.75 64 453.105 64 477c0 12.348 12.224 21.406 24.03 21.406 12.074 0 23.532-8.464 23.532-20.187 0-23.002-16.374-32.466-23-65.283 9.795-76.6 133.782-117.104 133.782-71.75 0 11.632-12.813 21.018-12.813 31.625 0 12.752 11.694 21.75 24.032 21.75 12.068 0 24.657-10.1 24.657-23.53 0-13.43-14-20.934-14-31.75 0-71.077 114.83-78.082 132.686-16.782-13.16 56.997-42.03 75.01-42.03 116.844 0 22.04 21.583 38 44.28 38 22.2 0 45.125-17.067 45.125-40.28 0-43.735-30.165-58.033-43.06-115.19 23.29-129.734 61.263-121.692 88.31-176.03.036-.06.06-.127.095-.188C490.395 109.56 498.903 66.81 490.905 15zm-86.53 76.656c-37.166 17.086-80.115 24.428-123 21.28C221.435 153.363 107.803 206.662 18.593 225v71.97c78.706-20.824 182.013-53.747 262.219-94.94 41.78-21.456 77.22-45.23 99.437-69.81 12.273-13.58 20.51-26.965 24.125-40.564zm54.28 102.125c-7.41 43.062-29.47 51.75-29.47 81.94.002 15.146 14.987 26.28 29.47 26.28 14.81 0 28.875-10.4 28.875-24.78 0-28.982-21.217-40.46-28.874-83.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingStar;

impl IconShape for DrippingStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M366.938 19.688l-23.563 17.375-80.75 58.812L181.72 36.78l-23.47-16.936 8.844 27.656 31.25 95.28-81.188 58.564-23.344 16.97 28.907-.25 100-.345 31 95.718 8.843 27.656 8.656-27.688 30.874-95.5 100.187.313 28.876-.22-23.47-16.938-81.155-58.687 31.064-94.813 9.344-27.874zm-35.782 49.25l-24.375 74.437-2.124 6.656 5.656 3.845 63.344 45.563-78.312-.094-6.78.03-1.908 6.22-23.97 74.687-23.936-74.717-2.47-6.47-6.78.032-77.875.125 63.313-45.188 5.28-4.28-1.78-6.688L194 69.22l63.063 46.03 5.687 3.813 5.03-3.844 63.376-46.282zM92 242.063s-36 73.02-36 92.906C56 354.852 72.115 371 92 371s36.03-16.147 36.03-36.03c0-19.905-36.03-92.908-36.03-92.908zm340.906 0s-36.03 73.02-36.03 92.906c0 19.883 16.146 36.03 36.03 36.03 19.885 0 36-16.147 36-36.03 0-19.905-36-92.908-36-92.908zM262.47 363.342s-36.033 73.022-36.033 92.907c0 19.885 16.147 36.03 36.032 36.03 19.883 0 36-16.145 36-36.03 0-19.903-36-92.906-36-92.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingStone;

impl IconShape for DrippingStone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M344.875 19.844l-155.78 7.343-33.97 88.032-1.938 5-5.28.843-43.563 7.093L59.438 230l40.218 31 252.688.72 69.594-34.22-17.72-146.28-11-.032v.03l-73.874 1.063-43.406 63.5-15.438-10.53 46.125-67.53 2.75-4 4.844-.064 49.155-.687-18.5-43.126zm69.875 232l-48.438 23.844c12.5 17.007 19.983 47.156 13.344 69.593-2.448 8.275-14.728 29.75-14.937 39.69-.283 13.39 15.325 29.372 28.717 29.374 13.393.002 25.406-15.983 25.688-29.375.207-9.88-11.454-31.608-14.03-39.69-8.56-26.84-1.968-63.266 9.655-93.436zm-351.125 5c13.52 36.223 8.293 83.594 22.188 83.594 14.32 0 13.963-49.785 35.406-60.688l-24.782-.063-3.188-.03-2.5-1.907-27.125-20.906zm84.875 23c27.784 7.302 54.07 75.815 40.875 94.094-2.84 3.935-14.162 15.01-14.47 25.906-.31 11.105 9.113 23.47 23.376 23.47 13.315-.002 24.357-10.57 24.72-23.47.357-12.692-11.54-21.875-13.688-25.906-8.028-18.992-4.63-73.682 20.875-75.063 29.213-1.583 39.942 83.25 22.188 107.844-4.717 6.534-24.14 27.11-24.688 46.56-.558 19.87 14.247 41.284 38.72 41.283 24.947 0 40.51-23.903 41-41.282.478-16.96-19.185-39.87-22.75-46.56-14.323-26.88-7.27-105.226 23.687-126.44l-159.844-.436zm-60.813 101.03c-12.466 0-22.562 10.13-22.562 22.595 0 12.465 10.096 22.56 22.563 22.56 12.466 0 22.562-10.095 22.562-22.56 0-12.467-10.096-22.595-22.563-22.595z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingSword;

impl IconShape for DrippingSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M495.52 21.816l-11.305 1.043-82.805 7.644-258.045 258.053c-15.554-22.716-27.955-46.57-35.414-70.16l-4.098-12.96-10.633 8.47c-19.564 15.59-31.423 31.095-36.855 46.65-5.43 15.554-3.958 30.888 1.717 44.084 9.88 22.977 30.975 40.096 51.26 52.862-24.534 31.35-52.64 56.51-82.09 80.21l-3.486 2.808v4.474c0 14.772 4.732 27.31 13.584 35.684 8.85 8.375 21.067 12.126 34.222 12.125h4.7l2.802-3.774c22.927-30.88 48.28-59.133 79.71-82.04 10.91 17.653 26.147 38.022 48.323 48.664 12.948 6.214 28.392 8.625 44.922 4.35 16.53-4.275 33.916-14.868 52.42-33.373l10.88-10.88-14.672-4.637c-25.307-7.998-49.583-21.334-72.77-37.787l32.987-32.988c-.656.765-1.31 1.558-1.963 2.412l3.89-4.34 2.78-2.78c16.614-13.837 33.616 1.5 43.3 59.98 6.67-64.68 35.053-74.725 38.56-47.342V502.98h18.687V316.715l.175 1.828c4.48-49.957 29.634-39.048 33.996 24.996v152.835h18.69v-69.408c5.9-43.874 38.74-54.97 47.68-10.248l-.295 84.575 18.688.066 1.36-390.126 9.097-89.418zm-20.89 20.696l-6.53 64.162L199.223 375.56l8.58 6.467c22.645 17.077 46.745 31.5 72.267 41.534-12.25 10.186-23.203 15.888-32.72 18.35-12.33 3.19-22.537 1.512-32.16-3.105-19.24-9.235-35.212-31.906-45.618-49.928l-5.017-8.69-8.31 5.624c-36.06 24.4-64.17 55.143-88.975 88.002-7.447-.676-13.15-2.994-17.075-6.708-4.023-3.807-6.73-9.497-7.435-17.99 31.122-25.274 61.537-52.874 87.783-88.485l6.2-8.413-9.05-5.225c-21.07-12.165-44.11-30.36-52.443-49.736-4.166-9.688-5.14-19.37-1.242-30.537 3.067-8.784 9.632-18.68 20.832-29.36 9.388 24.544 23.015 48.677 39.63 71.308l6.44 8.775 268.942-268.95 64.777-5.98zM428.57 75.064L164.334 339.3l13.215 13.216L441.786 88.28l-13.215-13.216zM450.75 200.75c7.306 0 14.617 7.55 14.617 18.78s-7.308 18.78-14.617 18.78c-7.306 0-14.617-7.552-14.617-18.78 0-11.23 7.308-18.78 14.617-18.78zm-20.535 49.844c3.373 0 7.69 2.54 11.73 9.53 4.042 6.987 6.955 17.67 6.955 29.595 0 11.923-2.912 22.607-6.953 29.594-4.04 6.988-8.357 9.53-11.732 9.53-3.373 0-7.69-2.542-11.73-9.53-4.042-6.988-6.956-17.67-6.956-29.595 0-11.926 2.913-22.61 6.954-29.597 4.042-6.988 8.356-9.53 11.73-9.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DrippingTube;

impl IconShape for DrippingTube {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M276.95 18.752c-17.61.005-29.2 5.172-33.776 13.1-5.232 9.06-2.762 24.25 9.775 42.494 12.536 18.243 34.302 38.05 61.864 53.963 27.562 15.91 55.6 24.856 77.666 26.592 22.068 1.736 36.456-3.72 41.688-12.78 5.23-9.06 2.762-24.25-9.775-42.493-12.538-18.244-34.303-38.05-61.866-53.964-27.562-15.913-55.598-24.858-77.666-26.594-2.757-.217-5.395-.32-7.91-.32zm9.818 21.453c16.105.134 40.723 8.224 65.804 22.705 38.22 22.067 63.046 50.616 55.453 63.768-7.593 13.152-44.732 5.925-82.95-16.14-38.22-22.068-63.047-50.618-55.454-63.77 2.61-4.52 8.71-6.633 17.148-6.563zm-50.784 42.352L79.594 392.385c-10.137 17.762-10.692 36.284-4.504 51.6 6.224 15.41 18.583 27.613 33.222 35.6 14.64 7.99 31.752 11.89 48.39 9.743 16.64-2.145 32.87-10.827 43.554-27.033l.01-.018L388.914 173.33c-6.485-.61-13.232-1.71-20.172-3.29l-32.846 50.308c-.272-.25-.55-.5-.878-.77-3.27-2.697-8.986-5.776-16.44-8.377-14.908-5.2-36.63-8.684-60.63-8.684-23.997 0-45.72 3.484-60.628 8.685-2.427.848-4.65 1.748-6.683 2.667l57.967-114.84c-4.098-4.665-7.81-9.377-11.055-14.097-.542-.788-1.047-1.582-1.566-2.373zM415.03 184.553l-8.794 33.5c-7.48 28.495-19.135 51.737-29.22 71.646-10.085 19.908-19.258 36.267-19.14 53.5.217 31.9 26.61 57.75 58.634 57.505l-.008.002c32.01-.217 58.057-26.384 57.836-58.29-.076-11.126-4-21.653-9.54-32.974-.62-1.593-1.43-3.186-2.41-4.797-2.39-4.645-4.986-9.447-7.656-14.505-10.25-19.42-22.206-42.452-30.453-72.21l-9.25-33.377zm-232.85 46.07c3.385 2.44 8.59 5.096 15.14 7.38 14.908 5.202 36.63 8.685 60.63 8.685 23.998 0 45.72-3.483 60.628-8.684 2.914-1.017 5.552-2.107 7.893-3.22l-16.365 25.068c-15.16 3.556-32.977 5.53-52.156 5.53-25.762 0-49.088-3.553-66.788-9.728-6.642-2.317-12.488-4.99-17.47-8.215l8.488-16.817zm233.242 19.498c.32.83.65 1.62.973 2.437-1.073 34.75-13.116 59.906-8.944 75.015 4.384 15.93 20.963 25.358 36.974 20.852 4.253-1.17 8.036-3.197 11.226-5.83.126 21.712-17.307 39.275-39.275 39.424h-.007c-21.97.167-39.654-17.217-39.8-38.944v-.002c-.067-9.577 7.017-24.98 17.12-44.927 6.888-13.598 14.798-29.615 21.735-48.024zm-191.04 29.74c9.492 0 17.186 7.697 17.186 17.19 0 9.49-7.694 17.184-17.185 17.184-9.49 0-17.186-7.694-17.186-17.185 0-9.493 7.695-17.19 17.186-17.19zm-54.35 13.44c12.148 0 21.997 9.85 21.997 22s-9.85 21.997-22 21.997c-12.147 0-21.997-9.848-21.997-21.996 0-12.15 9.85-22 21.998-22zm22.007 57.81c13.287 0 24.058 10.775 24.058 24.064 0 13.287-10.77 24.058-24.06 24.058-13.286 0-24.06-10.77-24.06-24.058 0-13.29 10.774-24.063 24.06-24.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drop;

impl IconShape for Drop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.844 40.344C234.1 213.202 145.594 248.03 145.594 369.22c0 60.804 60.106 105.5 118.25 105.5 59.45 0 115.937-41.803 115.937-99.533 0-116.332-85.2-162.312-115.936-334.843zm-58.28 217.094c-27.963 75.53-5.105 154.567 54.25 179.375 15.185 6.348 31.724 7.714 47.905 6.28-116.134 49.787-185.836-79.816-102.158-185.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DropletSplash;

impl IconShape for DropletSplash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.563 19.813c-13.458 0-24.344 10.917-24.344 24.375 0 13.457 10.885 24.343 24.343 24.343 13.457 0 24.375-10.888 24.375-24.343 0-13.454-10.918-24.374-24.375-24.374zm.937 70.312c-4.414 85.037-23.308 149.063-46.156 149.063-5.667 0-11.307-4.22-16.344-11.438 1.29 41.965-4.895 68.787-19.844 67.625-5.412-.42-11.71-4.443-18.125-11.406 20.254 50.4 58.82 84.75 103.376 84.75 44.556 0 83.122-34.35 103.375-84.75-6.413 6.962-12.678 10.985-18.092 11.405-16.276 1.265-22.873-29.93-19.875-78.563-6.6 13.806-14.202 22.375-22.188 22.375-22.85 0-41.71-64.025-46.125-149.062zM104.25 314.53c-51.466 16.677-84.688 41.948-84.688 69.97 0 50.166 104.813 91.096 234.188 91.094 129.375-.002 234.188-40.928 234.188-91.094 0-28.02-33.222-53.293-84.688-69.97 27.147 12.92 43.813 29.24 43.813 47.19 0 41.413-86.506 74.81-193.313 74.81-106.805.002-193.313-33.397-193.313-74.81 0-17.95 16.666-34.273 43.813-47.19zm68.906 13.814c-28.25 9.053-46.72 22.128-46.72 37.437 0 27.24 57.065 49.626 127.314 49.626 70.248 0 127.313-22.386 127.313-49.625 0-15.308-18.468-28.383-46.72-37.436 14.94 7.036 24.532 15.4 24.532 25.22 0 22.485-47.132 40.686-105.125 40.686s-105.125-18.2-105.125-40.688c0-9.818 9.592-18.182 24.53-25.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Droplets;

impl IconShape for Droplets {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.156 17.72c-22.515 130.852-89.5 157.227-89.5 248.968 0 46.03 45.485 79.843 89.5 79.843 1.7 0 3.402-.066 5.094-.155.82-6.47 1.875-12.74 3.125-18.844-2.962.39-5.995.595-9.063.595-38.51 0-69.656-31.488-69.656-70.72 0-39.23 31.145-70.717 69.656-70.717.576 0 1.147.017 1.72.03-17.205 9.417-28.876 28.2-28.876 49.5 0 27.927 20.063 51.5 46.344 55.345 10.542-29.276 25.437-55.543 41.125-83.125 3.053-5.368 6.148-10.822 9.25-16.344-20.93-44.947-53.572-89.35-68.72-174.375zm296.531 0c-14.905 86.624-49.318 127.455-70.875 171.78 4.337 8.4 8.666 16.6 12.907 24.625.27.514.54 1.018.81 1.53 12.664-17.583 33.143-28.968 56.283-28.968.585 0 1.167.017 1.75.032-17.214 9.413-28.907 28.192-28.907 49.5 0 30.555 24.045 55.905 53.938 55.905 16.704 0 31.57-7.9 41.437-20.22-6.557 32.216-34.585 56.22-68.217 56.22-3.16 0-6.266-.245-9.313-.656 1.425 6.11 2.654 12.378 3.656 18.78 2.18.163 4.354.28 6.53.28 45.005 0 87.752-31.642 87.752-75.342 0-88.064-64.484-122.863-87.75-253.47zM256.72 52.47c-18.814 73.33-47.047 123.11-71.69 166.436-29.68 52.186-53.686 94.326-53.686 161.313 0 31.412 15.432 58.706 39.094 78.624 23.66 19.917 55.448 31.906 86.125 31.906 31.66 0 62.733-11.278 85.468-29.906 22.736-18.628 37.095-44.098 37.095-73.78 0-64.192-23.26-108.428-52.125-163.064-23.955-45.34-51.36-97.692-70.28-171.53zm-1.5 212.56c6.448 0 12.75.62 18.874 1.75-31.1 8.977-53.844 38.675-53.844 73.5 0 41.822 32.78 76.314 73.47 76.314 28.857 0 53.72-17.368 65.75-42.375-1.763 57.015-47.717 102.374-104.25 102.374-57.654 0-104.314-47.18-104.314-105.78 0-58.603 46.66-105.783 104.313-105.783z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Drowning;

impl IconShape for Drowning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M195.78 21.25c.558 3.56 1.4 7.026 2.5 10.375-10.494 7.93-17.31 20.482-17.31 34.563 0 23.834 19.54 43.374 43.374 43.374 21.168 0 38.917-15.417 42.625-35.562 25.962-4.582 46.306-26.02 50.436-52.75h-19c-4.337 20.21-21.453 35-41.812 35-20.36 0-37.476-14.79-41.813-35h-19zm175.064 13.938c-25.434 0-46.25 20.815-46.25 46.25 0 19.075 11.697 35.546 28.28 42.593-7.11 9.418-11.312 21.134-11.312 33.782 0 7.75 1.605 15.145 4.47 21.875-12.57 5.384-21.438 17.91-21.438 32.375 0 19.32 15.837 35.157 35.156 35.157 18.684 0 34.16-14.802 35.156-33.25.955.048 1.908.06 2.875.06 30.937 0 56.22-25.28 56.22-56.218 0-26.182-18.118-48.315-42.438-54.5 3.53-6.522 5.532-13.976 5.532-21.874 0-25.434-20.816-46.25-46.25-46.25zm-163.97 13.5c9.535 13.508 24.047 23.037 40.814 25.562-3.3 9.72-12.44 16.625-23.344 16.625-13.734 0-24.688-10.953-24.688-24.688 0-6.883 2.746-13.05 7.22-17.5zm157.657 5.906c-1.73 2.925-2.75 6.323-2.75 9.968 0 10.838 8.79 19.626 19.626 19.626 6.814 0 12.826-3.478 16.344-8.75.42 1.927.656 3.938.656 6 0 8.38-3.65 15.838-9.47 20.874-6.774 1.082-13.154 3.37-18.905 6.657-14.95-.423-26.75-12.47-26.75-27.532 0-13.163 9.002-24.028 21.25-26.844zm-77.31 53.812c-19.32 0-35.19 15.868-35.19 35.188s15.87 35.187 35.19 35.187c19.318 0 35.186-15.867 35.186-35.186 0-19.32-15.868-35.188-35.187-35.188zm110.56 11.875c3.978 0 7.788.622 11.376 1.75-8.97 3.188-15.406 11.75-15.406 21.814 0 12.78 10.376 23.125 23.156 23.125 7.517 0 14.18-3.574 18.406-9.126-.016 20.82-16.705 37.5-37.53 37.5-2.595 0-5.122-.257-7.563-.75-5.147-8.898-14.05-15.376-24.5-17.188-3.473-5.694-5.47-12.39-5.47-19.594 0-12.556 6.06-23.605 15.438-30.406 7.315-.77 14.12-3.26 20.03-7.062.685-.037 1.37-.063 2.063-.063zm-110.56 6.845c9.217 0 16.5 7.25 16.5 16.47 0 9.218-7.282 16.5-16.5 16.5-9.22 0-16.5-7.282-16.5-16.5 0-9.22 7.28-16.47 16.5-16.47zM193.936 154.5c-28.534 0-51.875 23.34-51.875 51.875 0 27.282 21.344 49.764 48.157 51.688-9.678 17.452-15.47 39.067-15.47 62.5-.002 30.41 9.606 58.155 24.844 77.25l10.03 12.562-15.874 2.5c-31.947 5.028-52.09 14.733-65.375 28.344-11.19 11.464-17.854 26.476-21.97 45.342H400.75c-4.88-18.106-12.076-32.644-23.156-43.906-13.31-13.53-32.53-23.205-61.656-28.687l-15.594-2.94 10.156-12.186c15.99-19.265 26.47-47.184 26.47-78.28 0-29.982-9.56-56.965-24.5-76.095-14.943-19.132-34.85-30.314-56.626-30.314-3.65 0-7.25.324-10.78.938.484-2.84.75-5.747.75-8.72 0-28.534-23.34-51.874-51.876-51.874zm-9.156 19.938c-1.747 3.255-2.75 6.982-2.75 10.937 0 12.78 10.377 23.125 23.157 23.125 8.837 0 16.508-4.938 20.407-12.22 1 3.18 1.53 6.57 1.53 10.095 0 6.337-1.743 12.238-4.78 17.25-6.165 3.686-11.928 8.405-17.22 14-3.486 1.23-7.257 1.906-11.186 1.906-18.435 0-33.157-14.72-33.157-33.155 0-15.252 10.084-27.995 24-31.938zm171.75 21.437c5.43 5.877 12.062 10.598 19.533 13.75.114.795.187 1.607.187 2.438 0 9.218-7.28 16.468-16.5 16.468-9.22 0-16.47-7.25-16.47-16.468 0-8.112 5.623-14.716 13.25-16.187zM224.47 266.75c4.943.072 9.195 2.03 11.343 5.75 3.818 6.613-.49 16.256-9.625 21.53-9.137 5.276-19.62 4.208-23.438-2.405-3.817-6.612.49-16.256 9.625-21.53 3.997-2.31 8.248-3.4 12.094-3.345zm60.81 0c3.847-.056 8.13 1.036 12.126 3.344 9.136 5.275 13.443 14.92 9.625 21.53-3.817 6.614-14.33 7.682-23.467 2.407-9.137-5.274-13.444-14.917-9.625-21.53 2.147-3.72 6.4-5.678 11.343-5.75zm-30.56 58.97c22.9-.08 45.62 14.087 54.31 42.75-36.916-23.654-71.587-24.153-109.624 0 9.35-28.35 32.412-42.673 55.313-42.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Duality;

impl IconShape for Duality {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.703 23.605c-1.176.038-2.058.133-2.642.133-.98 0-1.952.032-2.92.088v-.088c-6.42 0-12.584 1.54-18.324 4.414-.876.366-1.743.747-2.595 1.15l.096.202c-5.578 3.252-10.708 7.805-15.197 13.53-9.665 12.324-15.956 29.914-15.956 49.618 0 19.875 7.628 45.94 16.648 57.248l10.045 12.594-15.918 2.467c-15.464 2.398-26.127 9.174-34.622 19.63-8.495 10.456-14.537 24.92-18.55 41.89-7.39 31.243-7.78 70.335-7.8 106.206h41.438L81.918 496.21H194.63l10.515-163.524h42.046v-9.346c0-35.39-1.044-74.64-10.13-107.604-4.542-16.48-11.126-31.5-21.123-43.496-7.27-8.725-16.5-15.703-27.5-20.105 8.084-14.387 12.618-32.26 12.618-50.14 0-41.227-25.068-73.777-58.948-78.18h-.003c-1.757-.227-3.226-.247-4.4-.21zm242.193 0c-1.176-.037-2.645-.018-4.404.21-33.88 4.403-58.947 36.953-58.947 78.18 0 17.88 4.532 35.753 12.617 50.14-11.002 4.402-20.23 11.38-27.5 20.105-9.997 11.997-16.58 27.015-21.123 43.496-9.086 32.963-10.132 72.213-10.132 107.604v9.346h42.047L322.97 496.21H435.68l10.513-163.524h41.438c-.02-35.87-.41-74.963-7.8-106.207-4.013-16.97-10.055-31.434-18.55-41.89-8.495-10.456-19.157-17.232-34.62-19.63l-15.92-2.466 10.044-12.594c9.02-11.31 16.65-37.373 16.65-57.248 0-19.704-6.29-37.294-15.955-49.62-4.49-5.724-9.62-10.278-15.2-13.53l.095-.2c-.842-.398-1.697-.775-2.563-1.136-5.747-2.885-11.923-4.428-18.353-4.428v.088c-.967-.056-1.94-.088-2.92-.088-.585 0-1.467-.095-2.644-.133zM139.693 42.35h.004c23.37 3.034 42.668 25.778 42.668 59.646 0 18.664-6.866 38.574-15.95 49.516l-10.142 12.218 15.606 2.934c12.81 2.408 22.07 8.382 29.7 17.54 7.63 9.156 13.387 21.71 17.463 36.5 7.437 26.983 9.096 60.97 9.344 93.292h-40.77L177.105 477.52H132.14V42.58c.975-.09 1.95-.15 2.92-.15 2.75 0 4.335-.117 4.633-.078zm238.21 0h.003c.3-.04 1.884.078 4.633.078.97 0 1.945.06 2.92.15V477.52h-44.966l-10.512-163.524h-40.77c.25-32.322 1.907-66.31 9.345-93.293 4.076-14.79 9.833-27.343 17.463-36.5 7.63-9.157 16.89-15.13 29.7-17.54l15.606-2.933-10.142-12.218c-9.083-10.942-15.952-30.852-15.952-49.516 0-33.868 19.3-56.612 42.67-59.646z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DualityMask;

impl IconShape for DualityMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M65.44 18.39l-2.327 9.717C53.95 66.384 49.07 107.884 49.07 151.293c0 93.415 23.097 178.085 61.047 240.014 17.218 28.096 37.652 51.6 60.447 68.92 26.69 21.257 56.353 32.962 87.377 32.962.364 0 1.147-.12 1.927-.25.623.008 1.247.02 1.87.02 60.13 0 113.67-39.724 151.62-101.653 37.95-61.93 61.047-146.598 61.047-240.014 0-41.557-4.858-81.203-13.256-118.012l-2.324-10.19-9.582 4.176c-50.92 22.196-113.98 35.705-182.086 35.713-2.014-.022-4.01-.06-6.002-.103V62.8c-1.296 0-2.586-.017-3.88-.03-69.783-2.053-125.493-18.078-182.545-40.698l-9.29-3.683zm380.816 28.747c6.792 32.774 10.824 67.647 10.824 104.156 0 90.547-22.596 172.38-58.494 230.963-35.9 58.582-84.36 93.38-136.848 93.38-.195 0-.39-.006-.584-.007v-63.987c-2.64.023-5.28-.03-7.914-.163-55.358-2.77-109.316-38.91-122.03-99.742l-2.355-11.256h94.895l37.404 14.207V80.206c1.946.042 3.896.078 5.862.098h.087c66.168 0 127.672-12.383 179.152-33.168zm-279.53 98.12c35.365 0 64.036 13.248 64.036 29.59 0 16.34-28.668 29.585-64.035 29.585-35.365 0-64.036-13.246-64.036-29.586 0-16.34 28.67-29.588 64.037-29.588zm186.282 0c-35.367 0-64.035 13.248-64.035 29.59 0 16.34 28.67 29.585 64.035 29.585 35.367 0 64.035-13.246 64.035-29.586 0-16.34-28.67-29.588-64.035-29.588zM152.572 319.17c14.72 45.053 57.247 71.428 101.602 73.646 44.8 2.24 90.238-19.45 110.416-73.646h-57.447l-44.204 16.187-42.62-16.187h-67.748z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct DustCloud;

impl IconShape for DustCloud {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.28 20.156c49.034 80.853 158.543 191.31 280.314 282.72-12.952-21.306-30.14-44.73-50.656-69.313 28.743-10.15 24.95-58.844-11.344-58.844-13.48 0-22.456 6.72-26.97 15.686C295.36 133.576 228.32 73.53 157.282 20.156zm149.5 19.657c-28.475 0-28.49 42.656 0 42.656 28.494 0 28.477-42.657 0-42.657zM96.814 53.718c-28.476 0-28.493 42.655 0 42.655 1.2 0 2.337-.074 3.437-.22 11.16 20.95 24.392 43.76 30.094 54.72-34.91-27.997-71.838-55.12-110.375-80.03 45.8 69.48 95.23 131.372 148.343 187.468-44.29-39.876-94.253-78.585-147.157-113.282 46.907 90.757 163.835 205.804 299 294.345-18.66-35.987-48.926-76.256-86.437-116.813 39.578 36.5 81.035 70.486 124.405 102.532-26.27 2.126-25.556 42.562 2.188 42.562 16.258 0 23.203-13.887 20.906-25.812 27.366 19.495 55.49 38.282 84.374 56.5-17.89-46.96-52.54-103.187-97.938-161.188 30.526 24.99 63.348 48.99 97.594 71.094-40.95-88.83-150.568-199.87-279.72-283.344 6.852 14.92 15.627 30.436 26.095 46.344-32.12-28.783-65.672-55.986-99.75-80.563 11.906-11.61 6.894-36.968-15.063-36.968zm-4.188 236.405c-28.476 0-28.493 42.656 0 42.656s28.476-42.655 0-42.655zm15.313 79.25c-28.476 0-28.493 42.656 0 42.656 28.492 0 28.475-42.655 0-42.655zm70.906 12.53c-48.87 0-48.9 73.22 0 73.22 48.898 0 48.87-73.22 0-73.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EagleEmblem;

impl IconShape for EagleEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M35.31 22.3C27.498 42.766 22.138 64.643 20 87.378l103.705 27.79-4.838 18.052-99.873-26.763c-.012.954-.035 1.905-.035 2.86 0 14.055 1.196 27.83 3.48 41.23h94.146v18.687H26.393c3.368 13.324 7.83 26.207 13.29 38.547l79.184-21.216 4.838 18.05-75.64 20.27c5.994 11.096 12.817 21.67 20.396 31.636l61.933-35.756 9.343 16.183-59.22 34.192c7.782 8.728 16.18 16.885 25.132 24.4l44.73-44.726 13.214 13.215-43.055 43.052c8.963 6.406 18.374 12.215 28.186 17.357l28.734-49.772 16.186 9.346-27.987 48.472c12.545 5.367 25.63 9.697 39.156 12.87.99 3.566 2.08 7.103 3.25 10.593-12.36 9.993-24.163 20.49-35.12 31.728-4.458-2.16-9.46-3.373-14.75-3.373-18.707 0-33.874 15.164-33.874 33.873 0 1.715.13 3.402.377 5.05 2.02-11.514 12.06-20.265 24.153-20.265 3.103 0 6.068.582 8.8 1.633-10.103 12.102-19.193 25.08-26.906 39.23 13.897-7.544 27.684-15.755 41.15-24.764.96 2.63 1.485 5.468 1.485 8.43 0 12.122-8.796 22.184-20.352 24.168 1.685.258 3.412.393 5.168.393 18.71 0 33.873-15.168 33.873-33.875 0-4.17-.757-8.16-2.134-11.848 10.033-7.467 19.823-15.43 29.26-23.984 2.978 5.705 6.203 11.034 9.65 15.818l-43.53 87.17c48.267 22.47 115.7 22.76 157.872 0l-42.13-84.36c3.722-4.81 7.21-10.25 10.426-16.14 8.577 7.617 17.428 14.77 26.483 21.508-1.375 3.685-2.13 7.67-2.13 11.836 0 18.707 15.165 33.873 33.874 33.873 1.758 0 3.486-.132 5.172-.39-11.56-1.983-20.355-12.045-20.355-24.168 0-2.964.525-5.805 1.49-8.435 13.464 9.006 27.247 17.223 41.143 24.767-7.71-14.148-16.78-27.136-26.877-39.238 2.726-1.045 5.682-1.623 8.775-1.623 12.09 0 22.13 8.75 24.15 20.262.246-1.647.377-3.332.377-5.047 0-18.71-15.166-33.873-33.875-33.873-5.275 0-10.268 1.205-14.72 3.355-10.007-10.27-20.74-19.908-31.946-29.12 1.938-5.52 3.658-11.18 5.132-16.886 7.91-2.368 15.65-5.14 23.2-8.283l-28.497-49.356 16.186-9.346 29.34 50.816c9.98-5.11 19.555-10.9 28.672-17.308l-44.146-44.147 13.215-13.216 45.926 45.922c9.145-7.557 17.72-15.785 25.666-24.6l-60.95-35.19 9.343-16.182 63.748 36.804c7.76-10.087 14.746-20.807 20.87-32.07l-77.93-20.883 4.837-18.05 81.534 21.847c5.588-12.533 10.157-25.625 13.584-39.178h-92.836v-18.687h96.777c2.282-13.4 3.48-27.174 3.48-41.23 0-1.19-.025-2.376-.044-3.563L397.652 133.22l-4.836-18.054L499.09 86.69c-2.18-22.49-7.52-44.13-15.254-64.39h-.004C457.315 63.81 400.24 96.234 329.068 109.32c12.67 15.603 20.442 35.52 20.442 57.233 0 31.196-15.723 58.718-39.604 75-21.27-12.407-42.907-28.878-45.52-43.814l17.653-3.81-2.235-10.352c15.67-11.335 33.936-9.138 53.433-.01l-18.302-40.414-41.903 9.04-2.846-13.188V139l-80.87 17.453 20.458 30.266c-8.595 19.678-2.717 41.68 5.45 58.56-27.204-15.57-45.592-44.998-45.592-78.73 0-21.713 7.772-41.63 20.44-57.232C118.904 96.234 61.83 63.81 35.312 22.3zm216.45 132.567c5.244-.056 9.98 3.573 11.13 8.9 1.312 6.085-2.557 12.084-8.644 13.397-6.087 1.313-12.085-2.556-13.398-8.643-1.314-6.085 2.556-12.086 8.642-13.4.76-.163 1.52-.245 2.27-.253z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EarthCrack;

impl IconShape for EarthCrack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.777 16.248l21.832 149.004-83.165-78.248 40.946 125.732-74.765-6.927 39.33 68.112h71.87l-11.512-38.73 28.125 15.234 1.17-49.223 44.537 51.568 14.064-78.52 17.58 60.94 57.425-39.846-17.58 58.597 55.082-22.266-30.912 42.248h80.834l37.17-63.13-51.26 6.845 20.565-85.008-70.873 48.905L395.61 69.693l-95.25 51.473-12.266-100.908-51.576 104.803-32.53-87.51-18.517 18.18-28.693-39.482zm57.23 259.61l-48.064 34.892 20.48 27.527L59.384 355l8.42 66.527-.506 2.99-48.087 20.126V491.7h34.42l47.1-46.206-18.678-74.63 46.343-6.1 3.358 54.933 1.685.75 39.685 32.815-18.117 38.437h54.185L215 432.284l-65.352-26.19-2.673-43.777 73.43-9.666-28.182-37.886 53.593-38.91h-31.81zm60.124 0l49.722 58.437-74.63 35.61-4.355.222 52.588 62.935L266.69 491.7h72.033l-2.315-73.403L282.78 374.6l58.706-28.014 73.418 17.262-45.13 72.213 41.003 55.112.19.527h69.838l-78.51-55.122 14.45-35.62 77.86 30.75v-34.606l-68.937-15.215 18.912-30.26-101.807-23.934-44.103-51.836h-24.54z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EarthSpit;

impl IconShape for EarthSpit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.594 201.938l-44.188 84.468 109.063 9.188 62.124-7.938-35.53 20.5 13.53 9.188 56.937 10.562v-92.5l-39.31-29.53 7.5 33.718-62.845-24.688 4.188 26.125-71.47-39.093zm-129.063.593L74.157 242.97l20.625-35.25-72.874 27.686v217.47l88.75-46.97 10.47-44.5h-40.75l49.56-20.75 43.408-26.03L203.53 202.53zm143.126 107.532l-27.812 29.594 34.062 40.313 67.75 20.717 56.656 12.844-51.25 15.376 68.47 20.25v-102.25l-62.313-11.562-1.908-.375-1.625-1.095-28.437-19.313-53.594-4.5zM184.97 329.406l-43.22 25.938-13.875 59-.97 4.125-3.75 1.967-101.25 53.594v17.845h472.626v-23.22l-88.124-26.06-11.594-3.44 6.25-10.342 7.407-12.313-62.345-19.063-12.53 14.063 59.53 68.53-107.844-52.28 17.75-26.656-25.624-17.406-80.53 85.625 27.53-56.907-65.812-12.594 79-14.625 23.625-48.843-76.25-6.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Earwig;

impl IconShape for Earwig {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M55.836 28.59c-.682-.008-1.352-.004-2.008.012-10.49.253-17.153 3.2-21.37 7.668-4.215 4.468-6.71 11.194-6.27 21.564.442 10.37 4.09 24.004 11.785 40.047 4.768 9.94 11.075 20.797 19.007 32.442l71.176-76.4C116.16 47.008 105.028 41.594 94.88 37.6c-15.573-6.132-28.808-8.897-39.044-9.01zm119.836.494l79.33 205.252 24.078 22.43c14.3-12.52 32.123-19.167 50.156-19.817 3.852-.14 7.713-.004 11.55.405-1.73-5.99-3.855-12.23-6.427-18.73-18.454-46.654-59-104.866-126.89-168.29-10.213-9.538-20.985-16.37-31.798-21.25zm119.254 7.545L265.6 82.5c4.45 4.89 8.744 9.745 12.877 14.56l32.2-50.363-15.75-10.068zM144.418 63.884l-76.29 81.888c8.823 11.61 19.148 23.878 31.024 36.696l14.483 4.503 72.816-78.16-7.927-20.51c-11.908-9.288-23.304-17.418-34.105-24.418zm201.94 29.912l-46.004 30.27c3.87 5.092 7.54 10.127 11.044 15.11l45.237-29.765-10.276-15.615zm-152.42 34.396l-60.5 64.94 97.294 30.256-36.793-95.197zm191.576 47.416l-48.77 4.24c3.298 6.104 6.31 12.102 9.02 17.98l41.37-3.598-1.62-18.623zM34.704 182c5.583 9.95 12.94 19.732 23 29.13 68.28 63.786 129.182 100.34 176.872 115.49 6.404 2.036 12.54 3.68 18.41 4.966-3.772-20.823.685-42.925 13.55-60.963L239.9 245.81 34.705 182zm298.155 73.48c-.987-.013-1.974-.002-2.96.034-15.772.57-31.336 7.165-43.002 19.66-17.816 19.083-21.222 46.203-10.712 68.306 3.685-2.48 7.783-4.47 12.236-5.834 3.05-.934 6.13-1.535 9.193-1.824 1.34-.126 2.68-.192 4.012-.2 19.983-.13 38.644 12.792 44.777 32.814.827 2.698 1.378 5.416 1.698 8.128 10.76-2.912 20.876-8.764 29.068-17.54 7.844-8.4 12.884-18.363 15.187-28.768-16.542-3.03-30.933-14.942-36.173-32.05-3.824-12.48-2.057-25.4 3.837-36.048-8.54-4.342-17.844-6.57-27.16-6.68zm67.535 1.385c-.8.01-1.602.052-2.407.13-1.84.18-3.693.548-5.537 1.112-14.746 4.517-22.904 19.878-18.387 34.623 4.516 14.746 19.88 22.904 34.626 18.387 14.747-4.516 22.905-19.878 18.388-34.623-3.705-12.096-14.708-19.758-26.683-19.63zm-307.672 9.29L54.73 294.42l11.16 14.998 42.17-31.37c-5.062-3.803-10.178-7.78-15.337-11.892zm46.193 33.6l-23.516 41.92 16.3 9.145 23.052-41.09c-5.21-3.145-10.49-6.47-15.836-9.974zM490.01 315.23l-77.64 2.504c-.098 11.22-2.542 22.43-7.33 32.85 21.634-4.112 46.81 3.183 66.524 21.508 10.075 9.364 17.117 20.466 21.54 31.957l-3.094-88.82zm-289.567 18.385l-.658 41.322 18.69.297.545-34.168c-6.05-2.187-12.25-4.678-18.577-7.45zm101.4 20.668c-.8.01-1.602.052-2.407.13-1.84.18-3.694.548-5.538 1.112-14.747 4.517-22.905 19.878-18.388 34.623 4.516 14.746 19.88 22.906 34.627 18.39 14.747-4.517 22.905-19.88 18.388-34.626-3.705-12.096-14.708-19.758-26.683-19.63zm59.927 37.32c-10.896 4.32-22.572 6.188-34.155 5.577l3.088 88.683 89.608-3.845.002-.002c-11.84-3.584-23.366-9.783-33.47-19.176-21.715-20.182-30.53-47.91-25.072-71.236z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EchoRipples;

impl IconShape for EchoRipples {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M490.594 16.5C475.867 89.867 453.31 155.58 422.5 214.063c-21.152 25.636-62.322 41.665-103.53 34.375 43.72-60.817 65.875-137.485 56.75-217.813-16.566 59.05-35.182 107.876-58.876 150.063-15.774 16.782-43.006 26.035-71.03 17.562 32.043-43.75 48.387-99.21 41.78-157.375-10.346 33.145-23.852 63.82-40.313 92.094-14.07 15.776-39.033 24.72-64.843 17.186 21.468-29.682 32.4-67.153 27.938-106.437-8.185 18.823-17.562 36.73-28.063 53.718-13.755 11.638-44.94 9.03-68.406.906l-1.03-.78c12.087-18.074 16.897-41.415 11.655-66.783-4.187 11.166-9.265 21.824-15.186 31.94-10.587 17.13-38.888 3.862-57.5-8.782 15.907 14.915 32.82 40.912 17.375 58.53-8.39 7.818-17.43 15.142-27.095 21.938 23.353-.655 43.408-8.87 58.125-22.22 22.488 19.768 27.623 50.15 16.688 65.876-12.735 12.155-26.297 23.565-40.657 34.188 37.302-4.225 69.916-21.612 93.75-47l1.407 1.125c11.843 22.98 8.502 48.584-3.718 65.188-23.105 21.13-48.766 40.03-76.876 56.687 57.276-6.488 107.018-34.138 142.344-74.25l1.03.813c13.878 25.61 10.338 54.48-3.312 73.062-35.078 31.465-77.614 59.935-130.312 88.625 80.3-9.095 150.015-47.894 199.437-104.22 19.344 39.258 12.064 82.842-10.25 109.47-49.987 43.37-108.914 79.872-177.217 109.97C348.12 465.035 517.375 252.265 490.592 16.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eclipse;

impl IconShape for Eclipse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.688 18.5c-6.798 74.842-23.842 85.39-107.907 59.656 84.85 52.022 73.57 64.954-6.843 96.938 87.743-10.27 103.29 4.89 70.75 87.594 17.805-27.56 32.5-44.498 46.282-54.47-11.813 28.26-18.345 59.274-18.345 91.813 0 84.184 43.71 157.96 109.656 200.376-41.624-43.834-67.686-102.7-67.686-167.875 0-134.923 109.45-244.405 244.375-244.405 30.92 0 60.76 5.762 88 16.25-38.584-26.87-85.517-42.625-136.064-42.625-55.257 0-106.14 18.802-146.562 50.375 4.627-18.783 17.39-38.073 41.03-60.906C190.18 90.942 153.53 95.634 135.69 18.5zm10.03 77.188c5.67.002 11.428 1.247 16.876 3.874 14.506 6.998 22.72 21.81 22 36.938-10.26 10.87-19.507 22.696-27.594 35.344-9.035 2.753-19.075 2.27-28.25-2.156-19.37-9.343-27.5-32.6-18.156-51.97 6.715-13.92 20.638-22.036 35.125-22.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EclipseFlare;

impl IconShape for EclipseFlare {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.924 31.56l-6.252 41.475c-40.904 1.6-81.38 16.64-114.233 45.137l-81.67-60.63 60.593 82.1c-28.1 33.614-42.45 74.828-43.054 116.206l-47.24 6.984 47.573 7.17c2.384 38.934 16.966 77.26 43.765 108.758l-61.635 83.51 83.33-61.864c32.178 27.257 71.444 41.798 111.19 43.647l7.63 50.635 7.473-50.55c.853-.03 1.707-.052 2.56-.093-.843-.038-1.683-.09-2.524-.14l16.193-109.53c6.984-2.27 13.52-5.526 19.445-9.61l44.186 24.788L316.32 305.6c3.976-5.716 7.175-12.006 9.463-18.72L485.78 262.83l-45.147-6.654c-.54-42.053-15.258-83.957-44.194-117.907l59.556-80.22h-.002l-80.392 59.333C342.312 88.88 301.33 74.08 260.045 72.96l-6.12-41.4zm17.605 74.522c43.267 0 86.536 16.507 119.548 49.52 28.136 28.136 44.273 63.723 48.428 100.41l-113.322-16.705c-2.254-6.995-5.493-13.544-9.565-19.483l24.636-43.424-43.223 24.522c-6.234-4.44-13.163-7.962-20.603-10.358l-12.47-84.343c2.19-.084 4.38-.138 6.57-.138zm-29.22 2.54l-12.412 82.34c-6.844 2.33-13.244 5.61-19.046 9.69l-42.748-24.254 24.107 42.975c-4.184 6.01-7.52 12.652-9.83 19.76l-78.146 11.553c5.06-34.793 20.974-68.312 47.746-95.084 25.55-25.55 57.246-41.206 90.33-46.98zM102.462 274.948l80.318 12.105c2.36 6.865 5.676 13.28 9.796 19.09l-24.826 43.76 43.963-24.942c5.514 3.763 11.558 6.803 17.988 9.012l16.325 108.306c-34.42-5.222-67.54-21.073-94.045-47.58-33.063-33.062-49.568-76.415-49.517-119.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EclipseSaw;

impl IconShape for EclipseSaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.686 12.816c25.49 34.447 40.996 76.86 40.996 122.985 0 34.464-8.426 66.962-23.313 95.563-.652 1.252-1.313 2.5-1.99 3.737-7.566 13.934-16.807 27.053-27.62 39.03-.46.514-.918 1.03-1.383 1.538-.073.08-.148.156-.22.234-37.91 41.328-92.347 67.248-152.825 67.248-43.4 0-83.738-13.43-117.043-36.24v151.502c21.237 15.19 44.462 28.82 70.105 39.807-13.795-20.95-24.547-75.607-17.3-98.652 48.342 53.115 139.075 70.86 213.362 62.41-47.385-10.927-74.768-47.316-73.078-86.744 69.263 8.18 137.864 5.91 207.35-21.388-43.843 10.703-83.026-7.075-100.41-40.4 67.025-28.817 127.756-67.482 175.268-130.708-42.692 30.01-90.924 25.05-118.826-5.347 46.18-36.425 86.357-78.176 115.855-131.302-34.755 18.862-82.67 38.805-115.088 22.435 18.563-19.57 30.396-39.924 33.833-55.707H298.686zm19.01 92.575c-8.516 80.678-76.77 143.557-159.706 143.557-62.575 0-116.574-35.956-143.082-88.187v116.38c57.77 50.205 143.282 60.98 213.35 20.526C297.48 257.7 331.002 179.75 317.695 105.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EdgeCrack;

impl IconShape for EdgeCrack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.938 50.5l2.53 99.906 105.313 58.97L117.938 50.5zm260.906 22.594l-97.438 35.97L302.344 280l76.5-206.906zm115.22 78.75L360.154 211.78l67.563 119.75 5.655 10.064-11 3.47-82.063 25.78 57.438 49.25 23.75 20.375-31.03-4-254.22-32.814-35.406-4.562 33.094-13.375 127.187-51.345L173.5 295.03 19.75 363.907v130.656h474.313V151.844zm-357.783 50.47l-96.53 22.655 246.844 72.343-150.313-95z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EdgedShield;

impl IconShape for EdgedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M460.406 22.125l-10.47 1.25c-132.005 15.758-263.716 19.22-395.248.03L54 23.282H44v9.345c0 103.06 10.502 205.848 41.25 289.22 30.748 83.37 82.665 147.96 164.344 170.405l2.22.594 2.217-.47c89.592-19.1 142.168-83.93 171-168.155 28.835-84.225 35.376-188.492 35.376-291.595v-10.5zm-18.78 20.906c-.265 56.583-2.753 113.052-9.813 165.595l-97.282 41.28L417.22 285c-2.957 11.405-6.22 22.478-9.876 33.156-22.214 64.89-57.017 114.956-112.97 141.188l-41.843-98.375-40.75 95.842c-50.813-28.117-85.577-77.93-109-141.437-3.886-10.54-7.41-21.46-10.655-32.688l77.188-32.78-93.657-41.376c-8.595-52.263-12.39-108.494-12.812-165.186 49.124 6.71 98.217 10.326 147.28 11.406l42.595 100.188 42.843-100.782c48.718-1.684 97.41-5.558 146.062-11.125zM86.218 66.78c0 43.91 2.32 87.696 7.968 129.157l122.937 54.313-101.344 43.03c18.374 55.7 46.708 101.438 88.75 129.033l48.19-113.375 49.468 116.375c46.042-26.184 74.48-72.526 91.75-129.563l-107.22-45.5 126.313-53.625c4.576-41.822 6.064-85.915 6.064-129.844-36.633 4.374-73.274 7.63-109.906 9.44l-56.47 132.874L196.5 76.874c-36.768-1.483-73.514-4.73-110.28-10.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EggClutch;

impl IconShape for EggClutch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M191.75 36c-.61 0-1.205.03-1.813.063-19.428 1.067-38.773 19.964-52.562 50-6.317 13.76-11.322 29.556-14.72 46.156 17.484 7.632 32.42 23.69 44.314 43.624.655-1.813 1.332-3.606 2.03-5.375 13.44-34.055 35.15-61.243 65.094-64.532 1.87-.206 3.745-.3 5.594-.313 7.764-.057 15.32 1.54 22.593 4.5-4.258-10.827-9.193-21.016-14.655-30.125-16.466-27.458-36.948-43.967-55.875-44zm134.406 8.53c-1.23-.007-2.447.06-3.656.19-18.168 1.93-35.45 19.565-47.625 47.124 5 10.974 9.278 22.676 12.75 34.75 8.72 7.852 16.788 17.48 24.03 28.187 10.013 14.803 18.648 31.955 25.376 50.25 2.528-4.694 5.17-9.243 7.94-13.593 16.88-26.52 38.59-47.037 63.186-51.718-6.524-19.918-15.44-38.63-25.78-54.032-17.27-25.726-37.78-41.04-56.22-41.157zm-86.344 79.814c-1.23-.004-2.447.054-3.656.187-19.34 2.126-37.618 22.04-49.75 52.782-3.89 9.86-7.104 20.677-9.53 32.032 29.68.523 53.856 24.966 70.75 57 4.535 8.602 8.58 17.865 12.093 27.562 3.923-7.238 8.14-14.132 12.624-20.562 14.788-21.204 32.794-38.133 52.625-44.938-6.728-23.306-16.828-45.436-28.814-63.156-17.36-25.664-37.906-40.857-56.344-40.906zm-139.78 21.75c-13.674 0-27.782 8.808-40.313 24.187l25.655 14.845 5.72 3.28-1.19 6.47-4.155 22.875 11.094 10.594-12.875 13.53-14.782-14.06-3.626-3.5.907-4.94L70.343 198 49.03 185.687c-1.436 2.404-2.854 4.883-4.218 7.47-15.416 29.233-25.218 68.456-25.218 105.155 0 36.32 23.966 65.417 57.312 74.72 1.153-37.705 11.2-76.254 27.25-106.688 13.374-25.36 31.34-45.97 52.97-53.72.685-3.718 1.438-7.396 2.28-11.03-1.338-2.893-2.717-5.71-4.156-8.438-15.416-29.233-35.76-47.062-55.22-47.062zm318 11.344c-19.202.582-40.093 16.975-57.313 44.03-4.662 7.324-9.003 15.338-12.94 23.845.935.067 1.88.165 2.814.28 29.895 3.718 51.205 31.196 64.156 65.438 11.4 30.14 16.72 66.696 14.47 102.064 33.922-8.08 60.06-36.513 62.936-71.72 3.093-37.845-3.716-79.103-17.156-110.562-13.44-31.458-32.94-51.63-53.156-53.28-1.264-.104-2.533-.133-3.813-.095zM175.905 228.03c-19.458 0-39.802 17.8-55.22 47.032-15.415 29.234-25.217 68.49-25.217 105.188 0 44.28 35.612 77.875 80.436 77.875 24.69 0 46.663-10.8 61.375-27.656-5.878-14.5-8.246-30.682-6.155-47.5 2.715-21.84 8.586-43.758 16.813-64.064-4.268-15.86-9.988-30.842-16.844-43.844-15.417-29.233-35.73-47.03-55.188-47.03zm168.72 15.876c-1.23-.015-2.47.038-3.72.156-17.48 1.666-36.676 16.25-53.22 39.97-18.904 27.107-33.47 64.832-37.998 101.25-5.464 43.944 25.704 81.687 70.187 87.218 44.293 5.508 84.182-25.098 89.438-67.375 4.527-36.418-.34-76.556-12.032-107.47-.635-1.682-1.294-3.317-1.967-4.936l-30.094 24.342 7.092 7.594-13.656 12.75L344.72 322.5l-6.845-7.344 7.813-6.312 41.093-33.28c-10.798-18.223-24.287-29.64-38.5-31.408-1.206-.15-2.425-.234-3.655-.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EggDefense;

impl IconShape for EggDefense {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M187.53 19.813c-7.494.11-15.638 1.296-24.343 3.656C107.48 38.57 50.07 95.98 34.97 151.687c-15.102 55.708 17.82 88.632 73.53 73.53C164.21 210.12 221.618 152.71 236.72 97c12.74-47.004-8.713-77.787-49.19-77.188zm106.064.25c17.368 69.213-3.744 149.306-61.813 207.375-57.893 57.894-137.616 78.902-206.686 61.812 75.073 36.3 167.67 23.735 229.937-38.53 62.39-62.39 75.13-155.505 38.564-230.657zm75.78 17.406c15.67 62.43 5.623 132.136-29.405 192.81l46.936 46.657-66-17.875c-5.573 7.407-11.568 14.613-17.97 21.594l33.377 57.438-57.875-33.625c-4.864 4.196-9.85 8.19-14.907 12l19.126 70.56-50-50.28C172.688 370.7 104.12 380.333 42.53 365.094c58.39 28.233 125.507 32.17 186.126 11.562l110.25 110.875-35.156-129.624 117.688 68.375-74.125-127.56 141.937 38.467L379.625 228.22c22.275-61.897 18.833-130.98-10.25-190.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Elderberry;

impl IconShape for Elderberry {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M58.576 29.404c-40.888-1.14-53.564 70.543-6.728 70.688v.004c37.58.117 70.66 6.477 100.36 17.787 8.646 83.748-16.3 168.856-68.78 232.12-4.372-1.542-9.154-2.13-14.065-1.524-16.997 2.09-29.08 17.585-26.984 34.61 2.093 17.025 17.57 29.128 34.567 27.037 16.997-2.09 29.08-17.585 26.987-34.61-.657-5.333-2.628-10.184-5.547-14.267 25.99-31.51 45.522-67.927 58.008-106.826 10.044 47.533 12.96 97.372 8.417 142.71-17.478 2.5-29.817 18.56-27.648 36.192 2.196 17.85 18.426 30.54 36.246 28.348 17.82-2.193 30.49-18.437 28.293-36.287-1.413-11.486-8.642-20.83-18.363-25.453 6.096-58.798.078-123.915-17.162-183.442 5.808-29.49 7.716-59.895 5.513-90.26 9.94 4.74 19.49 10.056 28.7 15.893 12.64 47.223 11.675 92.14 9.204 137.854 16.453-39.2 20.673-79.568 17.25-119.003 15.312 12.155 29.7 25.788 43.435 40.584l1.454 8.67c9.375 55.83 1.86 111.615-15.7 165.243-.74-.053-1.484-.09-2.237-.09-17.125 0-31.01 13.903-31.01 31.056s13.885 31.056 31.01 31.056 31.01-13.903 31.01-31.057c0-9.69-4.434-18.344-11.38-24.04 16.417-49.76 24.738-101.978 19.428-154.87 14.344 17.527 28.09 36.245 41.608 55.708l.777 7.196c4.844 44.835 2.982 89.25-2.258 133.62-18.948 2.78-33.5 19.12-33.5 38.87 0 21.702 17.567 39.293 39.233 39.293 21.666 0 39.23-17.59 39.23-39.293 0-17.18-11.013-31.774-26.35-37.113 4.5-38.298 6.568-76.987 4.032-116.214 25.97 21.178 45.51 44.763 66.672 68.65-2.312 4.347-3.628 9.304-3.628 14.572 0 17.154 13.885 31.057 31.01 31.057s31.01-13.903 31.01-31.057c0-17.15-13.885-31.056-31.01-31.056-5.053 0-9.818 1.218-14.034 3.365-22.4-25.39-44.186-51.934-75.277-75.7-11.335-19.128-23.13-37.694-35.5-55.548 35.69 14.514 74.107 34.817 101.357 56.458-1.533 3.916-2.383 8.174-2.383 12.635 0 19.134 15.487 34.642 34.59 34.642 19.102 0 34.59-15.508 34.59-34.642 0-19.132-15.488-34.643-34.59-34.643-7.707 0-14.823 2.525-20.573 6.793-36.876-30.005-89.47-54.557-133.137-68.998-13.875-18.21-28.465-35.533-43.893-51.81 47.205-10.508 96.006-9.74 135.895 2.312-.835 3.162-1.284 6.48-1.284 9.906 0 21.355 17.285 38.664 38.605 38.664 21.32 0 38.605-17.31 38.605-38.664 0-21.352-17.285-38.662-38.605-38.662-11.034 0-20.978 4.644-28.014 12.077-25.67-8.318-54.27-12.187-83.776-11.744-.383.006-.767.022-1.15.03 10.446-9.026 21.284-16.437 32.43-23.65 4.025 2.793 8.91 4.435 14.18 4.435 13.768 0 24.93-11.18 24.93-24.973 0-13.79-11.162-24.97-24.93-24.97-13.77 0-24.935 11.178-24.935 24.97 0 1.68.166 3.32.482 4.906-16.988 10.997-34.407 23.23-50.918 41.15-15.644 1.734-31.348 4.637-46.824 8.68-49.1-47.832-106.518-85.246-175.96-107.43-3.85-1.23-7.52-1.85-10.984-1.946z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElectricWhip;

impl IconShape for ElectricWhip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.484 39.262c49.142 2.758 98.444 7.823 147.96 15.924l-6.188-37.095L298.61 124.75l8.177-41.976L421.17 255.672l32.39-29.328-4.658 171.826 45.943 6.657-128.062 62.762 28.438 25.59-234.395-2.697c405.34-23.83 225.85-392.453-143.335-451.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ElectricalCrescent;

impl IconShape for ElectricalCrescent {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.172 27.03l-.004.005-66.578 25.697 50.226 2.918-.584 24.53c.726 12.525 5.523 14.74 18.106 12.85l83.516-15.186-56.65 39.13c-19.067 12.847-2.43 27.668 24.53 28.034l112.13 10.512-87.6 33.287c-23.595 8.37-10.043 38.75 12.263 49.642l86.434 39.712-89.94 2.92c-30.218.486-35.565 13.945-15.768 33.873l99.87 96.363-126.15-68.914c-25.672-12.57-41.764-.86-36.208 18.104l22.775 66.578-56.65-59.568c-12.143-13.383-38.997-16.92-40.296.578l-6.424 63.074-19.857-67.746c-3.372-15.715-31.885-25.995-38.545-11.68L79.152 406.64l3.504-65.994c2.903-14.986-8.96-28.388-24.53-14.6L32.43 345.32l-15.184-49.056 2.918 68.914 35.625-9.346 6.425 103.955 58.4-65.992 54.315 97.53 22.777-89.354 110.377 89.352-15.768-95.777 197.397 79.426-124.395-157.685 117.973-19.27-136.075-90.525 121.476-51.392-152.426-43.22 74.17-65.41-147.172 22.194-4.09-42.633zM137.42 91.446c8.008 3.085 15.954 6.974 23.695 11.692 54.57 33.253 78.314 94.91 53.03 137.715-25.28 42.802-90.01 50.54-144.58 17.286-22.038-13.43-39.044-31.49-49.83-51.072 1.372 6.19 3.247 12.407 5.628 18.604 12.02 31.28 36.836 61.6 71.633 82.863 34.798 21.262 72.684 29.257 105.334 25.348 32.65-3.91 59.756-19.373 75.002-45.254 15.247-25.884 15.917-57.697 3.898-88.978-12.018-31.28-36.833-61.6-71.63-82.863-23.506-14.364-48.42-22.668-72.18-25.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmberShot;

impl IconShape for EmberShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M105.113 21.303c-1.034-.015-2.07-.013-3.105.006v-.003c-9.466.168-19.305 1.977-28.83 5.19 52.08 2.52 85.738 22.703 96.87 58.812C109.856 51.663 23.21 50.762 17.825 218.503c4.654-24.187 12.24-42.658 21.91-56.506 1.452 60.194 39.912 153.326 126.848 191.432C25.53 238.15 46.6 12.83 226.555 190.828c-17.528 3.248-33.786 13.22-46.705 28.832 40.82 3.046 79.194 32.62 114.744 86.49-13.16-10.622-39.578-4.165-52.47 4.038 34.233 13.687 60.515 46.612 63.425 80.722 2.653 31.13 9.728 52.008 24.436 64.543 16.382 19.37 40.845 31.7 68.116 31.7 44.674 0 81.825-33.08 88.226-76.014 13.92-59.877-7.103-150.928-42.392-205.32-1.33 33.756-9.516 48.257-24.795 64.004 4.843-45.456-4.917-82.556-37.48-127.43-2.958 20.896-6.127 41.78-23.062 50.74-17.134-47.644-70.686-97.153-122.24-140.113 16.883 28.56 35.38 56.712 39.785 92.257C232.59 88.597 170.257 22.23 105.113 21.303zM323.387 222.07c9.62 0 17.422 7.8 17.422 17.422s-7.802 17.422-17.423 17.422c-9.622 0-17.42-7.8-17.42-17.422 0-9.62 7.798-17.422 17.42-17.422zm50.71 11.39c12.203 0 22.094 9.893 22.094 22.095 0 12.202-9.89 22.093-22.092 22.093-12.202 0-22.092-9.89-22.092-22.093 0-12.202 9.89-22.094 22.092-22.094zm-35.95 50.07c10.45 0 19.38 6.474 23.02 15.626 6.004-6.568 14.64-10.69 24.24-10.69 18.13 0 32.83 14.7 32.83 32.83 0 3.02-.417 5.944-1.18 8.722 29.79 8.246 51.56 35.455 51.56 67.933 0 39.056-31.462 70.515-70.515 70.515s-70.514-31.46-70.514-70.514c0-24.234 12.122-45.538 30.65-58.22-2.384-3.508-4.11-7.498-4.992-11.796-4.18 3.22-9.415 5.14-15.1 5.14-13.68 0-24.77-11.09-24.77-24.77 0-13.682 11.09-24.773 24.77-24.773zm109.052 8.038c9.62 0 17.42 7.8 17.42 17.422s-7.8 17.422-17.42 17.422c-9.622 0-17.423-7.8-17.423-17.422 0-9.62 7.8-17.422 17.422-17.422z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmbrassedEnergy;

impl IconShape for EmbrassedEnergy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179.813 20.72v81.25L135.78 75.624l17.564 46.938-115.656-20.938 84.718 49.906H20v27.345l110.47 14.875 96.593-29.188c-11.303-11.87-18.594-30.743-18.594-52 0-35.926 20.87-65.062 46.624-65.062 25.753 0 46.625 29.136 46.625 65.063 0 20.847-7.038 39.375-17.97 51.28l99.03 29.907 112.5-15.156V151.53H394.19l84.718-49.905-120.437 21.78 17.874-47.718-48.656 29.126V20.72H179.813zM495.28 223.343l-112.5 22.437-55.405-13.124-28.03 118.313 16.592 145h51.688L329.25 351.22l46.53 27.842-21.31-56.937 124.436 22.5-91.125-53.688h107.5v-67.593zM20 223.75v67.188h108.813l-91.125 53.687L157.31 322.97 136.345 379l38.47-23-28.595 139.97h48.155L207.28 351.56 185.595 232.72l-55.125 13.06L20 223.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Embryo;

impl IconShape for Embryo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155.438 19.5C68.19 19.8-9.625 69.345 35.844 201.97 32.27 496.225 347.166 562.74 464.563 436.905c53.174-56.998 23.19-140.387-24.25-169.375-62.327-38.087-139.313 16.983-97.72 79.19.018.025.014.066.032.092 1.02 2.665 2.776 5.37 5.156 7.75 6.42 6.42 15.11 8.14 19.408 3.844 4.296-4.296 2.576-12.986-3.844-19.406-5.192-5.192-11.864-7.308-16.5-5.656.23-50.15 44.233-67.99 77.72-46.813 47.97 30.337 50.553 115.56 5.842 139.564-30.397 16.32-59.684 21.25-87.03 18.187-5.354 12.634-15.922 22.59-28 25.97v-.03c21.02-26.908 18.78-49.063 5.312-63.564-2.165-1.51-4.628-2.734-7.344-3.625-11.528 25.217-42.772 32.596-62.438 21.533 38.703-4.754 51.6-26.596 48.25-49.75-5.023-26.47-26.048-48.604-51.75-60.063-23.187 2.71-46.4 1.498-66.062-3.313-.21.082-.417.166-.625.25-.076-.146-.146-.29-.22-.437-8.983-2.256-17.182-5.287-24.28-9.03 6.056.94 12.24 1.436 18.56 1.436 39.97 0 75.368-19.515 97.22-49.53-.238-.132-.482-.24-.72-.376-19.607-11.367-22.72-38.466-10.5-59.72 8.88-15.44 24.498-25.406 39.908-25.343.497.003 1.003.01 1.5.032 4.08.188 8.113 1.107 12 2.81 63.24-82.44-54.468-152.387-158.75-152.03zm26.78 142.625c29.348 0 53.345 23.997 53.345 53.344 0 29.346-23.997 53.343-53.344 53.343-29.348 0-53.345-23.997-53.345-53.344 0-29.348 23.997-53.345 53.344-53.345zm0 18.688c-19.246 0-34.655 15.41-34.655 34.656s15.41 34.655 34.656 34.655 34.655-15.41 34.655-34.656c0-19.248-15.41-34.657-34.656-34.657zm118.657 6.656c-8.09-.138-17.748 5.165-23.906 15.874-8.212 14.278-4.986 29.24 3.655 34.25 8.64 5.008 23.1.372 31.313-13.906 8.21-14.28 4.952-29.242-3.688-34.25-2.16-1.253-4.678-1.924-7.375-1.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Emerald;

impl IconShape for Emerald {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M310.375 16.75L89.405 75.72l58.126 50.905L282.563 90.28l2.032-.53 25.78-73zm17.063 7.844l-27.157 76.812 91.69 91.875 95.624-8.78L327.438 24.594zm-41.813 12.062l-8.594 33.657c-.28-15.516-38.03-17.018-107.56-4.376l116.155-29.28zm51.063 14.625l123.5 123.407-58.844 7.563c16.2-21.37-32.277-91.112-64.656-130.97zM74.75 87.72L15.594 308.405l79-31.47 37.28-139.155L74.75 87.72zm207.438 22l-133.032 35.81-35.72 133.376 97.25 97.53 133.064-35.81 35.72-133.376-97.283-97.53zm-201.72 5.686l32.844 30.5-30.156 118.97-39.03 15.812c50.817-30.543 65.667-130.132 36.343-165.282zm195.876 14.78L359 213.377l-30.156 113.81-44.688 11.97c119.527-107.872-34.816-238.375-131.5-140.875l9.875-37.405 113.814-30.688zM490.564 203l-92.877 8.53-35.968 134.19 71.342 71.842L490.563 203zm-17.283 13.875L444.03 333.03c6.73-68.874-.03-90.85-30.655-111.5l59.906-4.655zm-371.155 77.188L20.22 326.688l161.75 161.468 17.31-96.72-97.155-97.373zm.094 20l78.124 82.437-7.438 61.375c-5.23-44.565-28.34-85.92-70.687-143.813zm246.124 44.687l-130.53 35.125-17.564 98.188 221.688-59.157-73.594-74.156zm18.625 42.5l24.28 24.844-115.22 32.72c61.28-26.446 83.34-37.418 90.94-57.564z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EmptyHourglass;

impl IconShape for EmptyHourglass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M388.656 21.406L76.876 72.063 80.56 95l311.813-50.656-3.72-22.938zM375.312 66.03l-18.437 3 16.25 100.282c-7.01 4.713-11.034 13.208-9.594 22.094.474 2.913 1.5 5.587 2.94 7.97 5.55-4.228 12.173-7.207 19.5-8.407h.06c2.25-.367 4.475-.546 6.69-.564.737-.006 1.485 0 2.217.03 4.273.182 8.436.995 12.375 2.345.62-2.72.724-5.61.25-8.53-1.433-8.843-7.885-15.59-15.968-17.875L375.314 66.03zM332.406 73L148.25 102.938c9.082 42.138 25.73 78.544 45.72 103.843 22.553 28.546 48.246 42.31 71.874 38.47 23.628-3.84 43.653-25.027 56.03-59.25 10.974-30.34 15.237-70.14 10.532-113zM123 107.03l-18.438 3 16.344 100.72c-6.837 4.75-10.734 13.14-9.312 21.906.457 2.82 1.446 5.43 2.812 7.75 5.593-4.288 12.283-7.297 19.688-8.5 2.25-.365 4.474-.545 6.687-.562.74-.006 1.488 0 2.22.03 4.293.183 8.482.983 12.438 2.345.56-2.633.644-5.403.187-8.22-1.456-8.977-8.087-15.82-16.344-18L123 107.03zm269.938 102.032c-1.288.012-2.592.13-3.907.344-14.024 2.28-23.4 15.275-21.124 29.313 2.276 14.036 15.257 23.403 29.28 21.124 14.026-2.28 23.402-15.275 21.127-29.313-1.992-12.282-12.182-20.98-24.094-21.436-.427-.017-.853-.035-1.283-.03zM141 250c-1.287.012-2.59.13-3.906.344-14.025 2.28-23.4 15.275-21.125 29.312 2.275 14.038 15.255 23.404 29.28 21.125 14.025-2.278 23.4-15.274 21.125-29.31-1.99-12.284-12.182-20.982-24.094-21.44-.424-.015-.85-.034-1.28-.03zm134.656 13.844c-2.244.054-4.472.265-6.687.625-23.63 3.84-43.654 25.057-56.033 59.28-11.165 30.868-15.416 71.534-10.312 115.25L387 409.062c-8.967-43.092-25.812-80.345-46.156-106.093-19.735-24.98-41.883-38.67-62.938-39.126-.752-.017-1.502-.018-2.25 0zm144.094 6.03c-5.567 4.238-12.213 7.213-19.563 8.407-7.386 1.2-14.665.472-21.312-1.81-.606 2.7-.72 5.57-.25 8.467 1.447 8.927 7.996 15.75 16.188 17.97l16.562 102.187 18.438-3-16.594-102.313c6.896-4.736 10.864-13.16 9.436-21.967-.47-2.896-1.477-5.567-2.906-7.938zm-252.063 41.032c-5.54 4.187-12.143 7.128-19.437 8.313-7.352 1.193-14.597.476-21.22-1.783-.666 2.79-.83 5.742-.343 8.75 1.427 8.8 7.816 15.528 15.844 17.844l16.532 102.064 18.438-3-16.53-101.875c7.103-4.692 11.2-13.24 9.75-22.19-.484-2.975-1.542-5.71-3.032-8.124zM452.844 417.28L141.063 467.94l3.687 22.937 311.813-50.656-3.72-22.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Energise;

impl IconShape for Energise {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M280.938 19.22l-21.094 64.468L204.78 48l6.47 87.313-85.094-55.97 47.78-14.874-72.06-43.75h-79.47v63.343l96.938 46.093-58.78 17.5L189.5 225.78 94.594 229l73.906 47.125-102.75 41.813 84 24.812-66.78 78.22 96.56-25.283 11.19 98.188 65.093-76.72 47.375 76.126 18.343-72.842 47.564 24.718-10.563-117 84.626 51.28-50.47 7.252L492.5 456.03l1.03-82.5-63.31-53.436 54.967-4.594-100.906-66.375 85.158-38.656-72.282-24.314 70.47-34.625-57.907-20.06 44.53-51.5-80.906 14.343 5.97-70.657-61.158 58.5-37.22-62.937zm-1.407 72.25l9 2.405 68.22 18.28 9.03 2.44-2.405 9.03-2.28 8.5L383.03 138l9.033 2.406-2.438 9.03-65.03 242.75-2.408 9.033-9.03-2.44L183 363.907l-9.03-2.406 2.405-9.03 65.063-242.75 2.406-9 9.03 2.405 21.94 5.875 2.28-8.5 2.437-9.03zm13.064 22.75l-4.78 17.78-17.877-4.78.032-.126-12.908-3.47-60.218 224.657 112.094 30.033 60.218-224.657-12.906-3.47-.03.158-17.908-4.813 4.782-17.78-50.5-13.53zm-22.125 32.5l75.5 20.218-27.033 100.812-23.78-10.72 17.624-33.717-55.874-25.938 13.563-50.656zm-27.72 103.405l24.22 10.938-13.595 25.687 52.844 28.438-10.72 40-75.47-20.22 22.72-84.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EnergyArrow;

impl IconShape for EnergyArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.066 17.832l9.3 55.445-43.282-40.412h-.002L36.064 46.88l38.424 41.155-52.37-8.252 52.695 76.11 58.958-4.364 166.484 178.314-48.95-9.89 77.725 61.44-117.69-14.316 84.664 35.246-42.86 16.95 64.217 19.97-33.862 25.36 182.43 20.84 28.435 8.845-5.28-16.98-4.808-15.464-20.51-182.217-25.894 32.993-18.518-59.56-17.04 43.1-35.177-93.468-1.87 110.494-63.757-91.374 10.5 55.594-155.776-145.44 4.596-62.093-76.762-52.045zM268.27 71.254l142.714 156.144 30.81 14.963-10.304-62.438L268.27 71.254zm-62.377 12.81l92.97 115.235 36.477-.935-14.836-35.195-114.61-79.106zM42.018 212.884L160.42 419.7l55.393 19.765-8.333-36.324L42.018 212.884zm92.117 23.08l46.824 83.112 47.577 18.723-17.23-41.66-77.172-60.175zm283.107 73.255l48.72 156.665-156.665-48.72 77.36-30.59 30.585-77.356z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EnergyBreath;

impl IconShape for EnergyBreath {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.094 18.738l2.648 324.412c18.77-2.59 45.98-7.852 64.945-12.642-64.106-101.55-51.257-197.104 2.327-249.63 53.662-52.602 146.447-59.914 233.177 7.337 4.84-9.857 10.42-22.838 16.794-36.006 5.47-11.3 11.646-22.644 18.895-32.767l-338.786-.705zm474.963 4.528v.004c0-.002 0-.003.002-.004h-.003zm0 .004c-61.196 95.76-153.25 141.768-246.823 130.314l.018-.09c-44.04-8.138-80.08-48.272-88.258-90.97l-5.1.978c-4.382 1.34-8.652 2.905-12.804 4.674 5.02 23.956 17.053 46.75 34.045 64.994-23.395-10.524-46.4-24.868-68.545-43.14-1.53 1.363-3.03 2.76-4.494 4.195-10.57 10.36-19.463 22.714-26.19 36.744 78.998 89.616 102.237 198.926 67.586 288.587a19.04 19.04 0 0 1 .024 0 19.04 19.04 0 0 1 18.494 19.04 19.04 19.04 0 0 1-33.54 12.434c-8.678 15.057-19.207 29.335-31.603 42.613h87.746c39.76-99.513 23.982-199.025-19.246-298.538 67.318 99.592 90.826 196.925 82.403 298.538h40.86c6.338-49.1-1.414-99.91-17.83-151.262 27.98 51.95 42.662 101.905 46.167 151.263h80.418c-7.116-82.67-59.353-161.448-136.016-238.282 51.847 37.27 99.116 74.24 137.67 113.58a28.06 28.06 0 0 1 26.353-16.5 28.06 28.06 0 0 1 27.253 28.064 28.06 28.06 0 0 1-19.53 26.857c21.467 27.107 38.57 55.61 50.107 86.283h10.834v-251.73c-90.946 14.794-178.154.85-267.36-51.786 28.81 10.04 57.617 17.515 86.426 21.637a15.033 15.033 0 0 1-.81-4.73 15.033 15.033 0 0 1 15.472-15.026 15.033 15.033 0 0 1 14.594 15.027 15.033 15.033 0 0 1-2.124 7.608c51.267 3.417 102.534-4.68 153.8-28.997V132.79c-13.638 7.018-27.81 13.495-42.56 19.394a19.04 19.04 0 0 1-32.117 11.59c-23.378 7.59-48.116 13.84-74.41 18.585 23.985-9.113 46.94-19.303 68.655-30.768a19.04 19.04 0 0 1-.072-1.617 19.04 19.04 0 0 1 19.588-19.04 19.04 19.04 0 0 1 10.442 3.51c17.903-11.117 34.778-23.286 50.475-36.648V23.27zM195.8 57.664c-5.448-.005-10.796.308-16.036.904l95.56 65.895 18.936-34.887c-34.17-22.12-67.845-31.884-98.46-31.912zM63.72 196.322c.062 32.42 9.328 68.888 30.667 107.545l22.33-13.244-52.996-94.3zm329.33 88.944a19.04 19.04 0 0 1 18.493 19.043 19.04 19.04 0 1 1-38.082 0 19.04 19.04 0 0 1 19.59-19.044z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EnergyShield;

impl IconShape for EnergyShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.31 17.707C210.816 17.31 166 23.734 127.038 36.57l-6.42 2.116v60.978l-76.463 41.822 1.54 6.866c25.895 115.578 95.61 228.743 205.44 333.564l6.473 6.178 6.452-6.2C370.945 379.166 438.893 267.838 463.43 152.12l1.388-6.552-77.142-45.82V42.072l-6-2.3c-37.692-14.448-81.87-21.668-126.365-22.065zM244.8 36.77v63.642l-52.33 30.5-53.163-30.644v-47.89c5.96-1.814 12.082-3.46 18.318-4.964-1.59 4.072-2.473 8.498-2.473 13.133 0 19.957 16.18 36.135 36.137 36.135 19.956 0 36.134-16.178 36.134-36.135 0-8.574-2.993-16.447-7.983-22.643 8.414-.628 16.883-1.005 25.36-1.133zm18.69.12c8.22.235 16.405.72 24.514 1.438-4.788 6.13-7.65 13.84-7.65 22.22 0 19.956 16.18 36.134 36.136 36.134 19.957 0 36.137-16.178 36.137-36.135 0-3.88-.62-7.61-1.75-11.113 6.194 1.72 12.248 3.607 18.11 5.683v45.264l-52.454 30.237-53.043-30.912V36.89zm88.828 94.67c-4.048 6.168-6.41 13.54-6.41 21.47 0 21.642 17.546 39.19 39.19 39.19 21.643 0 39.19-17.548 39.19-39.19 0-3.705-.527-7.284-1.487-10.68l20.82 12.365c-10.61 46.76-28.647 92.954-53.91 138.265v-48.597l-63.11-36.78v-61.216l25.718-14.826zm-194.37 1.024l24.76 14.273v61.454l-61.894 36.073v44.388c-25.66-45.406-44.112-91.46-55.2-137.72l22.382-12.24c-1.72 4.41-2.672 9.2-2.672 14.22 0 21.642 17.546 39.19 39.19 39.19 21.643 0 39.19-17.548 39.19-39.19 0-7.494-2.107-14.493-5.755-20.446zm65.234 2.06c-2.228 4.693-3.48 9.94-3.48 15.48 0 19.956 16.18 36.134 36.136 36.134 19.957 0 36.137-16.178 36.137-36.135 0-4.878-.973-9.528-2.725-13.773l17.844 10.398v62.04l-51.832 30.208-53.666-31.277v-60.495l21.586-12.58zM161.436 242.34c-2.12 4.637-3.313 9.79-3.313 15.22 0 20.238 16.407 36.645 36.645 36.645 20.237 0 36.644-16.407 36.644-36.644 0-4.21-.717-8.25-2.023-12.013l16.428 9.576v56.035L188 344.814v41.61c-17.932-22.006-34.1-44.252-48.498-66.682v-64.62l21.934-12.782zm123.822.806c-1.895 4.425-2.95 9.296-2.95 14.415 0 20.238 16.407 36.645 36.645 36.645 20.238 0 36.645-16.407 36.645-36.644 0-4.487-.81-8.784-2.286-12.757l17.71 10.32v69.123c-14.053 22.063-29.835 43.898-47.333 65.463v-44.896l-58.983-34.332v-55.36l20.55-11.976zm-57.56 100.184c-2.492 4.65-3.91 9.962-3.91 15.608 0 18.27 14.813 33.082 33.083 33.082 18.27 0 33.083-14.812 33.083-33.082 0-4.976-1.106-9.69-3.074-13.924L305 355.56v56.323c-14.762 16.9-30.56 33.627-47.44 50.158-18.152-17.645-35.098-35.5-50.873-53.526V355.56l21.012-12.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EnergySword;

impl IconShape for EnergySword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M491.313 21.406C331.102 120.193 194.688 226.866 70 350.906c29.11-21.616 63.387-37.86 103.875-49.28 40.95-60.157 100.923-106.7 170.844-130.157-23.522 69.8-70.747 130.135-131.314 171.25-9.76 38.353-26.835 69.38-48 96.374C289.153 314.63 403.748 181.7 491.312 21.406zM132.656 345.5v.344c-30.526 52.844-71.12 87.318-115.437 115.47-4.89 28.29 9.777 39.067 34.75 34.56 30.594-51.69 68.69-88.052 115.436-115.468 0-19.56-12.363-34.906-34.75-34.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EngagementRing;

impl IconShape for EngagementRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.938 17.97c-13.894.144-26.622 4.908-40.188 15.75 7.633 73.023 19.398 143.54 37.875 209.936-10.574.948-21.165 1.938-31.75 2.938-33.053-48.484-54.967-99.41-79.625-149.688-9.44-1.246-22.32 1.357-33.156 7.313-11.402 6.266-19.932 15.677-22.438 25.343C71.46 196.07 111.698 266.145 154 327.28c9.054 11.43 17.052 23.375 24.875 35.25l2.875 4.064-.28-.125c6.728 10.225 13.405 20.334 20.593 29.905l-14.938 11.22c-14.106-18.783-25.76-38.085-38.5-55.97-38.74-17.315-76.235-28.38-99.406-25.656-11.762 1.382-19.233 5.41-24.19 13.405-4.422 7.136-6.682 18.965-5.124 36.22 79.18 19.67 123.834 59.914 154.406 86.186 12.823 11.02 25.426 21.245 40.875 29.876h123.907c31.69-13.563 55.702-35.645 61.187-62.594 4.722-23.186 16.166-62.177 21.658-85.53 8.962-38.116 26.388-84.71 41.875-121.813 7.743-18.553 14.995-34.673 20.5-46.157 2.752-5.743 5.072-10.326 6.875-13.594.196-.358.347-.582.53-.907-4.203-10.426-12.018-20.034-21.25-26.125-9.175-6.056-18.988-8.51-27.218-6.813-22.354 39.967-42.723 81.287-57.344 129.28-8.878-3.5-17.872-6.378-27-8.717-.572-13.23-.715-26.318-.437-39.25l-63.283-6.657c-.43 12.35-.513 24.76-.25 37.22-8.34-.305-16.75-.336-25.187-.188C252.074 167.83 240.845 96.008 238.062 24c-9.497-3.54-18.01-5.662-26.03-5.97-.103-.003-.21-.027-.313-.03-.94-.03-1.856-.04-2.782-.03zm133.28 5.593c-8.137-.057-15.44 1.7-20.343 4.75-9.082 35.02-16.254 70.32-20.938 106l62.844 6.625c4.51-33.684 11.667-66.423 20.876-98.344-6.824-8.614-18.617-15.165-30.97-17.782-3.885-.823-7.768-1.224-11.467-1.25zm-55.624 128.093c-.466-.016-.91-.002-1.313.03-2.424.2-3.8 1.24-5.31 2.97-2.017 2.31-3.667 6.495-4 11.094-.336 4.6.67 9.41 2.374 12.47 1.703 3.058 3.323 4.302 6.156 4.624l85.438 9h.125l.125.03c4.954.658 7.17-.55 9.343-2.81 2.173-2.264 3.885-6.28 4.25-10.75.367-4.472-.633-9.162-2.5-12.283-1.83-3.063-3.906-4.732-7.592-5.25l-.188-.03-85.313-8.97h-.093c-.545-.06-1.034-.107-1.5-.124z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Enlightenment;

impl IconShape for Enlightenment {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.828 15.982l-29.2 136.08-56.74-75.652 7.78 90.4-49.154-24.68 22.19 49.643-67.16-13.433 57.817 70.668-55.48-10.514 35.634 26.608c29.894.77 62.017-2.565 90.597 4.35 18.697 4.522 36.167 14.302 48.255 32.74.414.632.82 1.274 1.22 1.923.402-.65.806-1.29 1.22-1.922 12.088-18.44 29.558-28.22 48.254-32.742 27.64-6.685 58.596-3.782 87.643-4.28l35.25-26.676-42.05 8.178 41.468-80.596-59.507 19.852 19.092-77.352-57.234 59.867 6.055-109.607-46.232 97.31-39.715-140.164zM92.236 281.787L50.27 311.02l207.343 72.68L464.95 310.67l-40.99-28.88c-42.595 7.18-92.04-5.54-126.02 10.345l-.116.05-.013.008c-5.226 2.37-9.962 5.418-14.255 9.382-7.564 6.774-13.817 16.048-18.36 28.694l-7.777 13.763-7.158-12.67c-5.434-15.833-13.453-26.5-23.324-33.637-.157-.114-.316-.22-.473-.332-.63-.446-1.267-.883-1.912-1.302-33.565-21.772-86.63-6.6-132.314-14.3zm-64.26 41.3L21.81 340.73l190.67 66.674v17.817h91.55v-18.687h-.055L492.15 340.73l-6.168-17.642-205.658 71.918 4.03 11.527h-54.75l4.03-11.527-205.657-71.918z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EntMouth;

impl IconShape for EntMouth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.873 17.254v476.558h176.373L315.14 355.4l-137.83 63.075 70.667-108.043-31.43 16.517c13.426-76.567 48.536-132.702 102.05-197.208l-11.85 112.803 71.17-140.2-6.72 151.587L470.27 77.254c12.35-17.27 20.207-38 24.748-60H17.873zm216.71 55.97L213.02 179.57l73.123-103.343-21.637 93.414c-35.604 51.076-59.427 102.66-68.56 168.135l-62.436 32.81 63.072-89.355-117.97 56.065-37.962-65.992c10.632-76.265 43.808-139.937 99.284-191.56l94.648-6.518z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EntangledTyphoon;

impl IconShape for EntangledTyphoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.38 21.66c-96.948-.878-173.34 86.818-197.982 179.76 0 .002 0 .004-.002.006-6.326 18.67-9.757 38.666-9.757 59.455 0 2.836.074 5.654.2 8.458-17.562-55.274-17.086-137.757 20.086-206.48C2.272 126.67-9.832 299.917 100.182 398.58c-22.78-2.325-46.352-9.837-70.147-24.225 78.56 96.676 160.54 101.437 227.393 91.487-23.15 12.557-50.73 19.886-83.272 19.228 92.947 37.552 157.73-7.642 194.62-60.908-3.368 19.416-10.61 39.33-22.75 59.406 75.302-61.19 94.838-124.455 95.097-181.033 5.027 52.445-7.262 120.805-55.344 191.85 137.474-80.25 141.267-308.97-44.49-397.783-1.718-.905-3.454-1.778-5.204-2.63 34.773-.313 70.898 10.356 105.168 38.25-54.364-94.094-142.49-91.19-206.094-66.456 26.697-20.213 60.655-32.96 103.078-32.102-20.95-8.053-41.322-11.827-60.86-12.004zm-20.292 72.42c27.385.31 53.167 7.19 75.85 19.15 11.03 34.65 10.764 85.084-35.82 110.73 57.38-8.063 68.747-56.41 65.92-90.386 31.604 26.8 53.065 65.168 57.894 108.617-11.442-11.052-27.03-18.682-47.832-18.995-4.228-.063-8.67.175-13.336.748 56.35 13.146 58.046 52.722 56.037 82.108-5.366 19.175-14.072 36.942-25.445 52.647 3.265-39.063-5.52-70.67-25.205-91.312-25.207-26.433-66.802-31.98-114.732-13.826-43.58 16.5-75.458 10.803-94.588-9.257-18.553-19.456-26.513-55.153-15.96-104.09 21.894-20.92 49.49-35.916 80.237-42.47 25.205 5.698 46.725 24.76 53.276 49.736 7.63 29.088-7.855 62.162-37.375 69.75-21.748 5.59-46.478-6.097-52.008-28.185-3.99-15.936 4.575-33.99 20.47-37.873 2.803-.685 5.7-.813 8.51-.447-2.895 3.556-4.636 8.09-4.636 13.033 0 11.41 9.25 20.662 20.662 20.662 11.41 0 20.664-9.25 20.664-20.662 0-5.404-2.092-10.308-5.488-13.99-9.197-14.293-27.572-20.797-44.147-16.748-26.926 6.576-40.487 35.292-34.16 60.564 8.268 33.023 43.65 49.744 74.785 41.742 40.45-10.398 60.882-54.14 50.797-92.59-5.31-20.24-17.91-37.11-34.37-48.656zm-140.086 73.168c-2.947 38.434 5.85 69.552 25.305 89.953 25.207 26.434 66.8 31.985 114.73 13.835h.002c43.58-16.508 75.457-10.814 94.587 9.246 18.525 19.428 26.487 55.05 16.002 103.878-22.39 20.436-50.385 34.833-81.43 40.66l.038-.205c-23.698-4.616-44.6-20.994-53.21-43.424-10.99-28.622 1.01-63.88 30.083-74.895 21.448-8.124 47.847.96 55.943 22.767 5.85 15.76-.836 35.1-16.582 40.848-3.484 1.272-7.217 1.67-10.818 1.28 3.006-3.587 4.82-8.207 4.82-13.254 0-11.412-9.252-20.665-20.663-20.665-11.413 0-20.664 9.254-20.664 20.666 0 3.68.973 7.13 2.66 10.123 9.034 19.034 32.092 26.332 51.073 19.403v-.002c26.41-9.642 36.89-40.114 27.69-64.9-9.013-24.28-32.39-37.62-56.384-37.894-8-.092-16.066 1.267-23.694 4.156-39.625 15.01-55.365 61.408-40.908 99.065 6.25 16.277 17.272 29.828 31.018 39.603-28.09-1.413-54.325-9.757-77.05-23.347-8.506-34.05-5.113-79.09 38.048-102.854-52.583 7.39-66.514 48.602-66.303 81.59-28.446-26.552-47.57-62.952-51.986-103.816 13.757 13.168 33.46 21.397 60.93 18.024-54.79-12.782-57.916-50.575-56.2-79.67 4.867-18.134 12.7-35.044 22.962-50.17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Envelope;

impl IconShape for Envelope {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.78 80.125c3.367 19.498 10.608 52.67 19.126 84.813 8.126 30.663 17.73 60.122 25.063 75.062 57.968-.962 148.212-16.707 252.343-46.344-91.756-70.023-188.486-99.376-296.532-113.53zM164.657 85c-65.62 51.243-106.43 120.106-138.5 196.25 54.866-38.51 111.644-60.42 169.313-70.906-3.995-12.636-7.88-26.486-11.626-40.625-8.425-31.79-15.554-64.12-19.188-84.72zm322.281 125.906c-74.123 21.218-141.43 35.68-196.25 42.813 24.018 51.794 36.448 106.688 43.688 160.936 70.634-58.76 125.36-118.495 152.563-203.75zM201.53 228.28c-56.563 9.917-111.78 30.946-165.56 68.907 89.478 61.396 189.91 97.037 279.874 119.844-7.362-55.057-20.104-109.997-44.75-161.03-18.39 1.897-35.134 2.875-49.938 2.875h-5.344l-2.718-4.625c-3.898-6.69-7.77-15.598-11.563-25.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Erlenmeyer;

impl IconShape for Erlenmeyer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.27 22.814c-8.29 0-14.194 5.093-17.91 10.163-3.713 5.07-6.032 10.492-6.032 16.814 0 6.323 2.16 11.873 5.668 17.433 3.51 5.56 9.108 11.85 18.275 11.85h-.202l6.63.142v122.002C150.973 267.087 50.5 395.497 50.5 395.497l-.402.513-.325.562c-5.1 8.808-10.02 21.052-10.02 35.635 0 35.53 29.48 64.827 64.827 64.828h299.6c35.253 0 64.828-28.916 64.828-64.828 0-16.296-7.106-28.625-11.197-35.652l-.334-.576-151.412-191.287V79.21c2.597-.066 3.062-.134 6.336-.136h.088c9.168 0 14.767-6.292 18.276-11.85 1.137-1.804 2.07-3.617 2.896-5.445l1.4-1.397h-.814c1.352-3.372 2.186-6.84 2.186-10.592 0-6.32-2.317-11.744-6.032-16.813-3.714-5.07-9.62-10.163-17.912-10.163h-116.22zm0 18.688h116.222c-.094 0 1.3.423 2.836 2.52 1.536 2.096 2.42 5.492 2.42 5.77 0 .276-1.043 4.696-2.785 7.456-1.736 2.75-3.422 3.132-2.475 3.135-6.836 0-12.118.197-14.302.285v-.207h-96.948v.03l-4.865-.105h-.102c.972 0-.727-.377-2.47-3.137-1.74-2.76-2.784-7.18-2.784-7.457 0-.276.883-3.672 2.42-5.77 1.536-2.095 2.93-2.518 2.835-2.518zm25.115 37.646h65.996v75.07h-.044v52.497l.045.058v4.422L441.948 406.47c3.908 6.738 8.373 15.1 8.373 25.737 0 25.66-21.09 46.14-46.138 46.14h-299.6c-24.953-.002-46.14-21.018-46.14-46.14 0-3.557.43-6.963 1.146-10.184l.055.084c.754-3.474 1.845-6.648 3.084-9.513l-.174.242c.977-2.32 2.05-4.496 3.17-6.465.668-.854 102.782-131.362 153.668-196.155l1.995-2.54v-1.155c.023-.03.07-.088.092-.118v-52.185h-.092v-75.07zm18.78 75.07v58.618l-1.99 2.537C204.078 258.886 82.596 415.245 81.714 416.38c-2.38 4.202-4.48 9.69-4.48 15.817 0 15.208 12.87 27.98 27.898 27.98h298.995c15.124 0 27.898-12.386 27.898-27.98 0-6.278-2.624-11.274-5.203-15.736L268.646 213.13v-58.913h-28.48zm-4.048 119.73c21.015 0 38.25 17.236 38.25 38.25 0 21.017-17.235 38.253-38.25 38.253s-38.252-17.236-38.252-38.25c0-21.016 17.237-38.253 38.252-38.253zm0 18.69c-10.913 0-19.562 8.648-19.562 19.56 0 10.915 8.65 19.564 19.562 19.564 10.914 0 19.563-8.647 19.563-19.563 0-10.914-8.65-19.563-19.563-19.563zm-60.293 54.817c21.015 0 38.252 17.237 38.252 38.252 0 21.016-17.237 38.252-38.252 38.252-21.015 0-38.252-17.238-38.252-38.253s17.237-38.252 38.252-38.252zm96.623 10.71c24.664 0 44.858 20.197 44.858 44.86 0 24.665-20.195 44.858-44.858 44.858-24.663 0-44.86-20.194-44.86-44.858 0-24.663 20.197-44.86 44.86-44.86zm-96.623 7.98c-10.913 0-19.562 8.65-19.562 19.562 0 10.914 8.65 19.563 19.562 19.563 10.914 0 19.563-8.648 19.563-19.563 0-10.913-8.65-19.562-19.563-19.562zm96.623 10.71c-14.562 0-26.17 11.608-26.17 26.17 0 14.563 11.608 26.17 26.17 26.17 14.564 0 26.17-11.605 26.17-26.17 0-14.562-11.607-26.17-26.17-26.17z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eruption;

impl IconShape for Eruption {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.125 18.844C39.392 34.837 29.345 54.284 20 76.906v55.344C35.626 81.983 54.123 43.486 73.188 18.844H50.124zm123.563 0c28.514 38.154 58.302 111.444 80.687 224.406l-27.688-20.375c10.34 42.642 9.49 86.734 5.282 129.656-9.68-5.064-18.39-10.242-26.407-15.592 7.303-2.39 12.593-9.273 12.593-17.375 0-10.088-8.194-18.25-18.28-18.25-9.81 0-17.787 7.734-18.22 17.437-18.992-16.48-34.353-35.148-51.312-57.906 21.86 55.484 37.576 110.95 43.22 166.437-21.468-10.502-42.212-27.485-62.408-47.874C77.776 320.05 46.846 278.314 20 248.376V277c23.004 27.92 48.843 64.944 76.563 114.625l23.843 70.125c-22.777 4.44-45.535-4.1-68.312-12.844l28.593 41.47h389.938L495 425.905c-19.11 10.21-59.843 22.84-84.344 27.656 14.49-50.7 26.913-95.425 50.5-145.406-21.43 23.53-55.894 46.943-82.156 60.03 13.352-53.8 29.45-91.128 45.97-113.373 12.695-17.098 25.094-24.963 36.25-26.594 10.992-1.61 22.193 2.343 34.25 13.218v-23.25c-9.64-5.85-19.91-9.082-30.345-8.97-2.193.024-4.39.21-6.594.532-17.625 2.577-34.014 14.346-48.56 33.938-15.714 21.16-29.94 51.864-42.095 93.28-8.64-73.057-7.37-149.966.75-219.78-14.467 43.082-22.59 78.36-50.22 107.437-10.972-19.324-19.403-38.584-26.217-57.844 2.658 1.103 5.568 1.72 8.625 1.72 12.463 0 22.562-10.128 22.562-22.594 0-12.465-10.1-22.562-22.563-22.562-5.348 0-10.257 1.86-14.125 4.97l-9.125-109.47h-35c11.422 56.565 17.434 116.837 20.5 175.062C244.06 113.393 220.92 55.986 196.5 18.844h-22.813zm237.78 6.656c-14.29 0-25.874 11.584-25.874 25.875 0 .723.035 1.417.094 2.125-.373-.023-.747-.063-1.125-.063-10.087 0-18.25 8.163-18.25 18.25s8.163 18.282 18.25 18.282c8.746 0 16.055-6.165 17.843-14.376 2.82 1.054 5.876 1.656 9.063 1.656 14.288 0 25.874-11.584 25.874-25.875 0-14.29-11.586-25.875-25.875-25.875zM103.032 38.72c-10.085 0-18.28 8.16-18.28 18.25 0 10.085 8.195 18.28 18.28 18.28 10.088 0 18.25-8.193 18.25-18.28 0-10.09-8.162-18.25-18.25-18.25zm350.533 76.624c-10.087 0-18.25 8.162-18.25 18.25 0 10.086 8.163 18.28 18.25 18.28 10.086 0 18.28-8.192 18.28-18.28 0-10.088-8.194-18.25-18.28-18.25zm-299.844 8c-15.972 0-28.907 12.965-28.907 28.937 0 15.972 12.935 28.907 28.906 28.907 15.97 0 28.936-12.933 28.936-28.906 0-15.97-12.967-28.936-28.937-28.936zM87.624 207.22c-10.087 0-18.25 8.16-18.25 18.25 0 10.085 8.163 18.28 18.25 18.28s18.25-8.193 18.25-18.28c0-10.09-8.163-18.25-18.25-18.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilBat;

impl IconShape for EvilBat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M200.87 39.725C44.31 80.87-16.78 302.325 36.948 433.995 23.912 307.28 59.464 188.886 126.674 116.51c-22.972 99.05-25 194.382 10.353 258.826-18.214-78.32-11.397-174.74 18.254-239.406-1.843 54.862 7.87 111.337 31.788 155.718-12.736-108.023 47.59-42.41 65.168-8.06 4.94 15.805 3.993 29.124-.433 40.47-5.83 14.942-18.294 26.96-34.018 34.897-35.8 18.074-54.695 40.503-60.52 62.78-5.824 22.28 1.996 43.443 16.5 56.396 14.5 12.952 36.138 18.04 56.32 9.233 16.745-7.305 31.693-23.562 41.895-50.072 8.293 6.156 15.268 13.8 20.868 23 .4-33.196 9.715-61.208 23.945-86.364-34.537 9.54-63.36 25.552-88.33 45.94 9.908 1.663 18.956 4.295 27.123 7.92-8.903 24.836-21.404 37.37-32.984 42.42-13.44 5.866-26.794 2.587-36.39-5.985-9.598-8.57-14.97-22.088-10.878-37.74 4.092-15.65 18.256-34.373 50.883-50.845 18.94-9.56 35.138-24.64 42.998-44.787 7-17.947 6.885-39.556-2.85-62.885 23.456-33.637 66.618-69.27 55.658 23.683 23.918-44.38 33.632-100.856 31.788-155.718 29.652 64.666 36.466 161.086 18.252 239.406 35.354-64.444 33.326-159.775 10.354-258.826 67.21 72.377 102.764 190.772 89.73 317.488C525.87 302.324 464.78 80.87 308.22 39.726h-.003c31.215 86.954 42.704 157.88-53.672 190.813-96.376-32.935-84.888-103.86-53.672-190.815h-.002zm16.083 57.62c-4.84 10.928-8.443 22.143-8.443 34.83 0 33.612 18.97 61.84 46.437 77.044 27.21-15.274 45.383-43.624 45.383-77.046 0-12.776-3.644-23.793-8.443-34.83 0 0-21.217 54.584-36.94 67.68-15.87-13.032-37.994-67.68-37.994-67.68z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilBook;

impl IconShape for EvilBook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93.998 27.8c-24.004-.13-42.94 15.268-54.732 32.778C27.094 78.653 20.66 98.816 24.684 115.1l.01.04 81.476 318.186c.11-9.534 2.292-19.376 6.22-28.596 4.24-9.948 10.73-19.412 19.245-27.21 7.477-7.44 17.398-13.343 29.234-16.575.002 0 .004 0 .007-.002 4.364-1.292 8.962-2.224 13.787-2.74l.658-.07 323.2 11.25-126.975-328.56-275.21-12.96c-.786-.037-1.565-.058-2.34-.062zm-.107 18.69c.52.003 1.043.017 1.567.04L358.504 58.92l112.408 290.867-299.46-9.77-.653.07c-26.13 2.814-47.677 15.802-60.554 33.823l-67.42-263.29v-.003c-1.57-6.362 2.12-25.013 11.942-39.6 9.516-14.132 23.03-24.603 39.123-24.525zm17.426 17.403L93.35 69.037l73.06 255.193 17.967-5.142-73.06-255.195zm52.48 19.2c3.22 62.57 46.11 84.672 81.54 87.507l9.07-16.85-43.873-19.943 15.91-8.95c-24.727-2.388-42.9-24.437-62.648-41.765zm180.157 2.948c-10.863 18.29-18.594 40.613-39.375 46.132l10.31 13.844-24.808 16.07 14.943 13.84c29.995-7.382 59.367-33.122 38.93-89.885zm44.406 88.26l-33.432 59.067-18.184-40.082-25.455 50.627-50.07-37.266-8.277 35.157-76.937-59.768 46.058 99.145 13.426-21.8 45.862 59.07 19.857-46.41 41.196 47.108 17.785-52.03 20.13 28.827 8.04-121.644zM176.214 376.866c-23.563 2.688-39.208 17.766-46.63 35.19-6.863 16.106-5.658 33.007 1.804 42.7l315.006 10.862c-2.514-13.553-1.82-27.43 2.32-41.203l-21.546-6.818 34.252-20.055c2.305-3.522 4.85-7.02 7.658-10.48l-292.865-10.195z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilBud;

impl IconShape for EvilBud {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.377 18.088C414.594 39.345 383.15 53.22 360.83 47.584c-2.83-1.506-6.274-2.395-10.53-2.408-5.46-.017-12.32 1.477-20.79 4.803-12.724 15.04-21.798 34.02-24.608 61.065 23.493-13.79 43.58-21.348 69.446-28.88 0-.024-.003-.048-.004-.073 25.44-7.472 57.55-25.785 66.033-64.004zm-297.63 1.98c-37.78 7.718-86.92 67.836-42.595 124.575 3.5-23.014 13.46-44.417 27.662-62.91-1.704-21.236 3.625-43.288 14.934-61.665zm112.517 14.57c-16.053.015-32.534 3.503-48.32 9.89-32.83 13.29-61.915 38.95-77.483 69.972 14.697-4.495 30.286-6.625 45.907-5.992 17.673.716 35.378 4.944 51.85 13.207l15.58 7.816-15.133 8.65c-14.288 8.165-43.198 24.174-64.346 45.244-10.574 10.535-19.04 22.21-23.1 34.222-4.06 12.012-4.17 24.25 2.417 38.38l5.586 11.984c18.54 26.353 43.398 41.512 68.968 46.636 31.524 6.32 64.67-2.422 89.77-26.505-13.14-6.644-23.627-15.76-31.364-26.515-18.663-25.94-21.53-59.89-12.514-89.395l6.47-21.162 10.657 19.395c6.53 11.885 25.26 33.58 47.633 45.992 22.374 12.412 46.766 16.728 71.715-1.63l13.695-10.075c7.03-10.314 12.367-22.563 15.025-34.95 4.265-19.868 1.73-39.45-8.955-52.905-6.95-8.754-17.613-15.68-33.82-18.602-34.137 9.6-54.09 17.156-85.824 37.947l-2.332 1.528H285.17l.04-9.383c.142-33.69 8.47-59.477 21.704-79.47-7.455-4.662-15.32-8.083-23.463-10.43-9.078-2.614-18.555-3.855-28.186-3.846zM33.574 99.493c-8.587 48.305 23.4 92.03 45.46 108.072l.148-.197c4.34 6.718 9.767 13.118 15.892 18.858 7.566 7.088 16.104 12.945 24.49 17.46-1.643-11.202-.417-22.06 2.952-32.025 5.372-15.893 15.724-29.632 27.613-41.476 16.542-16.482 36.118-29.276 51.34-38.366-8.757-2.51-17.74-3.988-26.773-4.256-35.082-1.038-70.29 14.008-91.273 38.31-24.706-13.256-39.353-38.294-49.85-66.38zm243.625 98.89c-1.31 18.658 2.945 37.57 13.564 52.33 14.3 19.877 39.997 33.53 83.064 29.91 10.076-7.87 14.683-15.983 17.37-25.347 1.42-4.954 2.233-10.292 2.857-15.923-26.337 11.202-53.58 5.483-75.282-6.555-16.998-9.43-31.21-22.2-41.574-34.416zm182.386 57.692c-31.182 43.73-75.96 79.972-120.275 88.64l-14.994-48.153c-22.916 24.176-52.755 37.357-83.234 38.583l28.18 42.27-49.446 62.095-14.62-11.64 23.847-29.948c-28.817-14-77.622-24.184-104.568-18.65-30.943-23.56-43.234-73.074-47.89-121.477-17.116 36.574-13.242 82.04-2.335 117.387-19.47-9.36-35.306-26.266-49.06-45.55 4.21 48.88 46.376 83.07 71.837 92.856 47.353-26.6 105.78 21.316 130.237 71.25h112.13c-64.765-43.294-47.147-74.84 15.77-98.113l-.016-.05c40.265-14.345 98.207-67.104 104.438-139.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilComet;

impl IconShape for EvilComet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.492 19.12l162.91 176.312c-42.268-65.6-80.666-115.532-100.847-176.31h-62.063zM87 19.124L213.88 174.73 54.726 26.24l269.736 298.49L19.15 40.047v30.2L182.45 225.472 19.15 107.678v31.662l.307.172.002 52.222 116.828 30.87-45.582-39.872c15.55 10.18 32.436 21.74 49.535 34.338 31.358 23.106 62.634 49.186 86.094 75.96 23.46 26.776 39.88 54.455 38.123 82.163-3.912 61.673 50.497 112.38 112.984 112.38 30.236 0 57.638-11.83 77.888-31.102l-76.873 14.216 9.44-37.762-68.327 16.18 10.495-46.3-43.383 7.036.36-2.635 26.802-58.226-5.235 38.372 45.803-7.428-9.994 44.092 69.06-16.356-9.84 39.363 69.897-12.923c5.605-9.05 9.968-18.954 12.85-29.477L450.7 402.21l39.68-25.544c.01-.687.024-1.374.024-2.064 0-62.474-50.544-106.992-113.85-113.012-27.784-2.643-56.96-20.122-86.38-43.826-29.42-23.704-58.906-54.048-85.293-84.03-47.496-53.967-83.31-104.564-90.33-114.61H87zM383.002 284.25l14.076 42.254 20.87-18.567 10.308 85.934-24.11-43.116-20.666 13.13-25.26-53.587 18.186 11.892 6.596-37.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilFork;

impl IconShape for EvilFork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.313 21.813l-8.563 19.75-17.688 40.75-5.656 13.062h23.25v118.47c-13.75.87-27.51 4.044-41.125 9.75v-80.94h22.064l-5.688-13.06-17.656-40.75-8.594-19.75-8.562 19.75-17.688 40.75-5.656 13.06h23.094V254.22l13.844-7.626c15.526-8.545 30.754-13.26 45.968-14.47v111.783l11.906-3.375c63.584-18.07 107.505-12.832 134.063 1.25 26.558 14.085 36.504 36.483 34.063 56.97-2.442 20.487-17.308 39.61-46 46.625-28.693 7.016-71.885 1.21-128.063-32.094-29.367-17.408-66.103-38.01-104.5-43.655-23.335-3.43-47.54-.667-69.844 11.75-9.52-11.33-17.738-24.647-24.686-39.875C34.937 387.392 22.432 437.344 22 493.28c32.185-31.62 70.666-57.006 120.563-71.03-18.796-5.505-35.13-14.682-49.188-27.344 17.083-8.407 35.181-9.553 54.03-6.78 33.512 4.926 68.725 24.047 97.69 41.218 58.958 34.95 106.907 42.776 142.03 34.187 35.123-8.587 56.756-34.316 60.125-62.592 3.37-28.277-11.556-58.518-43.875-75.657-30.33-16.082-75.513-20.825-136.03-5.717v-87.157c15.117 1.588 30.324 6.463 45.905 14.344l13.563 6.875v-110.97H348.875l-5.657-13.06-17.69-40.75-8.56-19.75-8.595 19.75-17.656 40.75-5.69 13.06h23.095v81.376c-13.46-5.4-27.093-8.785-40.78-9.968V95.376h21.905l-5.688-13.063-17.687-40.75-8.563-19.75zM143.438 59.937C118.564 61.831 94.734 77.45 74.53 102 30.083 156.017 4.637 251.026 32.438 327.063c-.4-70.025 48.94-105.56 67.688-39.032 1.38-48.89 41.444-78.51 68.313-42.686v-64.03c-32.01-10.637-47.006-60.076-25-121.376zm227.562 0c22.006 61.3 7.01 110.74-25 121.376v64.03c26.87-35.822 66.933-6.203 68.313 42.688 18.746-66.526 68.09-30.992 67.687 39.033 27.8-76.037 2.386-171.046-42.063-225.063C419.733 77.45 395.873 61.83 371 59.937z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilHand;

impl IconShape for EvilHand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.98 47.744l-25.32 143.443c-28.823 29.04-82.26 43.33-117.54 49.016l.132 218.645.006-.002C60.214 406.14 115.74 321.79 177.84 291.51c87.926-6.233 189.035 1.018 269.29 122.01l-30.286-111.768-114.03-33.826c38.234-48.656 116.253-23.912 190.39 29.45l-63.015-80.312-133.442-13.59c22.58-50.88 108.657-59.573 185.336-7.413L407.95 115.75c-105.138 37.836-182.9 34.318-190.315 9.33-2.432 3.567-4.53 7.19-6.29 10.854-13.455 27.973-8.834 59.176 11.362 86.75l-15.078 11.043c-23.475-32.05-29.726-71.382-13.128-105.893 15.343-31.902 49.35-58.73 103.26-73.768l-131.782-6.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilMinion;

impl IconShape for EvilMinion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.1 20.63l-2.9 20.19-53.11-2.48 49.01 31.6L96.24 174.2A28.31 28.31 0 0 0 79.43 200a28.31 28.31 0 0 0 10.04 21.6l-6.55 45.9 20.78 2.4 12.4-42.9a28.31 28.31 0 0 0 3.1-1.2l61.1 28.9 49.1-30.9 26 61.1-73 79.3 11.2 78.7-38.6 48.5h48.5l19.6-46.4-11.9-68.8 43.5-21.1 6.3 49.2 56.2 2.1 2.8-47.1 65.3 35.1 3.5 51.3-10.2 45.7h62.2l-30.2-45.7-5.6-68.1-80.1-80.8 26.7-82.1 61.8 21-27.2 25.3a28.31 28.31 0 0 0-6.8-.8 28.31 28.31 0 0 0-28.3 28.3 28.31 28.31 0 0 0 28.3 28.3 28.31 28.31 0 0 0 28.3-28.3 28.31 28.31 0 0 0-1.5-9.2l43.7-49.2L333 155.3a42.7 62.07 0 0 0 1.1-13.9 42.7 62.07 0 0 0-2.4-20.2c55.4-12.5 61.7-67.54 15.5-97.18 8.6 26.64 22.2 51.09-33 64.97a42.7 62.07 0 0 0-22.8-9.69 42.7 62.07 0 0 0-23.5 10.32c-58.2-13.78-44.2-38.57-35.5-65.6-47 30.17-39.6 86.68 18.5 97.98a42.7 62.07 0 0 0-2.2 19.4 42.7 62.07 0 0 0 2.7 21.6l-73.2 61.5-43.1-17.4a28.31 28.31 0 0 0 .9-7.1 28.31 28.31 0 0 0-6.8-18.3l42-145.18zM280.2 126.5a10.43 10.43 0 0 1 10.5 10.4 10.43 10.43 0 0 1-10.5 10.4 10.43 10.43 0 0 1-10.4-10.4 10.43 10.43 0 0 1 10.4-10.4zm34.5 0a10.43 10.43 0 0 1 10.5 10.4 10.43 10.43 0 0 1-10.5 10.4 10.43 10.43 0 0 1-10.4-10.4 10.43 10.43 0 0 1 10.4-10.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilMoon;

impl IconShape for EvilMoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.938 19.938C124.514 19.938 17.78 126.67 17.78 258.094c0 131.422 106.735 238.156 238.157 238.156 131.423 0 238.157-106.734 238.157-238.156 0-131.422-106.734-238.156-238.156-238.156zm0 18.687c121.322 0 219.468 98.147 219.468 219.47 0 26.08-4.548 51.085-12.875 74.28-20.99 8.188-43.686 12.75-67.624 12.75-22.242 0-43.584-3.855-63.406-10.938l12.094 44.594-71.75-12.467 18.844 51.562c-57.855 7.1-108.19-15.432-130.47-49.28l81.313 1.78-23.56-48.438 72.436-8.062.688.063c-16.83-11.135-31.777-24.876-44.22-40.688 30.674-18.014 66.44-28.814 102.782-22.844-43.234-49.45-95.713-64.09-139.437-57.437-2.188-11.438-3.345-23.236-3.345-35.314 0-45.286 16.2-86.562 42.938-118.937 2.04-.057 4.072-.095 6.125-.095zM139.188 180.78c.638-.006 1.268-.013 1.906 0 19.467.437 38.24 10.748 48.687 28.845 15.923 27.577 6.48 62.83-21.093 78.75-27.572 15.92-62.828 6.483-78.75-21.094-15.92-27.576-6.478-62.86 21.094-78.78 8.887-5.13 18.58-7.615 28.157-7.72zm-.063 21.064c-20.26 0-36.906 16.643-36.906 36.906 0 20.263 16.644 36.875 36.905 36.875 20.26 0 36.875-16.612 36.875-36.875s-16.614-36.906-36.875-36.906zm0 18.687c10.16 0 18.188 8.058 18.188 18.22 0 10.162-8.028 18.188-18.188 18.188-10.16 0-18.22-8.026-18.22-18.188 0-10.162 8.06-18.22 18.22-18.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EvilTree;

impl IconShape for EvilTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.97 18.72v203.374c1.97 8.137 9.515 16.478 18.343 19.22 9.033 2.803 19.03 1.506 29.624-12.22l7.376-9.563 7.406 9.564c13.88 17.906 26.524 25.565 39.5 28.844-12.174-43.782-37.342-85.398-69.44-126.157l-1.25-1.56-.468-1.94-4-16.03 15.782 4.813 94.187 28.78L173.095 31.25l.03-.313c-.025-.113-.035-.23-.06-.343-1.01-4.396-1.874-8.33-2.658-11.875H19.97zm169.593 0c.578 2.59 1.065 4.87 1.718 7.718.34 1.476.69 2.91 1.032 4.375l53.813 85.53 105.22-63.624 19.874-12.032-6 22.437-15.94 59.625 99.408-36.906 33.875-12.563-23.532 27.407c-34.498 40.204-69.485 88.29-86.374 144.563 1.133-.06 2.266-.147 3.375-.28 13.968-1.688 25.42-8.223 31.626-23.032l4.97-11.813 9.718 8.313c12.73 10.89 23.158 14.587 34.812 13.968 10.603-.563 23.034-5.48 37.938-14.344V18.72H189.563zm-1.5 40.436L174.03 159.25l-.03.28-3.625 42.72-18.625-1.594 3.03-35.97-70.06-21.405c34.196 47.813 58.943 98.312 63.468 153.657 4.905 60.013-14.372 124.86-68.688 195.813h323.938c-15.638-23.64-27.798-46.566-36.97-68.75l-24.812 44.22-1.875-45.72-42.905 49.938-14.563-45.313-25.593-6.75-36.158 52.406-6.625-45.31-43.593 44.81 43.75-175.842 14.344 87.093 24.187-61.592 16.313 63.968L290 322.656l15.813 38.47 17.062-42.345 2.438 46.876 23.156-.97c-5.878-30.507-6.18-59.377-2.25-86.498l-46-2.782 43.53-35.844-13.875-13.843 39.188-23.845c14.53-32.037 33.787-60.806 53.906-86.563l-82.345 30.563-18.406 26.438-15.345-10.688 20.563-29.5 13.718-51.438-85.187 51.563 27.686 50.28-16.375 9.032-28.592-51.968-3.47-5.53-47.155-74.908zm15.312 112.188l51.75 54.562-22.344 9.5 36.876 44.156-94.594-25.156 36.313-35.125-8-47.936z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExpandedRays;

impl IconShape for ExpandedRays {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.928 14.217l97.87 150.246-63.23-150.246h-34.64zm54.916 0l64.127 152.38-30.933-152.38h-33.193zm52.263 0l30.358 149.556-.133-149.556h-30.225zm48.913 0l.134 150.68 30.744-150.68H272.02zm49.95 0L291.103 165.51 354.51 14.217h-32.54zm52.805 0L311.35 165.55l98.705-151.333h-35.28zM259.682 184.03c-40.35.944-72.1 34.217-71.155 74.566.945 40.35 34.218 72.097 74.567 71.152 40.35-.945 72.097-34.215 71.152-74.564-.945-40.35-34.215-72.1-74.564-71.155zm31.02 163.18l29.064 143.17h31.187l-60.25-143.17zm-76.157.966L121.793 490.38h33.152l59.6-142.204zm20.168.226l-59.506 141.98h30.537l28.97-141.98zm77.076.733l59.44 141.246h32.567L311.79 349.136zm-58.16.03l-28.814 141.216h28.94l-.125-141.214zm18.69 1.43l.125 139.786h28.25L272.32 350.595z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExplosionRays;

impl IconShape for ExplosionRays {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.184 19.512l116.02 144.838c-11.806 9.74-21.4 22.066-27.923 36.095L20.493 142.73v62.993l113.983 19.172c-1.12 6.056-1.707 12.295-1.707 18.67 0 3.502.177 6.965.52 10.378l-72.376 27.7 79.467.687c4.165 10.173 9.917 19.534 16.948 27.775L20.492 441.7v52.484h47.336l105.87-168.65c11.644 8.795 25.212 15.165 39.945 18.366l-23.7 150.284H294.22L253.25 344.69c8.668-1.524 16.964-4.14 24.744-7.7l37.262 42.268-21.326-51.365c6.885-4.792 13.16-10.402 18.68-16.692l182.533 146.61V348.556L329.43 284.865c4.29-9.722 7.118-20.227 8.195-31.238l84.7-25.93-86.78-7.008c-2.26-9.89-5.955-19.242-10.852-27.825l170.452-87.398V23.924L311.918 175.15c-5.33-5.95-11.342-11.28-17.912-15.86l15.533-38.382-29.968 29.967c-9.608-4.595-20.034-7.74-30.996-9.148L269.89 19.512h-40.12l1.27 121.478c-19.017.808-36.716 6.816-51.706 16.64L94.102 19.51H54.184z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExplosiveMaterials;

impl IconShape for ExplosiveMaterials {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.504 12.025v151.26l54.93 177.096c-.248.088-.49.187-.737.276l90.278 47.748-32.21 40.035 28.817 38.04 89.61 27.946H361.08l-196.783-37.424c2.446-3.86 4.57-7.94 6.326-12.22l325.95 18.11V413.25l-321.627 17.313c.957-4.734 1.49-9.623 1.563-14.627l320.062-60.504v-50.81l-320.8 99.216c-.693-5.032-1.873-9.9-3.463-14.578l324.263-170.49v-65.41L167.35 377.767c-2.26-4.262-4.905-8.283-7.88-12.032L496.567 62.836v-50.81l-.002.005H456.27L148.533 354.456c-3.74-3.154-7.778-5.96-12.068-8.38L364.578 12.032H298l-172.725 328.83c-3.336-1.24-6.783-2.25-10.318-3.037l101.28-325.793H168.35l-60.963 324.473c-3.043-.37-6.14-.567-9.282-.584l17.1-323.89h-44.97l17.812 324.466c-3.38.41-6.693 1.03-9.926 1.85L16.505 12.025zm22.642 349.84c-12.633 13.97-20.314 32.506-20.314 52.897 0 43.655 35.188 78.843 78.844 78.843 19.185 0 36.72-6.81 50.36-18.136l-54.415-39.784 29.425-32.424-83.9-41.397z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExplosiveMeeting;

impl IconShape for ExplosiveMeeting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M313.732 3.545l-60.166 157.62-58.42-48.454 9.838 78.962c-47.68-32.87-93.904-83.845-135.062-172.408H18.57v119.3c41.344 41.93 97.152 66.44 156.826 90.963L23.976 287.33l132.655 9.65-55.253 85.65 116.94-57.478L224.8 462.93l66.706-144.633 65.75 84.558-5.15-83.675c51.68 38.82 96.87 92.806 126.013 175.474h15.84v-149.33c-33.083-36.708-68.22-57.787-104.755-73.648l66.895-29.57-91.668-15.907 113.02-117.993-152.67 47.258-11.05-151.92zM258.6 198.807c5.412-.05 11.044.265 16.832.992 23.154 2.905 44.133 11.763 58.836 23.202 14.702 11.44 22.656 25.008 22.656 37.295 0 12.287-7.196 22.387-21.276 29.807-14.08 7.42-34.734 11.078-57.886 8.17-23.154-2.905-44.132-11.76-58.834-23.198-14.703-11.44-22.658-25.007-22.658-37.295 0-.665.03-1.32.072-1.973l42.642 11.113-8.52 12.11 87.563 13.265-38.8-26.672 15.82-14.785-68.963-26.606c9.236-3.335 20.317-5.312 32.516-5.425z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExtraLucid;

impl IconShape for ExtraLucid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.703 19.684C74.03 56.01 47.746 108.598 47.746 167.047c0 59.615 27.327 113.03 70.47 149.428-2.24-9.474-3.615-19.306-4.03-29.4-29.71-31.86-47.75-73.932-47.75-120.028 0-60.944 31.49-114.743 79.876-147.363h-30.61zm245.98 0c48.38 32.614 79.874 86.417 79.874 147.363 0 44.114-16.52 84.543-43.98 115.863-.15 10.162-1.272 20.075-3.272 29.645 40.52-36.26 65.94-88.003 65.94-145.508 0-58.446-26.263-111.034-67.93-147.363h-30.633zM259.616 21.13c-1.22.046-2.1.16-2.627.16-22.966 0-42.474 13.933-54.28 34.743 5.434-2.258 11.378-3.512 17.602-3.512 2.635 0 5.216.238 7.733.667 8.205-8.343 18.363-13.208 28.945-13.208 2.87 0 4.478-.11 4.53-.103l.09.014.09.012c8.883 1.155 17.385 5.918 24.452 13.31 2.568-.448 5.204-.69 7.895-.69 6.14 0 12.004 1.224 17.377 3.423-10.47-18.69-27.132-31.908-47.215-34.556-1.847-.27-3.393-.303-4.593-.26zm-58.758.925C139.302 43.72 95.366 100.54 95.366 167.23c0 26.838 7.12 52.075 19.633 74.07 4.785-43.393 27.372-81.088 59.895-104.857-4.985-11.973-7.76-25.238-7.76-39.2 0-30.428 13.17-57.555 33.724-75.188zm112.966.884c19.968 17.648 32.7 44.38 32.7 74.304 0 14.4-2.955 28.06-8.24 40.324 31.91 23.98 53.94 61.508 58.454 104.57 12.815-22.19 20.12-47.727 20.12-74.908 0-65.8-42.768-121.992-103.034-144.29zm-93.514 48.27c-15.31 0-27.52 12.21-27.52 27.522 0 15.31 12.21 27.522 27.52 27.522 15.31 0 27.524-12.21 27.524-27.522 0-15.31-12.213-27.523-27.524-27.523zm73.735 0c-15.31 0-27.522 12.21-27.522 27.522 0 15.31 12.21 27.522 27.522 27.522 15.31 0 27.523-12.21 27.523-27.522 0-15.31-12.212-27.523-27.523-27.523zm-96.818 67.495c1.458 3.72 3.135 7.29 5.014 10.688-28.76 10.036-47.118 36.23-56.088 67.806-10.313 36.304-9.78 80.714-1.82 123.044l1.432 7.617h38.28l.354 5.406.04 4.084.23-.002 9.09 137.91h122.584l10.408-139.71.385.003.038-5.708.148-1.98h40.32l1.543-7.446c9.072-43.706 8.052-87.865-3.38-123.508-9.866-30.763-28.282-55.794-54.945-66.185 2.144-3.686 4.042-7.593 5.68-11.678-6.67 3.75-14.344 5.898-22.498 5.898-.516 0-1.025-.03-1.537-.047-1.22 1.83-2.504 3.576-3.858 5.21l-10.125 12.212 15.59 2.934c25.758 4.847 43.76 25.75 53.9 57.363 9.523 29.697 11.076 68.077 4.198 106.557h-24.893l.64-91.475-18.687-.13-.78 111.488L299 476.568h-33.332V342.19H246.98V476.57h-35.72l-8.174-124.025-1.133-115.002-18.69.185.903 91.447h-22.713c-6.188-37.77-5.89-76.687 2.682-106.865 9.15-32.208 26.076-53.426 54.59-57.848l15.91-2.47L224.6 149.4c-1.133-1.42-2.22-2.92-3.256-4.488-.345.008-.685.03-1.03.03-8.396 0-16.28-2.28-23.085-6.237z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ExtractionOrb;

impl IconShape for ExtractionOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.98 16.568c-19.754.19-39.8 2.847-59.75 8.194-13.14 3.52-25.717 8.085-37.695 13.554-14.434-12.764-33.376-20.54-54.09-20.54-45.06 0-81.79 36.73-81.79 81.79 0 20.214 7.406 38.736 19.624 53.034C16.353 202.41 9.42 260.675 24.827 318.172c34.216 127.695 165.715 203.614 293.41 169.398 127.695-34.216 203.617-165.713 169.4-293.408C458.77 86.42 360.643 15.536 253.98 16.568zm4.598 18.653c44.993.432 88.104 14.7 123.996 39.7L182.04 80.74c-2.4-10.103-6.684-19.488-12.452-27.77 9.446-4.01 19.277-7.426 29.476-10.16 18.43-4.937 36.93-7.4 55.155-7.587 1.454-.015 2.907-.016 4.358-.002zm-156.133 1.235c34.965 0 63.112 28.146 63.112 63.11 0 34.967-28.147 63.11-63.112 63.11s-63.11-28.143-63.11-63.11c0-34.964 28.145-63.11 63.11-63.11zM407.793 95.39c9.687 9.122 18.59 19.158 26.562 30.024l-138.742-27.54 112.18-2.483zm-223.58 2.94l262.664 46.162c6.486 11.1 12.07 22.89 16.625 35.307L335.01 161.337l140.267 66.225c1.672 12.647 2.232 25.244 1.73 37.675L180.18 124.936c2.62-7.995 4.056-16.517 4.056-25.37 0-.414-.017-.823-.023-1.236zm-12.848 45.162l279.662 216.906c-7.326 13.688-16.084 26.596-26.136 38.49L266.616 265.26l129.13 162.26c-12.544 10.217-26.328 19.134-41.202 26.498l-203.78-288.536c8.147-5.99 15.14-13.455 20.602-21.99zM54.613 165.828c6.874 4.98 14.548 8.914 22.783 11.58L48.06 330.033c-1.928-5.45-3.66-11.017-5.183-16.697-13.694-51.107-8.327-102.78 11.736-147.508zm76.102 10.48L248.84 476.99c-19.05-.62-37.726-3.716-55.617-9.05l-51.33-154.96 2.472 133.698c-16.458-9.664-31.675-21.445-45.2-35.102L95.92 181.096c2.153.17 4.327.26 6.523.26 9.93 0 19.453-1.786 28.27-5.05zm171.98 34.81l170.47 87.068c-2.177 11.218-5.222 22.2-9.07 32.863l-161.4-119.93zM80.518 254.825l4.01 140.416c-9.004-11.115-16.992-23.196-23.786-36.142l19.776-104.274zm127.21 39.9L323.49 466.558c-3.323 1.06-6.683 2.054-10.088 2.966-9.395 2.518-18.81 4.384-28.197 5.64L207.73 294.726z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct EyeShield;

impl IconShape for EyeShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M46.188 19.22c0 69.06 2.795 131.737 12.624 188.5l.032-.032c15.57-13.874 31.41-26.022 47.437-36.5 17.764-63.536 74.074-111.048 142-115.5V34.75c-68.267-.423-136.35-5.625-202.093-15.53zm421.562 0c-65.506 9.935-133.13 15.052-200.78 15.5v20.81c68.906 3.564 126.267 51.43 144.217 115.657 15.123 9.88 30.002 21.25 44.594 34.032 9.36-56 11.97-117.804 11.97-186zM258.72 74c-56.667 0-105.38 33.662-127.283 82.188 42.275-22.723 85.645-33.93 128.907-33.625 42.567.298 84.795 11.728 125.594 33.624C364.04 107.67 315.38 74 258.717 74zm0 68.28c-39.587 0-71.5 31.95-71.5 71.657 0 39.707 31.913 71.688 71.5 71.688 39.584 0 71.5-31.98 71.5-71.688 0-39.706-31.916-71.656-71.5-71.656zm-63.94 8.032c-38.83 11.04-77.54 32.272-115.405 64.344 37.397 31.567 76.353 52.478 115.72 63.25-16.407-16.38-26.564-39.013-26.564-63.97 0-24.788 10.037-47.277 26.25-63.624zm127.94.063c16.176 16.34 26.186 38.805 26.186 63.563 0 24.94-10.143 47.56-26.53 63.937 39.67-10.875 78.655-31.95 115.687-63.188-37.422-31.688-76.133-53.13-115.344-64.312zm-64 17.53c25.27 0 45.936 20.707 45.936 46 0 25.295-20.666 46.032-45.937 46.032-25.273 0-45.94-20.737-45.94-46.03 0-25.295 20.667-46 45.94-46zm0 18.69c-15.15 0-27.25 12.095-27.25 27.31 0 15.217 12.1 27.345 27.25 27.345 15.148 0 27.25-12.128 27.25-27.344 0-15.216-12.102-27.312-27.25-27.312zm-196.783 37.78c22.21 109.62 73.43 196.387 186.344 263.78V372.22c-67.4-4.42-123.376-51.26-141.593-114.064-15.19-9.743-30.137-21.016-44.75-33.78zm389.625 3.406c-13.31 11.332-26.91 21.458-40.78 30.345-18.4 63.513-75.42 110.712-143.813 114.25V487.22c111.535-67.022 162.336-152.06 184.592-259.44zm-66.156 45.064c-40.57 21.2-82.873 32.18-125.437 32.406-43.1.227-86.288-10.57-127.97-32.375 22.16 47.888 70.52 81.03 126.72 81.03 56.206 0 104.54-33.16 126.686-81.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eyeball;

impl IconShape for Eyeball {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.242 19.143c-1.3.007-2.598.026-3.896.054-8.782.195-17.528.884-26.198 2.053l13.957 18.725L276.9 68.008l-48.474-11.682-22.586-31.424c-24.033 5.413-47.187 14.583-68.522 27.258l4.67 19.35 58.403 10.51-2.335 50.812-17.522-35.623-53.728-9.347-6.063-24.886C105.56 73.832 91.536 86.61 79.064 101.203l13.866 45.06 54.898 8.176-68.33 13.433-14.633-48.287c-3.82 5.484-7.44 11.173-10.844 17.068-12.047 20.868-20.527 42.807-25.64 65.114l49.368 23.92 49.06-.58-49.06 21.607-18.105-8.81v25.747h30.37l-49.058 18.69v-53.526l-16.13-7.847c-5.85 41.047-.63 82.657 14.546 120.55l21.44-23.553 12.37 11.498 34.103-12.99-21.453 24.75 16.443 15.285-40.296-12.264-14.17 15.908c9.358 18.52 21.22 35.9 35.44 51.586l40.896-.158-28.047 13.262c13.04 12.287 27.692 23.278 43.89 32.63 112.427 64.91 255.91 26.462 320.82-85.964 64.91-112.427 26.464-255.91-85.962-320.82-21.172-12.224-43.447-20.773-66.09-25.862l9.207 25.723-29.07-29.292c-10.874-1.472-21.782-2.176-32.648-2.115zm81.076 126.125c21.167.245 42.198 5.62 61.43 16.72 65.644 37.893 83.97 127.31 42.557 199.026-41.41 71.71-128.022 100.554-193.666 62.662-65.645-37.893-83.97-127.31-42.558-199.026 28.47-49.303 78.305-78.34 128.002-79.363 1.412-.03 2.823-.036 4.234-.02zm-.59 18.67c-1.217-.013-2.435-.004-3.654.023-18.408.41-36.93 5.29-54.09 14.185l34.21 53.44c-5.373 3.022-10.486 6.663-15.227 10.874l-34.947-54.59c-16.317 11.548-30.75 27.068-41.754 46.126-.784 1.358-1.534 2.723-2.27 4.092l62.068 24.504c-.47.76-.93 1.525-1.38 2.303-2.737 4.728-4.987 9.607-6.79 14.564l-61.72-24.366c-10.588 27.475-12.18 56.18-5.824 81.922l62.4-21.23c.464 6.36 1.638 12.59 3.516 18.544l-60.073 20.44c9.103 21.78 24.502 40.32 45.436 52.51l30.73-45c4.197 4.524 9.037 8.537 14.5 11.904l-28.08 41.12c20.49 7.43 42.64 8.273 64.046 3.23l.31-33.95c6.27.064 12.55-.674 18.71-2.166l-.276 30.12c12.81-5.225 25.06-12.622 36.186-22.013l-11.71-18.29c5.255-3.254 10.23-7.108 14.808-11.53l10.613 16.578c6.93-7.642 13.213-16.193 18.654-25.615 1.91-3.307 3.67-6.652 5.294-10.023l-16.094-6.354c2.808-5.71 4.987-11.582 6.504-17.522l16.633 6.566c5.45-16.308 7.792-32.934 7.25-49.018l-22.186 7.55c-.993-6.236-2.702-12.283-5.09-18.01l25.246-8.588c-3.6-19.748-11.75-38.048-24.008-53.122l-22.637 33.147c-2.68-2.13-5.547-4.092-8.602-5.852-2.448-1.408-4.95-2.642-7.487-3.725l25.425-37.23c-4.898-4.2-10.218-7.997-15.96-11.31-9.707-5.605-20.006-9.5-30.587-11.784l-.502 54.96c-2.52-.213-5.05-.3-7.58-.248-3.716.073-7.43.437-11.115 1.06l.532-58.135c-1.14-.046-2.28-.078-3.423-.09zm15.786 75.83c3.027.026 6.037.308 9.006.84-7.354 7.116-12.168 18.937-12.168 32.326 0 21.752 12.7 39.384 28.367 39.384 12.172 0 22.55-10.647 26.577-25.597 2.1 14.36-.655 30.18-9.07 44.72-18.287 31.595-55.212 43.19-82.24 27.623-27.03-15.567-35.414-53.21-17.128-84.805 12.57-21.722 33.953-33.99 54.872-34.477.595-.013 1.188-.018 1.782-.012z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eyedropper;

impl IconShape for Eyedropper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M72.156 21.906c-19.51-.096-34.187 10.357-43.47 26.47-14.848 25.778-10.262 56.354 29.845 79.56 26.354 15.25 61.527 23.54 86.75 20.126l-11.374 19.72 15.25 8.812 49.688-86.25-15.25-8.813-10.5 18.22c-9.66-23.603-34.394-49.968-60.75-65.22-15.04-8.703-28.482-12.566-40.188-12.624zm134.375 92.53l-9.343 16.22 171.75 99.375h-56.25l-129.562-75-9.344 16.19L382.53 292l3.376 1.97 3.75-1.033c3.705-1.014 10.983-.39 18.344 1.844 7.36 2.237 14.843 5.778 19.656 8.564l2.188 1.25h.72c.224.082.458.145.686.22-.38 1.393-.594 2.858-.594 4.373 0 9.165 7.43 16.594 16.594 16.594 9.165 0 16.594-7.428 16.594-16.592 0-6.497-3.75-12.09-9.188-14.813 1.873-3.64 2.85-7.855 2.156-12.406-.77-5.067-4.173-10.32-9.187-13.22-10.71-6.198-25.414-17.442-27.97-27.688l-.967-3.843-3.438-1.97-208.72-120.813zm242.94 235.47c-18.66 69.634-44.595 59.99-44.595 100.75 0 24.617 19.98 44.563 44.594 44.563 24.613 0 44.592-19.947 44.592-44.564 0-44.002-25.602-29.875-44.593-100.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Eyestalk;

impl IconShape for Eyestalk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M185.406 23.47c-78.922 0-138.307 50.764-158.28 135.905-8.76 37.333-9.587 81.344-.407 130.25 1.816-37.236 11.74-69.584 27.186-94.875 20.416-33.43 50.967-54.726 84.78-56.875 30.294-1.925 62.146 11.8 89.97 42.625 22.277-40.89 63.09-70.28 111.094-76.78-7.82-7.432-15.102-14.942-22.25-22.157-31.29-31.59-59.965-58.094-132.094-58.094zm174.5 97.593c-72.283 0-130.687 58.404-130.687 130.687 0 72.283 58.403 130.656 130.686 130.656 72.283 0 130.688-58.373 130.688-130.656 0-72.283-58.405-130.688-130.688-130.688zm-225.22 36c-24.812 3.417-48.044 19.93-64.842 47.437-27.832 45.572-36.802 120.953-1.72 208.97 12.318 26.01 27.18 52.793 44.845 80.155h138.686c-59.71-60.655-100.7-123.075-123.53-177.688-24.853-59.45-29.822-109.966-10.095-140.562 4.91-7.616 10.552-13.75 16.657-18.313zm219.22 37.28c19.71.01 36.912 23.623 51 45.876 18.844 29.76 45.263 22.187 69.938 2.968 5.653 31.518-37.48 48.25-70.188 54.187-32.318 5.866-42.882 37.9-43.78 71.688-24.61-21.58-18.043-56.82-2.72-93.22 15.028-35.698 3.963-61.935-19.812-76.5 5.338-3.48 10.538-5.002 15.562-5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fairy;

impl IconShape for Fairy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M58.03 24.5C23.27 94.19 12.043 159.392 21.813 208.344c9.777 48.98 38.724 81.862 88.157 91.562.273 7.875 1.34 15.623 3.155 23.156.002.01-.002.022 0 .032-28.127 27.637-42.97 61.425-43.5 97.03 48.38 13.457 82.514 3.99 106.563-18.905 6.406 3.07 13.175 5.595 20.28 7.5 7.128 1.91 14.27 3.113 21.376 3.655.156.957.32 1.9.5 2.844C225.29 452 247.24 480.26 292.53 491.81c17.09-29.536 21.327-63.994 10.94-107.906 5.174-4.5 9.967-9.482 14.31-14.875 22.468 14.3 43.262 19.52 62.158 17.595 19.33-1.97 37.185-11.402 53.218-28.28 31.266-32.916 54.233-94.763 59.906-176.876-24.374-11.548-48.163-16.737-71-16.657-24.58.086-48.055 6.17-70.03 16.593-16.08 7.626-31.292 17.67-45.313 29.47-13.61-12.85-30.473-22.608-49.783-27.782-11.663-3.125-23.398-4.37-34.875-3.906-6.836.276-13.57 1.18-20.156 2.625C178.323 111.115 129.416 47.12 58.03 24.5zm23.94 66.688c18.666 0 33.593 14.926 33.593 33.593 0 18.672-14.926 33.595-33.594 33.595-18.67 0-33.626-14.926-33.626-33.594 0-18.666 14.957-33.593 33.625-33.593zm-24.376 82.53c10.23 0 18.312 8.116 18.312 18.345 0 10.228-8.083 18.312-18.312 18.312-10.23 0-18.313-8.08-18.313-18.313 0-10.228 8.085-18.343 18.314-18.343zm156.156 24.876c-32.586 12.06-55.813 43.41-55.813 80.187 0 47.21 38.26 85.5 85.47 85.5 37.43 0 69.24-24.062 80.812-57.56-.55 4.852-1.448 9.728-2.75 14.592-14.055 52.448-67.71 83.43-120.158 69.375-52.447-14.053-83.428-67.74-69.375-120.187 10.592-39.528 43.698-66.854 81.813-71.906zm215.938 16.47c18.667 0 33.593 14.956 33.593 33.624 0 18.67-14.924 33.593-33.592 33.593s-33.625-14.925-33.625-33.592c0-18.668 14.957-33.625 33.625-33.625zm-354.75 13.155c8.86 0 15.843 6.982 15.843 15.843 0 8.86-6.982 15.843-15.843 15.843-8.86 0-15.843-6.98-15.843-15.844 0-8.86 6.983-15.843 15.843-15.843zm341.093 71.874c10.23 0 18.314 8.083 18.314 18.312 0 10.232-8.083 18.344-18.313 18.344-10.228 0-18.31-8.115-18.31-18.344 0-10.23 8.082-18.312 18.31-18.312zm-41.31 37.156c8.86 0 15.874 6.983 15.874 15.844 0 8.863-7.014 15.844-15.875 15.844-8.862 0-15.845-6.984-15.845-15.844s6.983-15.844 15.844-15.844zm-265.533 37.594c8.86 0 15.844 6.983 15.844 15.844 0 8.862-6.98 15.843-15.843 15.843-8.86 0-15.843-6.982-15.843-15.842s6.983-15.844 15.844-15.844zm163.532 52.03c8.86 0 15.874 6.984 15.874 15.845 0 8.862-7.014 15.842-15.875 15.842-8.862 0-15.845-6.983-15.845-15.843 0-8.862 6.983-15.845 15.844-15.845z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FairyWand;

impl IconShape for FairyWand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.53 22.03c-57.055 45.157-80.673 37.81-100.31.22 16.598 61.517 10.408 66.415-44.72 116.594 67.324-35.666 96.206-34.238 130.97 7.187-34.906-53.112-30.954-75.35 14.06-124zm18.407.126l11.688 114.938-99.875 58.094 97.75 21.093c-9.58 8.352-20.214 19.028-31.28 30.095l-.032.03L18.563 472.438v19.438h32.156L273.343 272.5c10.26-10.263 18.902-19.538 25.78-27.75l18.938 87.75 58.094-99.875 114.938 11.688-77.03-86.094 46.655-105.69-105.69 46.657-86.092-77.03zM26.875 55.938c33.765 27.66 35.21 42.767 30.75 87.78 18.975-53.73 27.964-67.297 64.5-82C82.972 71.094 66.21 73 26.875 55.94zm54.75 102.406c24.955 27.012 26.97 43.684 24.25 72.062 14.775-34.45 22.072-45.66 55.625-64.312-34.56 11.183-45.5 10.22-79.875-7.75zm325.594 95c9.27 51.694-4.61 73.708-32.845 106.687 43.3-37.043 57.852-44.284 96.844-38.75-38.597-11.457-47.426-20.624-64-67.936zm-55.658 72.812c-18.705 68.79-45.304 83.944-107.625 70.125 54.126 20.1 56.34 21.07 53.532 85.25 24.757-55.42 46.49-52.217 95.06-37.217-41.775-31.838-45.71-48.97-40.967-118.157zm109.344 55.97c-15.32 17.994-22.932 17.49-43.812 9.343 22.828 18.444 17.596 34.024 10.844 59.405 16.05-19.12 23.516-25.237 50.312-12.688-22.86-21.342-27.13-29.857-17.344-56.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingBlob;

impl IconShape for FallingBlob {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.54 25.87l128.997 177.28-219.59-169.19L259.07 198.92 20.78 26.128h-.005l180.06 232.19L35.878 129.186l169.19 225.433L20.17 219.052l210.703 228.224c59.994 56.81 154.88 55.822 213.664-2.963 58.782-58.783 59.77-153.668 2.962-213.664L227.54 25.87zm128.448 222.855c27.394 0 54.786 10.45 75.686 31.35 41.8 41.8 41.8 109.574 0 151.374s-109.573 41.8-151.373 0c-41.8-41.802-41.8-109.575 0-151.376 20.9-20.9 48.295-31.35 75.688-31.35zm-6.734 20.734c-17.067.057-36.98 7.253-52.576 20.872-13.134 11.468-20.463 25.015-22.217 36.897-1.753 11.88 1.438 21.776 10.216 29.11 17.555 14.667 55.232 11.185 81.5-11.752 13.134-11.47 20.462-25.015 22.217-36.897 1.754-11.88-1.438-21.776-10.215-29.11-7.132-5.96-17.247-9.16-28.924-9.12zm47.572 124.368c-8.597.03-19.063 3.706-27.14 10.65-6.803 5.848-10.36 12.6-11.172 18.01-.812 5.41.45 9.185 4.314 12.364 7.73 6.357 27.337 5.207 40.942-6.49 6.802-5.846 10.36-12.597 11.17-18.008.813-5.412-.45-9.187-4.313-12.366-3.14-2.582-7.918-4.18-13.8-4.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingBoulder;

impl IconShape for FallingBoulder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.81 21.785v245.95H43.84L256 489.382l212.158-221.644H381.19V21.786h-39.118v301.028c.263 2.756.403 5.547.403 8.37 0 48.275-39.334 87.61-87.61 87.61-46.467 0-84.644-36.446-87.44-82.228h-.288V21.786zm127.018 8.485L230.33 261.984 212.82 133.98c-3.592 63.362-25.266 134.536-25.365 196.592 0 37.12 30.29 67.408 67.408 67.408 37.117 0 67.408-30.288 67.408-67.408 0-1.938-.1-3.854-.262-5.752-6.334-49.764-13.546-100.753-20.408-150.924l-13.422 98.135c-.587-.335-1.176-.667-1.774-.985zm-2.965 251.572c27.027 0 48.73 21.703 48.73 48.73 0 27.026-21.707 48.733-48.73 48.733-27.027 0-48.73-21.706-48.73-48.733 0-27.026 21.708-48.73 48.73-48.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingEye;

impl IconShape for FallingEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.125 18.188V52.28c19.25 10.525 39.96 17.387 60.97 27.19 8.898 11.16 16.083 23.254 23.624 36.468 1.815 3.182 3.69 6.504 5.56 9.812-30.467-30.112-61.69-37.87-90.155-46.906v19.53C44.277 104.613 63.183 110.03 82.063 123c-19.367-5.92-38.3-7.623-55.97-6.063 54.125 10.056 102.062 42.67 142.188 113.25-38.976-26.92-65.89-90.347-125.374-73 74.948 8.296 49.57 56.472 118.813 95.75-53.81-13.977-83.554-37.983-98.532-69 3.723 35.31 31.906 72.197 102.093 92.97 12.69-39.8 39.216-75.278 77.532-98.563-37.38-44.148-36.596-98.092-4.375-143.125-31.336 28.753-47.78 63.83-46.687 102.843-.52-1.188-1.034-2.355-1.563-3.563-15.782-36.087-36.253-80.377-94.656-116.313H55.72c58.02 26.452 84.18 58.21 101.25 89.782-20.093-20.724-40.8-33.848-60.657-43.75-14.506-16.99-33.368-32.573-61.407-46.032h-10.78zm97.28 82.374c26.6 19.535 52.623 49.98 75.657 104.876-38.426-36.268-54.93-68.65-72.125-98.782-1.165-2.042-2.347-4.07-3.53-6.094zm214.876 70.376c-27.354.126-55.035 7.165-80.405 21.812-77.318 44.64-103.67 142.995-59.03 220.313 44.638 77.317 142.962 103.64 220.28 59 77.318-44.64 104.358-143.37 59.72-220.688-29.994-51.948-84.55-80.696-140.564-80.438zm39.97 102.75c1.525-.023 3.085.004 4.625.062 49.282 1.86 87.958 45.053 85.875 95.906-2.083 50.852-44.155 90.33-93.438 88.47-49.28-1.86-87.988-44.366-85.906-95.22 2.018-49.264 41.568-88.506 88.844-89.22zm.156 18.812c-37.7.563-68.514 31.79-70.125 71.125-1.662 40.603 28.466 74.233 67.814 75.72 39.347 1.484 72.118-29.776 73.78-70.376 1.664-40.604-28.432-74.953-67.78-76.44-1.23-.045-2.472-.048-3.688-.03zm-3.062 31.5c-1.654 6.88-.365 15.318 4.156 23.25 8.17 14.333 23.836 21.577 35 16.156 7.46-3.622 10.99-11.987 10.094-21.406 5.262 8.08 8.165 17.93 7.72 28.344-1.09 25.394-21.62 44.953-46.283 44.062-24.662-.89-43.462-21.855-42.374-47.25.863-20.13 13.995-37.336 31.688-43.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingLeaf;

impl IconShape for FallingLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M427.313 26.188c-4.8.012-9.63 1.264-14.032 3.406 9.05 78.836 5.48 143.09-43.217 231.844 63.85-73.5 80.035-178.61 74.75-228.344-5.21-4.886-11.33-6.922-17.5-6.907zm-91.032 48.75c-98.73 2.416-95.504 294.125-310.155 346.812C229.537 547.755 623.41 365.046 450.03 152.812c-.923 2.79-1.863 5.586-2.81 8.407 10.803 52.818 6.81 110.217-20.44 172.874 3.956-40.244 3.315-78.758-2.905-115.656-7.34 14.28-16.703 28.132-26.28 42.062 1.357 40.016-6.12 82.247-25.72 127.313 3.143-32.007 2.588-62.875-.563-92.875-12.835 14.593-27.163 28.624-43.218 41.468-3.802 25.377-10.96 51.658-22.78 78.844 2.12-21.604 2.46-42.944 1.748-63.656C271.472 375.8 229.21 395.157 178 405.906c43.122-24.2 77.516-49.167 105.688-74.75-18.532-3.86-37.607-6.38-56.657-8.156 25.186-6.363 50.08-8.858 74.19-8.188 17.226-17.617 31.62-35.325 43.217-53.718-32.133-5.78-64.654-7.476-97.53-5.28 37.746-18.268 75.352-24.643 112.718-22.19 9.655-19.872 16.26-40.42 21.03-61.31-28.417-2.687-59.37 4.05-94.624 12.842 31.834-29.16 66.23-41.838 100.44-45.562 1.778-14.472 2.736-28.956 2.905-43.906-19.706-14.02-36.318-20.438-50.75-20.75-.79-.018-1.566-.02-2.344 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FallingOvoid;

impl IconShape for FallingOvoid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M184.97 21.875l66.718 179.03L27 25l178.344 216.406L23.22 163.22l175.186 146.56L49.5 298.595l183.594 85.72-88.875 38.936 154.155 18.094-21.063 56.22 96.22-34.814 32.968 35.22 28.22-56.22 56.06-17.438L462.5 385l40.875-85-55.344 10.563-7.686-146.063-44.406 77.5-74.313-181.188 1.125 140.313-137.78-179.25zm95.874 237.03c16.315-.184 40.993 12.932 63 34.94 29.342 29.34 42.85 63.397 30.156 76.092-12.695 12.696-46.783-.782-76.125-30.125-29.342-29.342-42.85-63.43-30.156-76.125 3.173-3.173 7.685-4.72 13.124-4.78zm96.72 37.345c37.93 3.08 67.592 34.657 67.592 73.406 0 40.8-32.887 73.656-73.687 73.656-40.057 0-72.43-31.67-73.595-71.437 8.263 23.457 30.67 40.375 56.875 40.375 33.176 0 60.25-27.106 60.25-60.28 0-25.107-15.517-46.69-37.438-55.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FangedSkull;

impl IconShape for FangedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.28 20.47c-77.526 0-145.72 67.908-175.06 167.5 46.895-20.557 78.628-49.975 107.843-87.782l14.812 11.406c-37.143 48.068-80.887 85.143-150.78 106.625 36.597 44.54 50.448 71.076 67.374 104.593 21.57-19.75 47.474-29.015 73-31.813l2.03 18.594c-20.132 2.207-39.486 8.55-56.406 21.844 7.788 15.57 14.405 31.608 19.875 48.312 61.633-28.76 136.57-28.723 196.686-.688 5.932-16.325 13.092-32.58 21.438-48.656-16.6-12.593-35.457-18.663-55.063-20.812L319.095 291c25.53 2.8 51.395 12.085 72.97 31.844 16.933-33.533 30.795-60.07 67.405-104.625-69.896-21.483-113.64-58.558-150.783-106.626l14.782-11.406c28.32 36.65 58.99 65.422 103.56 85.874C397.215 87.513 328.884 20.47 251.28 20.47zm-72.343 166.5l38.938 22.093L212 259.25c-29.007-5.152-72.863-1.908-97.125 10.656 14.706-41.107 38.44-66.103 64.063-82.937zm154.938 0c25.624 16.833 49.388 41.83 64.094 82.936-24.263-12.564-68.12-15.808-97.126-10.656l-5.875-50.188 38.905-22.093zm-78.844 52.436c17.432 29.764 29.146 60.467 37.25 91.78-14.67-4.69-32.994-15.165-36.967-31.498-6.46 16.56-23.07 26.95-37.563 31.5 9.438-33.41 19.7-62.215 37.28-91.782zm-2.124 137.53c-4.236.01-8.483.162-12.72.408v44.03h22.095v-44.25c-3.12-.12-6.245-.194-9.374-.187zm28.063 1.69v42.75H301V382.03c-6.593-1.44-13.277-2.577-20.03-3.405zm-59.47.562c-7.067 1-14.08 2.326-21 4v38.187h21v-42.188zM319.688 387v37.563c5.01 20.54 7.053 40.984 6.218 61.75 13.892-28.968 20.355-58.257 22.22-87.75-9.064-4.575-18.594-8.434-28.438-11.563zm-137.875 1.625c-9.826 3.35-19.375 7.414-28.5 12.22 2.043 28.72 8.497 57.247 22.03 85.467-.846-21.07 1.293-41.81 6.47-62.656v-35.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FangsCircle;

impl IconShape for FangsCircle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.064 21.654c-61.945 0-108.823 19.19-147.69 50.873h-.11l.013.08C96.2 88.174 79.044 106.733 63.002 127.54c13.466-7.973 28.174-14.91 43.81-20.82-32.252 37.934-51.837 87.843-51.837 142.4 0 64.49 27.35 122.493 70.656 161.89-22.716-7.12-43.878-16.202-62.628-27.307 48.742 63.224 107.65 105.89 200.062 105.89 90.676 0 154.59-42.808 201.206-105.89-21.023 12.138-45.283 21.964-71.5 29.434 44.684-39.42 73.048-98.352 73.048-164.016 0-55.86-20.528-106.848-54.164-145.1 19.013 6.514 36.74 14.356 52.616 23.52-15.24-20.623-32.332-39.077-51.6-54.58l.074-.43h-.61c-39.575-31.657-88.313-50.876-149.07-50.876zm1.36 59.024c4.486.02 8.973.103 13.453.24l23.566 77.29L323.94 84.41c7.248.882 14.437 1.916 21.546 3.108l32.325 185.517 26.034-149.414c27.012 33.946 43.283 77.666 43.283 125.5 0 64.49-29.564 121.507-75.166 157.163l-24.1-140.217-27.714 161.22c-4.556.518-9.134.978-13.728 1.374l-16.22-62.443-16.678 64.217c-6.068.135-12.142.165-18.213.087l-16.703-64.303-16.317 62.824c-5.24-.406-10.458-.9-15.652-1.47l-27.762-161.504-24.78 144.17c-48.574-35.306-80.43-94.18-80.43-161.115 0-51.262 18.688-97.8 49.257-132.643l27.277 156.558L182.625 86.92c7.287-1.18 14.655-2.185 22.074-3.03l22.66 74.317 23.6-77.418c4.487-.096 8.975-.134 13.464-.112z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FastArrow;

impl IconShape for FastArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.91 20.002v32.29l357.793 338.9L20.91 101.407v58.942l355.942 250.224-86.89-17.527 26.913 30.947-70.502 3.008 245.633 64.603-65.502-249.054-15.352 92.36-27.3-31.46 16.683 60.464L161.26 20.002h-22.37l142.276 208.935L109.496 42.17l98.975 138.547L45.194 20.002H20.91zm433 92.186l-32.234 38.482 55.19 208.21 15.286-217.794-38.242-28.9zm-231.88 327.89l-24.975 23.47 21.674 27.62 149.225-12.78-145.926-38.31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Feather;

impl IconShape for Feather {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M470.7 20L368.2 49.81l41.5-28.09c-26.2 5.92-59.3 17.5-100.9 36.19l-67.9 70.79L265 79.25c-23.3 12.96-48 29.95-71.8 49.85l-15.8 64.3-3.4-47.6c-23.5 21.6-45.6 45.6-63.9 70.9-19.23 26.5-34.26 54.5-41.79 82.4l-28.12-18.8c2.52 23.7 10.31 44.3 23.09 63.2l-33.62-10.3c7.64 23.5 20.13 38.7 41.25 51-11.83 33.3-17.38 68.1-23.34 102.8l18.4 3.1C87.31 277.4 237.9 141.8 374 81.72l6.9 17.38c-121.7 54.5-216.3 146.5-265.8 279.1 18.1.1 35.8-2.1 52.2-6.3l4.9-60.9 13.1 55.5c10.9-4 20.9-8.8 29.8-14.4l-20.7-43.5 32.8 34.8c8-6.4 14.6-13.6 19.6-21.5 30.4-47.5 62.2-94.7 124.8-134.2l-45.7-16.2 70.1 2.1c11.4-5.8 23.4-12.9 32.5-19.6l-49.7-4 74.7-17.6c5.8-5.8 11.2-11.9 16.1-18 17.3-21.94 29-44.78 26.2-65.55-1.3-10.39-7.5-20.16-17.6-25.63-2.5-1.3-5.2-2.45-7.5-3.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FeatherWound;

impl IconShape for FeatherWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M15.258 23.994C28.83 47.05 58.626 88.46 89.648 116.95l92.844 62.818-119.47-50.465-1.92-.315c24.343 38.854 55.535 70.026 92.005 93.282l127.3 60.376L155.9 253.238c40.5 39.53 100.607 75.72 151.4 98.698l63.925 24.37-82.89-11.066-.208.016c52.34 51.69 149.044 110.424 207.45 130.998-1.585-13.49-4.593-28.014-8.82-42.758-16.24-34.366-48.9-49.708-83.413-61.435 2.364-.095 4.702-.14 7.017-.126 22.757.123 43.142 5.6 60.71 18.603-13.84-30.897-32.514-59.165-54.246-76.754l.39.037c-26.092-21.573-56.34-40.94-89.81-58.67 46.746 9.337 102.14 38.655 136.29 63.16l.122.01c-34.19-46.3-90.762-97.425-140.103-130.974L208.53 148.023l136.18 37.754c-41.767-26.197-80.66-45.64-123.83-61.582L108.19 87.82l122.273 13.176C176.465 68.613 75.36 38.786 15.26 23.994h-.002z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FeatheredWing;

impl IconShape for FeatheredWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M22.472 28.76c107.552 68.108 207.02 121.53 322.01 133.68 40.707 4.3 47.814 34.94 31.675 70.102-26.52 57.774 16.43 143.547 112.342 195.465-5.983 27.987-46.316 51.545-71.16 43.272-20.682-43.168-52.9-88.738-87.806-76.376-71.394 25.286-144.915 30.663-194.836 3.448 66.227-8.987 129.273-26.595 184.8-54.342C219.18 359.013 100.407 359.4 55.4 309.038c91.057 3.638 164.862-5.6 247.26-26.224C192.912 272.707 72.247 252.64 38.277 185.35c80.977 25.247 189.57 34.646 263.032 35.158C186.86 191.675 32.936 112.722 22.47 28.76z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fedora;

impl IconShape for Fedora {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.125 97.438c-8.085.263-14.998 3.486-22.125 9.062-10.136 7.93-19.822 21.153-28.906 36.47-12.06 20.333-22.702 43.987-35.188 63.686l1.156.72c-.418.68-.383.62-.25 1.374.134.754.767 2.354 2.407 4.5 3.277 4.293 10.342 10.21 19.936 16.156 19.188 11.89 48.29 24.49 78.813 34.906 30.52 10.418 62.6 18.744 87.874 22.625 12.637 1.94 23.6 2.753 31.406 2.313 6.83-.385 10.57-2.374 11.094-2.47 2.313-12.74 5.12-26.273 7.437-40.03 5.32-31.57 7.318-63.1-.686-79.188-7.48-15.038-17.617-20.69-29.03-22.375-7.012-1.034-14.537-.068-21.627 1.97 8.783 5.46 18.177 9.676 28.594 11.624l-3.436 18.376c-29.7-5.554-51.25-24.54-69.344-42-18.093-17.46-33.43-33.012-47.156-36.437-3.314-.828-6.41-1.236-9.344-1.282-.55-.01-1.086-.018-1.625 0zM51.72 172.156c-3.565.077-6.743.487-9.532 1.22-11.158 2.926-17.707 9.42-21.282 27.343-5.598 28.066 2.315 52.298 19.938 74.874 17.622 22.576 45.243 42.83 77.625 59.937 62.247 32.887 141.57 54.053 199.155 63.19l7.594-18.064 4.342-10.28 9.344 6.062 54.25 35.062c32.376 2.315 60.15-1.828 77.78-10.563 9.02-4.468 15.296-9.976 18.94-16.062 3.642-6.086 5.003-12.87 3.437-21.72-4.446-25.12-12.418-39.6-23.375-49.31-10.958-9.712-25.828-15.125-45.313-19.22-6.452-1.356-13.402-2.563-20.75-3.75-2.82 16.205-4.812 30.047-4.188 38.344.416 5.53-2.52 11.542-6.625 14.717-4.104 3.176-8.748 4.535-13.843 5.407-10.19 1.743-22.893 1.178-37.908-.75-30.03-3.857-68.82-13.617-106.125-26.375-37.304-12.76-72.902-28.365-96.687-44.908-11.892-8.27-21.073-16.588-25.813-26.78-2.37-5.097-3.465-10.944-2.28-16.688 1.183-5.744 4.534-10.91 9.156-15.094 5.593-5.063 11.163-12.628 16.78-21.625-15.758-6.912-30.355-12.82-43.468-17.125-16.417-5.39-30.464-8.075-41.156-7.844zm88.968 51.47c-2.743 3.246-5.603 6.26-8.594 8.968-2.423 2.193-3.146 3.77-3.406 5.03-.26 1.262-.158 2.677.937 5.032 2.19 4.71 9.037 11.992 19.563 19.313 21.05 14.64 55.74 30.15 92.03 42.56 36.292 12.413 74.398 21.896 102.47 25.5 14.035 1.804 25.686 2.02 32.375.876 2.73-.467 4.262-1.1 4.968-1.47-.39-6.627.103-14.072 1.095-22.123-2.2.287-4.467.46-6.813.593-9.955.562-21.878-.436-35.312-2.5-26.868-4.126-59.644-12.682-91.063-23.406-31.418-10.724-61.326-23.52-82.625-36.72-10.65-6.598-19.196-13.17-24.937-20.686-.24-.316-.456-.648-.688-.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Field;

impl IconShape for Field {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.625 16.75c-132.32 0-239.78 107.46-239.78 239.78s107.46 239.783 239.78 239.783 239.78-107.462 239.78-239.782-107.46-239.78-239.78-239.78zm0 17.906c58.24 0 111.19 22.37 150.75 59-53.35-22.728-121.28 4.247-156.97-18.594 15.65 28.19 42.047 29.17 74.032 27.438 22.816 27.9 61.838 17.83 106.782 17 17.17 21.857 30.288 47.033 38.31 74.406-23.755 6.825-72.6 4.008-92.374-.875 8.236 8.03 19.117 12.027 32.094 14.595-48.222 1.067-94.365 5.457-124.375-11.688 8.84 14.213 20.115 23.206 33.28 28.625-19.962-.433-38.48-3.21-54.905-11.093 26.83 30.444 69.098 30.62 114.47 26.28 31.063 11.3 66.71 13.98 100.717 12.375.03 1.47.063 2.93.063 4.406 0 19.2-2.428 37.834-7 55.595-9.933-2.477-20.396-4.745-31.313-6.78l6.907-25.44-18.03-4.874-7.377 27.126c-14.308-2.26-29.233-4.163-44.593-5.75l3.344-31.375-18.594-2-3.375 31.626c-17.664-1.49-35.795-2.55-54.095-3.22l1.375-34.623-18.656-.75-1.406 34.812c-11.082-.238-22.19-.33-33.282-.28-6.816.03-13.623.142-20.406.28l-1.5-37.72-18.656.75 1.5 37.47c-17.666.618-35.106 1.605-52.03 2.938l-4.033-37.688-18.56 1.97 3.968 37.342c-14.93 1.44-29.428 3.16-43.22 5.157l-8.812-32.5-18.03 4.906 8.28 30.5c-13.984 2.39-27.106 5.07-39.187 8.063-4.562-17.742-6.97-36.357-6.97-55.532 0-30.21 6.03-58.983 16.938-85.217 45.587 15.482 137.805-12.232 208.062 16.468-13.577-12.7-29.093-20.01-45.53-24.53 42.76 4.614 101.767-13.058 162.343 11.688-13.39-12.526-28.787-19.426-44.97-23.97-31.258-26.39-71.34-28.437-109.812-27.437-36.037-25.845-82.634-23.168-124.31-21.655 40.3-41.466 96.683-67.22 159.155-67.22zm-4.22 275.125c10.84-.048 21.707.064 32.532.283l-1 24.75c-16.738-.202-33.458-.102-50.156.312l-1-25.094c6.533-.125 13.063-.22 19.626-.25zm-38.31.783l1 25.156c-16.37.62-32.73 1.506-49.064 2.655l-2.686-25.094c16.482-1.244 33.504-2.136 50.75-2.717zm89.53.03c17.893.626 35.6 1.606 52.813 3l-2.563 23.97c-17.098-1.158-34.168-1.956-51.22-2.407l.97-24.562zm-158.906 4.25l2.655 24.97c-12.164.997-24.323 2.114-36.47 3.375l-6.436-23.75c12.845-1.773 26.32-3.3 40.25-4.594zm230.343.438c14.38 1.44 28.335 3.135 41.687 5.158l-6.063 22.343c-12.733-1.48-25.45-2.752-38.156-3.81l2.533-23.69zm-289.188 6.97l6.22 23c-12.295 1.406-24.567 2.948-36.845 4.594-2.99-6.453-5.692-13.073-8.063-19.844 11.808-2.878 24.784-5.464 38.688-7.75zm349.375 1.28c10.804 1.955 21.1 4.112 30.813 6.5-2.303 6.576-4.926 13.008-7.813 19.283-9.63-1.538-19.232-2.94-28.844-4.22l5.844-21.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireAce;

impl IconShape for FireAce {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.344 17.25l-8.47 22.094C227.7 89.27 185.52 123.008 146.095 157.156c-39.426 34.148-76.808 69.704-78.53 123.656-1.82 56.95 34.185 93.41 76.874 101.75 38.584 7.54 82.765-6.755 110.812-43.843 27.75 40.234 71.347 53.59 109.28 44.155 41.744-10.382 76.882-47.91 78.564-101.47.896-28.52-8.002-52.38-22.063-72.686-14.06-20.307-33.06-37.34-53.03-54.064-39.94-33.445-83.52-65.632-103.75-115.5l-8.906-21.906zm.47 47.563C280.483 109.94 321.313 139.954 356 169c18.616 15.588 35.503 30.922 47.72 47.656-15.248-15.34-36.617-25.87-62.814-27.78 14.24 7.433 22.045 20.73 25.625 41.25-22.92-22.078-45.28-23.984-70.217-3.345 25.26-5.27 45.018 23.237 28.062 43.532-17.233 20.63-51.305.477-52.563-28.937-17.415 10.73-14.48 45.57-41.843 41.72 6.936-31.95-1.667-52.925-30.126-64.658 4.436 7.454 5.53 17.462 3.344 26.75-4.07 17.258-19.666 28.24-35.125 23.407-18.04-5.553-23.724-24.72-18.375-48.5 3.51-15.598 12.686-27.463 23.968-35.125-18.27.81-34.315 6.753-47.562 16.124 9.7-9.987 20.65-19.767 32.25-29.813 34.406-29.8 73.928-61.16 97.47-106.468zm24.717 108.53c-24.21.433-40.19 22.44-32.342 55.25 14.05-38.053 44.226-41.72 81.437-30.405-17.092-17.59-34.568-25.103-49.094-24.844zM256.845 366.22l-60.03 119.25h120.06l-60.03-119.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireAxe;

impl IconShape for FireAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.75 19.78L107.906 116l43.03 31.938 48.814-96.97-54-31.187zm77.094 26.907L152.47 186.5l86.468 49.938 88.53-129.344-104.624-60.406zm112.187 82.376L262.376 235.28c17.46 28.874 29.09 63.707 35.375 103.126 56.317-31.27 107.836-85.753 135.28-152.75l-98-56.594zm114.345 66.03c-30.433 72.7-86.892 130.64-148.938 163.063 2.02 18.153 3.012 37.162 3 56.906 71.107-23.5 159.603-92.374 187.907-195.75l-41.97-24.218zm-289.094 17.5c-39.7 79.313-78.154 159.572-137.905 237.157v44.78H66.72c41.425-87.972 93.64-170.09 145.53-251.936l-51.97-30z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireBomb;

impl IconShape for FireBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.938 32.188c-16.757.062-32.684 5.93-45.907 15.375-33.85 24.18-50.405 74.845-18.686 117.968C69.32 199.486 58.5 243.86 32.656 268.907L45.5 282.344c31.974-30.99 45.087-85.642 14-127.906-25.943-35.27-12.438-72.78 14.03-91.688 13.236-9.452 29.788-13.753 46.126-10.53 15.666 3.088 31.67 13.164 46.063 34.593l-59.095 34.218 24.125 41.876c-49.458 63.36-58.507 153.055-15.906 227.063 55.97 97.234 179.88 130.564 276.75 74.468 96.87-56.096 130.002-180.39 74.03-277.625-42.52-73.87-124.233-110.863-203.53-99.782L237.906 45l-56.03 32.47c-16.75-25.338-37.47-39.752-58.688-43.94-4.776-.94-9.56-1.36-14.25-1.342zm147.625 95.03c93.497 43.5 111.52 101.61 74.718 169.25 33.92-18.19 48.58-45.006 34.314-83.968 32.75 21.997 50.043 65.77 49.312 113-.972 62.85-33.36 102.228-74.562 119.03 8.57-13.104 13.687-29.526 13.687-47.374 0-40.277-25.984-73.374-59.217-77.156 13.385 8.105 22.312 22.803 22.312 39.594 0 25.546-20.703 46.25-46.25 46.25-21.17 0-39.004-14.218-44.5-33.625-2.248 7.825-3.5 16.212-3.5 24.936 0 16.41 4.325 31.624 11.688 44.157-39.222-18.57-69.606-57.46-70.875-115.813-.993-45.67 16.568-75.766 56.718-97.75-15.158 28.373-9.246 61.335 6.906 75.125-10.62-69.398 94.788-106.956 29.25-175.594v-.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireBottle;

impl IconShape for FireBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M414.875 20.625L408.28 27.5l-6.155 6.375 72.47 72.47L481.06 100l6.72-6.594-6.688-6.656-59.47-59.406-6.75-6.72zm-42.438 10L339.47 63.563 442.874 166.97 475.813 134 372.438 30.625zM219.22 88.875c-1.15 0-2.29.013-3.44.03-50.362.818-100.432 20.43-138.874 58.845-78.645 78.614-78.63 206.058.03 284.688 78.665 78.63 206.195 78.65 284.845 0 66.53-66.5 76.702-167.79 30.595-245.157l22.375-22-13.22-13.218-27.467 27-5.438 5.344 4.156 6.406c29.643 45.634 36.865 101.44 21.626 152-16.766-1.182-31.593-14.78-36.125-34-3.035-12.897-1.504-26.806 4.658-37.156-39.524 16.293-51.447 45.442-41.813 89.813-38.003 5.345-33.94-43.066-58.125-57.97-1.747 40.85-49.1 68.87-73.03 40.22-23.55-28.187 3.92-67.758 39-60.44-34.632-28.662-65.7-26.033-97.532 4.626 4.97-28.496 15.814-46.957 35.593-57.28C102.417 235.333 56.08 279.655 41.376 332c-14.042-59.465 2.182-124.513 48.72-171.03 26.516-26.5 59.07-43.166 93.186-50-1.638 2.04-2.81 4.325-3.468 6.78-5.217 19.473 24.254 44.27 65.813 55.406 41.56 11.136 79.47 4.38 84.688-15.094 1.552-5.795-.005-12.072-4-18.312l4.187-4.344 26.656-27.72-13.25-13.25-21.812 22.69c-31.632-18.792-67.267-28.222-102.875-28.25zM249 209.03c-19.79.31-43.318 10.84-66.313 34.5 51.676-15.715 93.58-10.627 113.094 42.22 10.9-45.567-11.252-76.12-44.874-76.72-.63-.01-1.268-.01-1.906 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireBowl;

impl IconShape for FireBowl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M282.344 15.5C205.347 26.1 179.64 117.517 196.47 178.188c21.46 77.357-72.35 84.35-51.876-38.5-27.153 44.283-34.75 83.65-29.28 116.843.016.096.043.188.06.283 6.086 32.673 23.263 58.04 46.595 76.562 14.994 11.903 32.572 20.854 51.25 26.688-59.82-145.108 153.65-144.51 89.593 3.875 20.82-4.818 39.963-13.81 55.312-27 20.46-17.582 34.67-42.43 37.688-76.313 1.43-24.45-2.34-53.204-12.875-86.563-26.74 103.853-85.32 79.05-31.344-53.03-95.86 83.26-108.066-17.42-69.25-105.532zm130.53 258.063c-1.06 6.353-2.47 12.473-4.25 18.312 14.737 5.447 26.477 11.677 34.376 17.938 9.02 7.148 12.5 13.61 12.5 19.28 0 5.673-3.48 12.164-12.5 19.313-9.02 7.15-23.072 14.23-40.844 20.188-35.544 11.915-85.786 19.53-141.25 19.53s-105.674-7.615-141.22-19.53c-17.77-5.958-31.822-13.04-40.842-20.188-9.02-7.15-12.5-13.64-12.5-19.312 0-5.672 3.48-12.133 12.5-19.28 6.886-5.46 16.706-10.874 28.875-15.783-2.562-5.59-4.816-11.407-6.69-17.467-13.486 5.386-24.878 11.545-33.81 18.625-10.75 8.52-18.33 18.99-19.407 30.968h-.157v9.344c0 44.85 24.787 85.116 63.47 113.625 38.68 28.51 91.436 45.78 149.5 45.78 58.062 0 110.817-17.27 149.5-45.78 38.68-28.51 63.468-68.774 63.468-113.625h-.063c.416-2.088.658-4.224.658-6.406 0-13.205-7.945-24.7-19.563-33.906-10.634-8.43-24.763-15.56-41.75-21.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireBreath;

impl IconShape for FireBreath {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.563 17.5l1.718 345.656c15.677 8.52 35.932 6.66 49.75-1.625 7.5-4.494 12.795-10.567 14.97-17.03 2.175-6.463 1.855-13.602-3.625-22.688-58.988-97.785-45.843-189.42 5.688-240.843 51.53-51.424 140.25-61.073 224.687-1.626 13.64 9.602 20.366 9.61 24.594 7.656 4.227-1.954 8.902-8.547 12.594-18.72 3.69-10.17 6.408-22.988 9.312-34.81 1.32-5.38 2.57-10.488 4.156-15.282L19.562 17.5zm172.625 39.28c-4.418.057-8.753.3-13.032.75l98.97 66.69 16.53-34.595c-35.624-23.28-70.743-33.247-102.47-32.844zm-65.72 17.94c-9.217 5.424-17.68 11.976-25.218 19.5-12.852 12.824-23.157 28.612-30 46.78 71.867 74.02 173.938 182.317 76.313 160.344 30.6 28.633 137.543 49.855 149.593 98.094 10.005 40.048-25.533 71.875-55.78 71.875-40.617 0-82.835-32.52-44.876-70.157-24.106 4.008-35.584 21.004-36.22 40.25-.633 19.247 9.704 40.793 29.345 54.063h303.03V170c-7.068-59.46-121.172-84.22-119.03 3.47 23.285-55.158 65.423 9.63 52.906 56.343-9.737 36.35-42.167 58.896-88.31 29.218-106.057-68.21-78.403-101.62-132.126-157.342 17.683 74.736-32.005 32.17-79.625-26.97zM61.845 195c.08 32.478 9.46 69.05 31.093 107.844l22.126-13.125L61.843 195z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireDash;

impl IconShape for FireDash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.857 21.904c-24.193.012-51.198 5.552-81.1 17.467 143.7 12.608 150.35 129.263 84.032 132.814-85.27 4.565-53.232-57.217-133.34-103.03C200.445 201.48 94.44 190.33 21.054 59.23c12.805 85.755 24.28 116.942 78.26 153.596C261.996 323.294 94.618 347.8 36.82 245.53c14.568 93.454 68.364 132.803 131.707 139.93-42.753 24.49-99.452 32.49-143.01 25.556 51.025 42.317 131.606 40.94 193.515 8.576-37.137 36.123-97.446 70.644-116.803 74.728H276.36C517 405.563 530.305 232.45 454.827 124.492c-2.433 26.21-10.08 49.507-25.545 70.23-18.48-102.394-69.02-172.86-155.426-172.818zm2.82 184.666l141.384 52.155c.286-3.207.86-6.495 1.747-9.807 5.62-20.973 21.605-34.913 35.705-31.135 14.1 3.778 20.973 23.842 15.353 44.815-5.62 20.974-21.603 34.914-35.703 31.136-.725-.194-1.427-.442-2.113-.72l-60.58 49.394 70.637 19.584-140.023 84.71 65.848-68.866-31.32-7.006-150.335 122.58 158.06-196.89-137.39-41.137 137.006 5.654-68.275-54.467z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FirePunch;

impl IconShape for FirePunch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112.063 18.313c-35.217 1.23-60.2 14.463-75.188 33.593-14.988 19.13-19.97 43.266-18.75 65.906 1.754 32.57 9.408 54.908 21.22 70.47 11.81 15.56 27.39 23.635 42.468 28.905 15.078 5.27 29.9 8.127 41.874 12.844 11.974 4.72 20.766 10.552 26.75 22.5 6.285 12.55 6.178 22.293 3.094 30.064-3.082 7.77-9.616 13.965-18.155 17.656-17.078 7.382-40.54 4.336-54.5-17l-17-26-.156 31.063c-.488 101.54 66.703 164.85 144.874 189.843 78.17 24.993 168.216 14.294 219.094-32.5l.093-.094.095-.093c39.756-38.7 61.687-98.01 66.47-157.345 4.78-59.336-7.446-119.122-39.595-159.063l-14.406-17.875-2.188 22.844c-1.345 14.065-5.615 21.673-9.156 24.814-3.54 3.14-6.268 3.302-10.313 1.53-8.09-3.542-18.968-19.604-13.687-44.78 4.81-22.926-5.764-46.93-27.25-61.72s-53.64-20.68-92.97-10.53l-21 5.437 18.376 11.532c26.615 16.705 35.238 34.796 34.844 48.97-.394 14.173-9.663 26.144-25.063 31.562-16.158 5.685-32.666 3.894-42.75-2.188-10.083-6.08-14.88-14.515-10.156-29.53 4.062-12.907 3.277-24.84-1.655-34.22-4.932-9.38-13.362-15.72-22.563-19.812-18.4-8.183-40.61-8.668-57.28-4.875l-15.188 3.468 10.22 11.75c20.052 23.17 15.79 48.66 3.405 64.218-6.194 7.78-14.342 12.618-22.282 13.5-7.94.883-16.144-1.522-24.75-10.937-13.343-14.597-18.417-30.135-16.782-46.595 1.636-16.46 10.417-34.24 26.97-51.5l15.155-15.813h-22.218zM90.53 39.843C80.93 54.007 75.048 68.81 73.563 83.75c-2.15 21.656 5.202 43.165 21.563 61.063 11.864 12.978 26.808 18.44 40.625 16.906 13.817-1.537 26.06-9.407 34.844-20.44 14.907-18.723 20.004-47.827 5.625-74.25 10.56-.178 22.284 1.282 31 5.157 6.548 2.913 11.155 6.77 13.593 11.407 2.437 4.637 3.352 10.54.406 19.906-6.84 21.73 2.3 41.5 18.31 51.156 16.013 9.657 37.74 11.16 58.626 3.813 21.647-7.617 36.914-26.402 37.53-48.657.483-17.332-7.973-35.715-25.998-52 25.156-2.76 44.54 2.538 57.468 11.437 16.217 11.163 22.697 27.442 19.53 42.53-6.64 31.668 5.32 57.306 24.533 65.72 9.606 4.207 21.628 2.934 30.186-4.656 4.28-3.796 7.717-8.793 10.28-14.97 19.573 34.312 27.843 81.467 24.033 128.75-4.483 55.614-25.494 110.9-60.69 145.282l-.03.03c-43.612 40.08-128.142 51.643-200.72 28.44-66.173-21.158-121.51-69.148-130.468-148.188 18.327 12.028 41.005 12.984 58.97 5.218 12.408-5.364 22.972-14.95 28.124-27.937 5.153-12.987 4.428-28.983-3.75-45.314-8.355-16.684-22.304-25.87-36.594-31.5-14.29-5.63-29.262-8.434-42.593-13.094-13.332-4.66-24.78-10.774-33.75-22.593-8.972-11.82-15.816-30.03-17.44-60.157-1.03-19.168 3.328-38.716 14.814-53.376C60.02 52.68 72.344 44.1 90.53 39.844zM360.157 160.97l-105.312 48.624c-4.956 21.11 4.13 36.688 22.47 48.656l105.31-48.625c-1.136-19.137-3.203-37.863-22.468-48.656zm26.906 72.905c-12.008.01-22.032 6.96-30.593 18.97l38.686 112.56c17.528 1.515 34.735 2.114 45.625-15.686l-38.686-112.564c-5.343-2.235-10.333-3.285-15.03-3.28zm-60.937 28.656c-12.008.01-22.032 6.962-30.594 18.97l45.845 128.625c17.525 1.51 34.74 2.12 45.625-15.688l-45.844-128.625c-5.34-2.234-10.332-3.284-15.03-3.28zm-62.25 24.94c-12.007.008-22.03 6.96-30.594 18.967l45.376 126.907c17.524 1.51 34.732 2.146 45.625-15.656L278.94 290.75c-5.342-2.236-10.364-3.285-15.063-3.28zm-63.625 22.405c-11.925.254-22.003 7-30.75 18.47l36.125 105.092c17.37 1.065 34.45 1.283 45.625-15.687l-36.125-105.063c-5.26-1.993-10.21-2.91-14.875-2.812z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireRay;

impl IconShape for FireRay {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M12.195 20.94v39.128c76.452 73.026 151.387 152.574 187.47 215.5 12.6 21.978 38.114 72.972 49.056 118.557-31.424-3.388-64.762-14.633-96.36-33.873 11.605 19.025 25.57 37.838 42.632 54.898 83.895 83.897 200.548 103.142 260.473 43.217 59.927-59.927 40.678-176.574-43.22-260.47-17.062-17.063-35.872-31.028-54.895-42.633 21.316 35.01 33.27 71.947 35.04 106.29-47.3-13.436-103.76-38.565-127.316-51.976C201.59 173.434 121.32 98.073 47.818 20.938H12.195zM374.89 285.866c47.63 0 86.557 36.296 90.727 82.817-12.225-22.7-36.207-38.133-63.797-38.133-39.995 0-72.42 32.423-72.42 72.42 0 5.462.61 10.78 1.758 15.897 2.835-21.18 21.098-37.674 43.018-37.674 23.866 0 43.414 19.55 43.414 43.414 0 23.866-19.548 43.413-43.414 43.413-1.59 0-3.157-.093-4.703-.262.114.057.225.12.34.176-48.052-2.623-86.028-42.24-86.028-90.96 0-50.428 40.677-91.107 91.104-91.107z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireRing;

impl IconShape for FireRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M312.344 16.813c5.096 53.015-76.687 71.94 3.812 131-21.002-67.855 39.96-80.94-3.812-131zm-173.47 43.124c2.864 58.907-7.995 100.984-34.093 136.97l-.5.28c1.42-28.968-14.337-52.78-32.093-75.906 2.882 39.21-3.964 78.4-20.156 117.564-20.79 23.86-32.718 51.704-32.718 81.437 0 88.458 105.59 160.158 235.875 160.158s235.907-71.7 235.907-160.157c0-10.08-1.377-19.935-4-29.5-6.37-30.335-7.76-49.572-.313-59.155 12.078-15.54 11.654-39.39-2.405-62.406-7.558 48.062-39.085 30.124-63.063-53.72-27.96 94.983-72.27-4.392-58.406-53.156-26.26 21.598-29.623 69.962-28.22 107.125-5.712-1.39-11.528-2.66-17.436-3.75-44.64-15.223-78.633-56.624-62.375-86.814-22.038 10.264-24.77 32.17-16.375 57.22 19.214 57.337-56.703-10.13-53.72-56.064l-17.093 72.688c-.154-34.474-5.844-73.924-28.812-92.813zM255.19 197c109.056 0 197.468 60.017 197.468 134.063 0 22.193-7.938 43.127-22 61.562-15.436 6.877-24-22.344-25.53-41.47-16.12 20.592-.576 58.922-17.407 75.064-2.128-10.244-11.962-22.962-25.345-30.75 2.11 22.203-4.025 43.33-29.72 58.936-31.15 5.69-44.428-28.71-49.56-54.22-4.033 33.512-16.028 58.988-49.97 64.095-4.066-.306-8.107-.683-12.094-1.155-30.51-18.392-20.632-49.433-24.25-78.594-2.93 29.505-24.438 65.4-39 56.158-25.677-16.295 10.893-33.548-9.53-63.657-2.415 30.193-21.75 31.483-42.03 29.876.94-14.196 1.723-28.353-2.75-41.25-9.138 7.68-18.04 15.838-34.564 9.938-7.223-13.934-11.156-28.92-11.156-44.53C57.75 257.017 146.13 197 255.188 197z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireShield;

impl IconShape for FireShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.063 24.28v11.282c0 100.82 9.297 189.164 39.28 264.563 29.985 75.4 80.96 137.547 162.5 184.625l4.688 2.72 4.69-2.72C341.9 438.745 392.977 376.788 423.56 301.22c30.585-75.57 40.97-164.495 40.97-265.658V24.407l-11 1.97c-127.69 22.82-256.29 25.504-391.407 0L51.062 24.28zm394.625 22.25c-.756 95.204-11.306 178.18-39.438 247.69-28.608 70.684-75.067 127.792-148.72 171.56-75.508-44.82-121.81-102.07-149.842-172.56-27.53-69.23-37.117-151.615-37.813-246.5 129.47 23.027 253.39 20.565 375.813-.19zM287.563 95.126c-89.104 26.58-40.383 91.028-63.063 125.438-23.757 36.044-72.72 29.163-56.656-64.5-70.924 81.05-2.55 220.42 54.844 256.53-16.13-14.81-26.75-40.03-26.75-68.656 0-8.276.91-16.274 2.562-23.812 7.277 19.842 24.264 33.78 44.063 33.78 26.426 0 47.843-24.79 47.843-55.374 0-10.14-2.356-19.636-6.47-27.81 19.228 13.78 32.345 41.39 32.345 73.217 0 24.946-8.07 47.3-20.81 62.438C347.752 374.36 394.957 294.442 348 199.28c-20.957 107.846-108.105-45.925-60.438-104.155z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireSilhouette;

impl IconShape for FireSilhouette {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.95 16.707c-151.29 47.714 57.322 110.88-26.536 131.344C190.7 161.648 137.3 96.283 192.947 45.313c-90.766 32.524-66.292 89.67-12.396 113.25 34.31 15.01 31.884 61.38 8.643 64.637 46.37-54.285-116.637-44.737-86.03-147.47-126.44 158.063 132.535 163.37 51.6 273.194 16.4-51.26-51.074-33.42-65.52-77.88-48.557 115.975 86.87 96.047 107.81 222.95h36.394l-7.375-108.703H196.93c0-49.724 3.178-108.336 45.2-116.245-7.75-9.352-12.786-24.51-12.786-39.207 0-26.536 15.774-48.523 35.98-51.15h.002c1.348-.17 2.78 0 4.164 0 22.13 0 40.145 22.846 40.145 51.15 0 14.334-4.772 29.304-12.192 38.613 45.905 7.12 44.903 66.976 44.903 116.84H314.69l-6.524 108.704h36.752c14.29-138.24 137.056-121.245 77.576-235.742 9.728 46.034-32.646 93.67-53.514 52.13-19.04-37.903 125.515-105.092 70.21-215.175 4.588 81.484-114.155 120.303-118.663 65.824 52.768 23.022 73.61-45.905 30.02-71.985-40.69-24.346-116.444-36.76-77.596-72.338zm69.488 20.635c44.895 15.685 63.888 78.675 48.73 110.674 18.238-3.568 70.807-106.98-48.73-110.674z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireTail;

impl IconShape for FireTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.256 36.47c2.22 49.155 45.426 31.47 81.68 62.66-30.405-53.095-58.346-36.28-81.68-62.66zm152.37 22.743c-13.924 49.15 27.75 38.738 54.208 100.21 4.956-65.19-34.792-64.58-54.21-100.21zm-160.038 34.39c-12.396.072-25.558 1.038-39.578 2.918 44.21 11.542 58.108 22.066 85.29 42.896C134.302 128.24 82.323 123.44 7.85 179.13c100.65-23.06 168.2-8.253 227.08 22.58-12.79 1.896-24.61 14.406-30.127 22.946 38.377 2.05 77.634 23.985 110.93 64.72-12.35-7.992-42.33-3.547-56.196 6.128 37.242 9.056 75.687 49.523 90.388 81.35 7.484 16.204 17.74 31.434 29.85 43.304.29.29.586.568.88.852.617.59 1.236 1.178 1.862 1.752.333.304.67.604 1.005.902 18.724 16.745 41.42 25.36 65.057 17.654 50.29-16.395 54.6-72.206 48.867-113.69-8.09-58.54-29.06-92.95-43.65-119.01 2.673 27.62-6.556 45.437-20.847 56.835-1.056-43.277-11.183-61.67-43.662-96.086.833 20.694-2.812 29.525-17.337 40.526-1.172-43.655-51.075-89.232-110.564-112.553v.002c19.306 21.608 32.916 42.774 36.967 69.78-36.27-48.287-80.83-73.92-147.77-73.52zm258.844 12.206c-28.72 35.415 15.06 53.01 23.328 99.5 9.73-57.558-21.908-65.23-23.328-99.5zm-341.036 1.477c-20.846-.04-35.705 8.377-56.01 1.582 25.778 40.33 56.76 4.1 102.47 12.737-19.29-11.226-33.952-14.295-46.46-14.32zm60.727 80.856c-21.19.374-42.96 8.55-60.262 32.492 40.094-19.363 84.84 36.146 117.017-18.182-14.96-7.26-35.565-14.685-56.754-14.31zm76.467 55.242c-9.53-.13-18.925 2.26-28.596 6.635 41.05 3.358 27.72 37.944 79.283 17.513-18.547-16.713-34.805-23.93-50.687-24.148zm-23.85 40.195c26.456 60.895 74.973 30.56 118.375 76.615-45.78-76.544-85.973-47.214-118.375-76.615zm246.822.22c6.257 1.843 12.41 4.995 18.25 9.374 13.202 9.9 24.376 26.025 29.713 45.91 5.337 19.884 3.734 39.42-2.74 54.582-6.474 15.16-17.43 25.74-31.437 29.486-14.007 3.747-28.804.054-42.008-9.847-13.204-9.9-24.378-26.024-29.715-45.91-2.57-9.574-3.517-19.065-3.1-28.03 18.53 19.584 41.6 28.266 57.48 19.73 19.717-10.604 21.098-43.87 3.558-75.296z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireWave;

impl IconShape for FireWave {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M328.5 30.156c-99.58-.03-191.647 52.414-271.156 151.438 9.912-28.743 47.544-88.772 70.28-108.094-41.265 15.076-87.27 63.656-106.5 114.5v61.53c18.558-26.168 38.798-47.69 65.25-71.78-26.49 44.543-52.15 119.388-65.25 176.688v141.937h26.72c19.804-93.475 48.162-162.69 100.406-233-19.15 60.202-24.366 124.175-20.906 195.188 9.994-45.116 32.146-93.158 73.094-142.657-18.344 65.052-21.955 124.932-4.813 180.47h57.188c-2.562-32.025 1.113-56.394 14.062-80.938-.532 13.048.643 26.58 3.875 40.875 5.996-34.556 17.585-64.022 37.5-93.657-7.526 40.626-5.283 84.21 10.375 133.72h88.688c-5.158-31.55-2.596-66.12 8.218-107 1.704 39.91 11.515 75.754 32.47 107h51.563v-86.438c-7.074 13.913-10.72 29.376-12.97 44.968-7.695-43.873-9.963-84.805-7-122.062-23.246 21.267-34.008 65.82-35.624 120.312-20.16-86.008-18.087-166.31 12.28-239.437-70.757 23.94-117.454 140.15-126.75 257.53-12.338-113.425 14.68-207.775 68.344-279.156-35.215 9.957-67.622 43.803-94.625 89.375 21.048-68.622 56.62-123.21 101.624-164.72-113.59-3.315-207.167 93.895-261.063 216.094 17.013-71.856 50.828-131.208 96.376-178.125-83.605 13.105-129.81 80.075-168.28 191.874C106.93 174.272 207.072 79.45 377.968 34.406c-16.676-2.84-33.175-4.245-49.47-4.25zM190.125 108c-30.494 21.716-78.727 81.786-113.313 141.875C95 180.18 131.58 121.033 190.125 108zm264.594 64.5c-21.134.42-43.392 17.915-54.94 52.97 29.15-23.528 58.873-32.432 91.064-32.845-9.516-13.632-22.58-20.395-36.125-20.125zm-162.095 40.406C250.05 291.598 224.94 381.348 211.97 478.78c-19.036-107.454 13.613-221.943 80.655-265.874z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireZone;

impl IconShape for FireZone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M310.764 27.086c35.65 52.304 28.718 138.494 1.23 202.857.814-37.525-4.488-79.686-18.12-124.634 9.56 106.27-74.502 226.382-113.556 176.323-18.965-24.314-25.796-96.042 7.48-148.52-20.36 12.828-36.114 34.506-46.052 60.358C89.2 293.815 127.04 411.82 248.318 411.82c154.426 0 249.604-250.51 62.446-384.732zM225.67 132.773c-11.55 1.477-24.57 13.962-33.502 34.973-14.002 32.94-13.464 74.536.64 92.914 10.576 13.785 25.695 10.895 38.678-5.465l.004-.004c4.328-5.45 8.49-12.35 11.99-20.588.11-.262.002-.618.112-.88-10.898 12.023-23.323 14.096-32.006 2.782-12.374-16.126-12.36-52.928-.074-81.832 4.055-9.54 8.972-16.68 14.158-21.9zm141.492 80.635c-11.895 181.347-175.84 187.74-203.445 106.76h.002c51.202 34.305 111.037 8.255 128.913-60.43l6.043 51.364c31.064-29.207 49.024-50.36 68.486-97.694zM99.722 363.936C49.57 377.563 17.175 397.75 17.175 420.14c0 41.018 106.522 74.352 237.695 74.352 131.172 0 237.696-33.334 237.696-74.35 0-22.312-32.12-42.58-81.964-56.206 17.23 8.88 27.517 19.25 27.517 30.445 0 32.13-82.312 58.546-183.25 58.546-100.936 0-182.66-26.418-182.66-58.545 0-11.253 10.11-21.536 27.517-30.444h-.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fireball;

impl IconShape for Fireball {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.28 18.78c-1.2 6.05 1.1 13.32 9.095 19.876 15.883 13.01 36.716-3.12 27.875-19.875h-36.97zm174.564 0c13.572 15.575 25.36 48.026 21.687 77.22-3.915 31.118-22.083 59.048-73.624 67.094v.094c-1.964.284-3.904.743-5.812 1.343 4.17.89 8.657 2.86 13.344 6.22 24.482 17.577 3.918 55.804-26.125 36.47-8.196-5.266-12.213-12.31-13.032-19.19-4.615 11.776-2.376 25.68 12.47 37.126 42.122 32.48 76.872-19.863 48.844-50.437 35.076-12.994 54.042-38.53 60.594-65.97 17.85 2.145 40.616 8.678 58.156 22.22 19.867 15.337 34.025 38.73 29.844 79.25l-.032.405v.406c-.43 27.1 3.257 52.267 13.906 77.314-.175-.088-.355-.164-.53-.25 10.834 28.695-4.215 77.915-32.094 76.375-1.608-.09-3.144-.24-4.625-.47 10.87-3.895 19.736-14.11 20.187-31.47.57-21.935-30.486-31.816-48.688-21.28 1.853-10.077 5.738-19.852 11.125-27.53 2.282-2.24 4.347-4.612 6.188-7.095.204.627.43 1.27.72 1.906 9.98 22.058 34.89 7.416 25.186-11.405-4.35-8.457-11.074-10.648-16.686-9.03 3.504-11.767 3.415-24.225.406-35.72-3.952-15.098-13.013-28.82-26.625-37.03-7.976-4.812-17.48-7.51-27.844-7.44-.69.006-1.394.034-2.092.064-5.57.233-11.385 1.277-17.313 3.186-5.246.927-10.17 3.588-14.03 8.438-23.005 28.896 14.76 74.018 41.967 39.687 8.61-10.862 8.926-21.705 4.813-30.374 1.69.692 3.303 1.508 4.844 2.438 8.787 5.3 15.35 14.822 18.217 25.78 2.87 10.96 1.946 23.044-3.312 33.126-4.384 8.406-11.626 15.654-23.28 20.28-1.272.41-2.53.853-3.783 1.314 18.878 44.79-9.97 58.624-46.03 37.156-6.794 10.808-11.198 22.857-13.25 35.47 9.883-4.887 23.666-6.502 41.687-2.595 28.884 6.263 33.747 41 18.75 61.906.643-2.984 1.033-6.202 1.124-9.686.48-18.44-18.605-29.432-37-29.156-17.28.258-33.966 10.457-33.28 33.75.14 4.844 1.124 9.19 2.748 13.03-4.827-1.217-9.4-2.263-13.593-3.312-20.567-5.145-33.424-9.23-50.25-42.22-11.65-22.837-13.746-44.61-9.657-62.717.35-1.55.75-3.07 1.187-4.564.887-2.386 2.22-4.867 4.063-7.437 14.096-19.637 44.76-3.16 29.25 20.936-1.586 2.468-3.375 4.467-5.282 6.03 10.913-.16 22-6.1 29.69-20.56 13.784-25.93-8.35-51.58-31.5-51.688-1.84-.01-3.696.173-5.532.5-3.696-10.15-11.607-14.724-19.125-14.657-11.395.103-21.84 10.833-15.063 28.814 1.5 3.97 3.765 6.996 6.438 9.187-15.838 24.13-20.18 58.28-6.22 93.376-28.655 4.51-48 1-62.25-6.375-16.074-8.32-26.524-22.114-35.718-38.124-9.194-16.01-16.705-33.956-27.813-48.97-9.438-12.754-22.502-23.363-40.28-26.686v19c10.905 2.694 18.18 9.218 25.28 18.813 9.153 12.37 16.656 29.85 26.594 47.156 9.94 17.305 22.74 34.724 43.376 45.405 19.365 10.023 44.896 13.558 79.28 7.28 17.85 31.407 38.335 40.456 59 45.626 20.14 5.04 40.485 7.83 68.376 28.97 1.97 1.66 3.995 3.258 6.032 4.78.594.49 1.18.965 1.78 1.47l.095-.094c44.505 32.063 102.997 31.564 138.467-3.906 38.87-38.87 35.765-105.384-6.187-150.844-26.624-35.576-33.77-66.875-33.156-105.562h-.03c4.428-45.38-13.045-76.668-37.033-95.188-21.172-16.346-46.585-23.457-67-25.875 1.496-26.37-5.78-52.345-17.717-71.5h-23.22zM88.438 52.688c-3.178 0-6.483.374-9.907 1.188-5.71 1.356-10.715 4.073-15 7.75-.027.024-.064.038-.093.063-2.25 1.463-4.222 3.494-5.75 6.093-.033.058-.092.1-.124.157-2.415 4.2-3.617 9.88-2.907 17.063 2.628 26.407 40.834 27.546 39.313-3.875-.388-8.14-3.673-14.105-8.19-17.813 15.426 4.92 26.523 22.082 16.72 48.063-10.34 27.408-41.76 29.372-55.47 12.313 5.018 20.444 20.162 35.828 46.44 29.656 14.73-3.46 24.825-11.138 31-20.78.233 17.556-5.215 34.5-14.782 47.967-18.347 25.828-50.26 39.48-90.782 19.126v20.375c40.907 16.38 78.436 3.814 100.875-22.155 19.068 10 28.71 30.633 27.782 48.344-.462 8.83-3.42 16.56-8.75 22.25 1.273-11.394-3.145-22.947-14.906-28.064-35.92-15.636-71.766 35.453-29.125 53.906 2.805 1.213 5.5 2.042 8.095 2.563v.03c.085.01.165.024.25.033 3.398.657 6.63.743 9.625.375 14.957-.285 27.384-4.945 36.375-12.844 10.904-9.582 16.36-23.27 17.094-37.283 1.275-24.38-11.26-50.987-35.69-64.78 6.762-12.177 10.956-25.986 12.157-40.313 5.06 2.946 10.495 4.818 15.97 5.656 12.77 1.955 25.603-1.35 36.312-7.844 10.708-6.493 19.516-16.308 23.75-28.437 3.2-9.173 3.47-19.695-.032-30.064-3.167-14.78-14.114-27.622-29.438-27.625-2.21 0-4.495.248-6.875.814-30.3 7.19-32.07 68.89 1.625 70.062-7.1 3.967-15.24 5.71-22.53 4.594-7.578-1.16-14.436-4.948-20.095-13.906-2.58-13.888-8.185-27.66-17.25-40.344-7.554-12.997-20.047-22.31-35.688-22.313zm157.156 57.75c-4.71.03-9.694 2.802-13.156 9.532-9.705 18.82 15.205 33.46 25.187 11.405 5.02-11.105-3.04-20.995-12.03-20.938zm48.437 145.5c-19.927.602-18.62 25.754-.717 27.532 24.093 2.383 23.874-26.494 2.718-27.5-.686-.035-1.356-.052-2-.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FireworkRocket;

impl IconShape for FireworkRocket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M487.375 26.906L356.5 56.47c-23.13 58.833 39.11 126.32 101.313 101.5l29.562-131.064zm-143.5 99.125L237.78 232.5c-3.703 22.683 2.47 38.328 16.94 46.47l10.718 6.03-8.688 8.72L57.625 492.686H83.78l314.19-317.28c-23.152-9.146-42.645-27.243-54.095-49.376zM218.75 233.126l-113.53 18.72 97.436 5.968-121.97 51.156 105.158-9.47-67.313 61.688 62.564-18.282 54.844-54.812c-13.938-12.937-19.78-32.964-17.188-54.97zM16.844 245.063v32.312l84.937-15.563-84.936-16.75zm263.75 75.437l-42.688 43.063-.875 67.75L280.595 320.5zm-161.97 2.625L16.845 341.5v44.094l101.78-62.47zm8.157 61.25l-110.124 47.22v65.124H27.22l1.28-1.283 41.03-41.03 57.25-70.032zm85.314 15.22l-39.156 97.217h38.78l.376-97.218zm58.78 1.967l-10.718 95.25h26.156l-15.437-95.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishCorpse;

impl IconShape for FishCorpse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M435.125 19.72c-2.52.003-5.002.024-7.47.06-66.318 1.013-117.573 12.795-180.874 39.376-35.44 52.333-24.53 139.625 5.5 202.063 15.218 31.635 35.318 56.506 53.657 67 9.17 5.245 17.488 7.007 25.22 5.53 7.73-1.477 15.614-6.244 23.656-16.813l.375-.5.437-.437c39.966-40.123 69.86-81.484 91.344-124.03l-13.72-33.376-26.156 52-20.53-40.75-40.22 74-18.47-30.344-49.187 46.156 49.938-91.187 18.844 31.03 26.28-87.313 28.656 38.75 30.563-73.78 33 71.093c15.2-41.172 23.373-83.366 25.967-126.5-20.24-1.287-39.178-2.06-56.812-2.03zM300.44 63.17a38.648 55.07 27.484 0 1 23.156 69.732 38.648 55.07 27.484 0 1-68.672-35.476A38.648 55.07 27.484 0 1 300.44 63.17zM93.564 122.406c28.366 36.35 50.67 75.307 69.562 115.72-10.936 12.19-21.54 24.897-31.72 37.905-18.43-22.897-46.54-42.48-90.75-58.155 27.937 28.82 50.546 56.503 70.314 85.438-7.738 10.786-15.144 21.625-22.157 32.437-13.103-12.897-31.868-23.74-59.688-31.97 17.43 19.285 31.776 37.524 44.97 55.564-8.043 13.375-15.393 26.5-21.97 39.156-8.645-3.69-19.512-6.08-33.344-8.313 8.2 8.02 16.466 16.23 25.126 24.688-14.698 30.534-24.126 57.313-26.5 76.25 10.822-19.19 24.69-40.377 40.844-62.406 8.145 7.74 16.782 15.72 26.188 24.03-3.135-18.866-7.292-31.496-13.938-40.344 6.96-9.036 14.267-18.166 21.875-27.312 10.99 15.793 21.803 31.7 33.72 48.25-4.94-24.664-8.18-47.663-17.032-67.813 7.888-8.99 16.045-17.93 24.406-26.78 13.917 23.576 26.725 48.49 39.593 75.875-4.698-35.502-8.05-68.197-18.72-97.28 9.948-9.89 20.124-19.562 30.47-28.908 14.92 37.328 27.988 75.47 41.125 113.563-1.928-46.754-2.054-94.115-12.844-137.906 4.92-4.03 9.854-8.007 14.812-11.844-7.81-19.14-14.064-39.805-18-60.906-6.216 5.488-12.37 11.21-18.47 17.156-18.918-33.25-49.116-62.76-97.874-86.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fishbone;

impl IconShape for Fishbone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.406 51.97c-4.104 29.047-7.13 44.833-6.72 58.53-8.64 1.623-17.247 4.38-25.75 8.375-25.746-38.28-86.43-44.672-139.06-13.5 27.12 33.838 44.53 50.06 88.468 49.094-23.64 40.44-16.737 66.468-3.094 106.405 50.213-29.74 75.816-83.433 61.906-125.22 6.763-3.156 13.588-5.373 20.47-6.75 3.344 11.76 9.795 25.62 20.75 48.032 5.394-22.616 8.44-37.168 9.03-48.906 10.954 1.452 21.88 4.78 32.688 9.657-5.85 16.68-9.962 35.86-13.25 60.688 17.36-16.772 29.677-31.288 38.844-46.188 5.488 3.756 10.908 7.874 16.25 12.313 4.39 3.648 8.69 7.515 12.906 11.563-17.963 19.995-33.863 41.93-46.688 65.218 24.165-10.115 46.634-25.15 67.156-43.28 8.397 9.983 16.248 20.567 23.344 31.5-26.33 17.278-50.652 37.486-70.375 59.844 28.77-5.146 58.07-17.09 85.908-33.156 5.354 10.33 9.97 20.708 13.75 30.906-30.085 15.35-57.335 37.104-81.75 65.28 47.72 50.605 103.617 99.44 170 110.25 2.28-5.74 4.45-11.502 6.5-17.312-60.357-19.627-109.66-52.267-145.563-89.156l13.406-13.03c33.782 34.707 80.56 65.736 137.97 84.405 16.732-55.238 20.843-112.648-1.844-167.217-29.13 2.03-56.363 8.342-81.72 18.906-4.096-10.92-9.036-21.94-14.717-32.845 30.638-19.792 58.958-44.156 82.092-69.313-31.87 8.903-65.846 23.524-97.718 42.47-7.725-11.933-16.287-23.498-25.53-34.376 26.697-26.486 49.666-57.987 68.186-90.03-31.647 16.955-62.495 40.003-89.563 67.343-4.5-4.3-9.1-8.428-13.812-12.345-6.253-5.197-12.734-10.033-19.375-14.438 10.292-22.438 15.372-47.604 20.875-83.437-22.557 26.39-37.655 45.848-48.28 68.344-13.42-5.92-27.255-9.89-41.22-11.313-3.22-14.055-11.237-28.646-24.47-57.31zM426.25 302.187c11.947-.273 23.58 6.173 29.375 17.53 8.063 15.802 1.77 35.125-14.03 43.188-15.803 8.063-35.126 1.802-43.19-14-8.062-15.8-1.8-35.156 14-43.22 4.445-2.266 9.17-3.392 13.845-3.498z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishhookFork;

impl IconShape for FishhookFork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M22.408 18.39v60.587S198.19 236.165 317.504 334.035c-9.2 3.815-19.898 5.503-31.102 5.277 52.274 39.08 103.82 79.553 163.178 105.01-28.328-60.655-63.28-112.895-103.516-167.015 1.993 14.567.067 26.324-4.67 35.523-76.207-91.106-195.03-202.617-296.402-294.44H22.408zm121.678 0C251.25 104.46 357.514 189.502 429.088 284.7c-5.74 10.573-18.106 14.794-31.537 11.68l101.62 115.052c-7.606-173.11-135.933-294.98-266.897-393.043h-88.187zM22.61 171.4v.004-.004zm0 .004v93.44C154.905 380.347 288.107 475.25 425 498.45L308.193 389.825c.88 12.204-1.625 22.48-10.51 22.778-98.07-71.302-191.387-152.64-275.072-241.198z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingHook;

impl IconShape for FishingHook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.375 18.25c3.91 19.165-.907 37.814-14.72 55.5-15.853 20.302-44.172 38.85-84.81 51.188-34.84 10.577-58.396 29.203-71 50.937-12.606 21.734-14.02 46.364-5.72 67.5 14.824 37.743 60.4 62.92 121.28 47.438 12.883-4.053 27.47-10 38.97-17.188 2.51-1.568 4.828-3.18 6.938-4.813-2.885-2.7-5.43-5.853-7.5-9.437-.683-1.182-1.297-2.385-1.844-3.594-13.048 8.047-29.743 16.232-51.532 19.376-47.934 8.963-78.497-12.01-88.938-38.594-6.257-15.93-5.374-34.287 4.5-51.312 9.874-17.025 29.002-32.94 60.28-42.438 43.283-13.14 75.046-33.17 94.095-57.562 15.77-20.194 22.4-43.702 18.906-67h-18.905zm17.844 151.47c-.788 0-1.588 0-2.376.03-11.464.415-23.03 3.582-33.656 9.72-26.423 15.252-39.106 44.164-34.25 72.25 12.21-4.294 22.097-10.274 30.906-16.157 1.418-11.078 7.93-21.27 18.72-27.5 6.337-3.66 13.285-5.464 20.124-5.5 13.055-.07 25.668 6.304 32.656 18.406 10.648 18.44 4.066 42.974-14.375 53.624-8.564 4.945-18.115 5.99-26.97 3.844-4.427 4.08-9.466 7.747-14.72 11.03-5.286 3.306-10.918 6.29-16.655 8.97 15.17 10.68 33.97 15.17 52.25 12.125h.03l72.376 125.406c17.27 29.907 42.53 48.207 68.783 54.467 26.25 6.26 52.74 1.16 74.25-12.03 43.02-26.38 66.36-87.515 33.53-144.376l-16.53-28.655-.157-.28c-19.615-36.032-45.045-60.504-75.344-75.283 12.778 45.916 17.4 91.832 16.094 137.75l28.688-34 4.906-3L443 348.72c21.954 38.025 3.593 72.716-21.125 87.874-35.704 16.537-62.567 12.018-84.625-23.125l-71.78-124.376c20.72-22.425 25.7-57.052 9.78-84.625-13-22.517-36.637-34.833-61.03-34.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FishingNet;

impl IconShape for FishingNet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M161.9 17.31c-32.7 0-63.75 8.22-88.96 24.19-28.82 18.25-49.85 47.08-55.85 84.2-5.99 37 2.83 81.8 31.25 133 19.84 35.6 44.25 63.8 59.66 93.5 12.4 25.7 18.4 46.7 15.6 75.2-14.7 2.9-25.73 15.7-25.73 31.2 0 17.5 14.23 31.8 31.73 31.8 17.6 0 31.8-14.3 31.8-31.8 0-13.2-8-24.4-19.4-29.3 1-10.2 1-19.8.1-29.1 9.2-10.8 19.9-16.3 33.2-18.1 14.7-2.1 32.7.7 53.3 8.1 5.1 9.7 9.7 20 13.7 31.1-9.2 5.4-15.3 15.4-15.3 26.8 0 17.1 13.9 31 31 31 17.2 0 31.1-13.9 31.1-31 0-16.3-12.5-29.7-28.5-31-4-11.6-8.7-22.4-13.9-32.6 10.2-9.9 27.5-16.7 47.6-20.6 22-4.3 46.7-5.4 67.4-6 7 6.4 13.9 13.2 20.6 20.3-.5 2.2-.8 4.6-.8 7 0 16.4 13.3 29.6 29.6 29.6 16.4 0 29.6-13.2 29.6-29.6 0-16.3-13.2-29.6-29.6-29.6-6.9 0-13.3 2.4-18.3 6.4-6.5-6.7-13.1-13-19.8-19.1-1-49.1 13.3-87.6 37.8-119.2 8.9-2.2 18-5.4 27.4-9.7 5.8 5.7 13.7 9.2 22.4 9.2 17.5 0 31.7-14.2 31.7-31.8 0-17.5-14.2-31.7-31.7-31.7s-31.8 14.2-31.8 31.7c0 2.1.2 4.2.6 6.2-7.8 3.5-15.2 6.1-22.4 8-15.5-19.9-16.9-35.5-12.6-52.8 4.6-18.4 17.3-38.6 29.9-61.9 6.3-4.02 12-8.88 16.7-14.62 5.5 4.16 12.3 6.62 19.7 6.62 17.9 0 32.5-14.53 32.5-32.47 0-17.93-14.6-32.46-32.5-32.46s-32.5 14.53-32.5 32.46c0 3.4.6 6.68 1.5 9.75-11.2 16.83-32.7 26.23-58.8 26.69-26.6.47-57.1-8.56-82.7-27.25-40-23.91-86.1-41.78-126.3-42.31zm46.8 25c18.6 4.78 37.1 12.46 54.7 23.22l.1 14.75c-17.7-13.23-37.1-27.25-54.3-36.15zm-61.8 3.22l4.6 15.78c-11.2-5.2-22.9-9.35-35.3-12.09 10.7-2.2 20.7-4.03 30.7-3.69zm20.2 2.72c9.1 2.07 18.4 5.46 26.2 9.03l9.8 36.94c-9.2-7.27-18.6-14.13-28.5-20.28zm-62.8 17.78c18.5 3.03 35.5 9.68 51.6 18.72l-10.8 18.65c-14-13.33-28.2-26.75-40.8-37.37zm111.5 3.34c10.8 6.65 21.4 14.27 31.9 22.28 5.3 4.12 10.6 8.34 15.9 12.55l.3 44.1c-11.7-10.6-23.6-21.9-35.9-32.9zm66.4 8.85c12.6 8.53 26.2 15.08 39.9 19.62l.7 28.26c-13-8.7-26.5-19.6-40.5-30.88zm-192.29.18c15.59 13.03 30.59 27.3 45.39 42.1l-13.9 23.9c-13.6-22.6-24.73-45.32-31.49-66zm81.89 16.22c13.7 9.28 26.8 19.98 39.7 31.38-2 6.1-12.2 21.9-16.1 28.1-12.2-12.2-24.3-24.7-36.6-37zm224.7 7.88c-8.2 14.6-15.8 28.9-19.9 44.2-11.2.2-22.8-3.2-34.9-9.3l-.8-34.6c19.1 3.5 38 3.8 55.6-.3zm-342.91 8c.3 21.8 3.72 41.3 9.41 58.9L46.75 166c.35-20.5 2.82-39.5 6.84-55.5zm32.38 8.7c6.46 13.6 13.77 26.2 21.73 37.7l-13.55 5.8c-4.74-15.3-7.78-30.3-8.18-43.5zm196.43.1c14.3 10.9 26.8 21 40.9 29.2l1 45.7c-14.1-7.6-27.9-17.8-41.6-29.4zm-133.5 15c11.9 12.1 23.8 24.5 36 36.6l-16.4 26.4c-12.6-11.1-24.3-23.1-35-36.5zm77.7 5.2c13 11.7 25 23.1 36.4 33.1l-17.1 28.6c-12.7-10.6-24.9-21.9-36.8-33.6zm115.6 18.7c10.3 4.3 20.9 6.9 31.7 7.2-.2 14.1 3.6 28.7 12.9 43.6-15.9.6-30-1.3-43.6-6.2zm-223 14.1c9.9 12.5 20.6 23.8 32 34.3l-22.7 8c-10.7-11.8-19.8-22.8-26.5-35zm79.4 12c12 11.6 24.3 22.9 37.3 33.5l-12.4 20.7c-14-9.4-28.9-20-40.5-29.2zm78.9.5c14 11.3 28.5 21.4 44 29l-16.3 28.5c-15.8-8.6-30.6-18.5-44.6-29.3 5.6-9.4 11.3-18.8 16.9-28.2zm-228.53.8l22.09 4.6c5.33 11.7 11.66 22.6 18.72 32.9l-27.53-1.9c-6.04-10.7-10.69-22.4-13.28-35.6zm118.53 35.1c11.4 9.4 23.3 18.1 35.5 26.4l-24.3 8.2c-12.1-8.3-24.5-17.5-34.8-26.3zm171.3.4c15 5.1 32.5 7.2 46.6 6.6-7.6 12.1-14.1 25.1-19 39.1-15.8-4.2-30.6-9.6-44.5-16 5.6-9.9 11.3-19.8 16.9-29.7zm-88.1 8.4c14.2 10.7 29.1 20.6 45.1 29.3L285 277.7c-15.5-9.9-30.9-19.4-45.8-29 3.8-6.4 7.7-12.8 11.5-19.2zm-127 6.6c10.8 10.6 23 18.1 33 26.6l-6.7 2.2c-9.3-9.5-19.5-20.4-26.3-28.8zm-48.2 4.7c9.67.6 19.32 1.5 29 2 7.6 8.9 15.6 17.9 22.5 25.2-7.3.7-17.4.9-25.6 1.2-9.27-9.7-18.85-19.4-25.9-28.4zm147.1 19.5c15.1 9.7 30.4 19.2 45.7 29l-24 10.8c-15.1-11.3-32.2-22.7-46-31.7zm89.9 6.9c15.1 7 31.2 12.9 48.4 17.5-3.3 13.4-5.4 27.5-6.1 42.5-17.7-14.5-35.9-27.3-54.1-39.3 3.9-6.9 7.9-13.8 11.8-20.7zm-136.6 8.7c17.1 11.6 34 22.3 48.8 33l-22.9 10.3c-12.1-14-24.8-26.9-37.2-39.5zm-31.2 10.4c11.6 11.7 23.2 23.3 34.4 35.6h-24.8c-10.7-12.6-22.4-23.8-33.9-34.7 8.1-.1 16.2-.9 24.3-.9zm-50.86 1.9c11.76 11.3 23.66 22.2 34.76 33.7H112c-7.2-11.3-14.92-22.4-22.66-33.6 1.5 0 3.01-.1 4.5-.1zm193.26 13.2c18.2 12 36.2 24.6 53.7 38.6-19.8 1.3-37.6 3.1-54.7 6.5-6.1-12.3-15.1-23.1-25.9-33 8.9-4.1 17.9-8.1 26.9-12.1zm-45.7 20.5c11.3 9.5 20.3 19.3 26.2 29.7-11.3 3.8-21.7 9-30.1 16.2-7.2-12.1-15.1-23.2-23.3-33.7zM123 340.6h22.2c6.3 7.9 12.1 16.2 17 25.2-8.7 2.6-16.8 6.7-24.1 12.5-4.1-14-9-26.4-15.1-37.7zm45.7 0h26.6c6.8 8.3 13.3 16.9 19.4 26-11.6-2.8-22.6-4.2-33.1-3.8-4.1-7.9-8.6-15.9-12.9-22.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fission;

impl IconShape for Fission {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.637 19.54l108.717 144.544C145.316 176.7 91.09 152.704 40.102 132.53c40.576 32.116 110.02 65.16 103.662 97.53-6.637 33.79-75.205 49.33-121.065 72.52 46.032-5.046 91.778-21.09 120.15-9.78L18.38 347.136v20.39l138.388-60.41c2.133 14.26-9.665 37.273-22.043 55.985 22.007-10.08 46.61-21.938 65.523-22.06l-88.396 153.774h21.554l85.24-148.283c.553.434 1.093.892 1.616 1.382 33.55 31.47 34.284 87.542 43.888 141.225 9.885-54.016 13.682-119.31 41.846-138.094 16.562-11.047 96.26 29.193 143.596 57.07-22.238-21.752-82.32-73.64-85.68-95.812l129.744 65.993v-20.967L373.928 296.43c15.57-11.084 41.937-10.558 69.68-9.85-24.522-9.618-58.892-23.885-65.766-41.35l115.814-14.85v-18.843L380.154 226.09c14.736-32.777 66.75-61.05 108.05-93.555-49.74 19.266-106.767 55.532-135.92 41.254L493.655 31.177v-11.64H478.88L338.847 160.8c-18.24-30.214-6.765-92.786-3.715-141.26h-1.612C310.903 69.054 293.7 132.87 265 145.722c-17.43 7.805-35.296-38.196-47.615-67.204-2.256 29.66.042 60.142-14.79 76.07L101.022 19.54H77.638zM264.99 164.856c14.46-.133 28.89 7.536 38.207 19.274l-37.6 39.634-32.01-42.682c8.894-11.298 20.157-16.12 31.403-16.225zm-63.12 19.854l27.67 36.79-24.913 14.285 11.115 25.197-41.054 17.92c-7.104-35.84-1.95-70.025 27.18-94.19zm123.444 5.81c13.297 3.537 23.613 20.006 22.25 32.79h-.002l-40.875 12.2-14.755 1.892 33.382-46.882zm-27.04 60.994l60.404 1.707c3.703 9.603.78 23.42-6.65 32.07l-33.456-17.015-20.3-16.76zm-57.426 18.9l-32.82 57.094c-15.34-7.173-26.714-18.043-29.585-29.854l62.405-27.24zm21.537.027l52.084 28.67c-20.86 34.903-58.097 41.72-88.45 34.593l36.365-63.262z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fist;

impl IconShape for Fist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.227 21.777c-1.845 0-3.704.05-5.567.157-15.314.875-30.76 5.305-39.494 10.863l-.008 73.15c2.884-.094 5.777-.147 8.676-.142 23.382.036 47.104 3.286 68.47 9.513l.01-87.507c-7.034-3.518-19.178-6.03-32.087-6.033zm80.74 9.16c-11.925.15-23.077 2.364-29.967 5.596l-.008 77.602v7.658c38.486 15.67 64.814 42.48 58.735 78.764l-.96 5.73-5.562 1.674c-17.45 5.253-34.872 9.703-52.225 13.335V246.53c25.562-.704 51.327-2.687 77.145-6.098l.02-197.928c-8.284-5.563-23.508-10.243-38.842-11.328-2.792-.198-5.584-.273-8.336-.238zM143.223 46.294c-1.176-.015-2.374-.01-3.588.02-4.175.1-8.533.468-12.903 1.152-15.67 2.454-31.477 8.565-40.406 15.402l-.01 72.955c18.808-15.81 46.704-25.143 77.15-28.54l.007-57.966c-4.82-1.752-12.018-2.916-20.25-3.023zm258.394 3.46c-10.804.117-20.722 1.93-27.043 4.655l-.02 183.182c25.074-4.02 50.16-9.412 75.122-16.358l1.99-158.447c-8.352-5.9-23.648-11.025-39.05-12.553-3.698-.366-7.398-.517-11-.478zm-222.775 74.202c-53.72.702-101.407 20.365-97.887 66.6 15.836-3.918 30.84-5.893 44.94-6.1 34.84-.51 64.213 9.704 87.318 27.613 34.608-3.11 69.852-10 105.412-20.314.14-41.287-74.098-68.657-139.783-67.8zm-48.877 78.65c-1.296-.003-2.603.012-3.92.045-17.256.436-36.45 4.03-57.566 11.037 5.79 53.808 26.325 106.41 58.5 143.346 6.226 7.15 12.856 13.712 19.875 19.615 29.303 9.282 69.26 12.917 110.534 12.14 3.777-55.805-8.717-108.357-36.193-142.74-21.265-26.61-51.064-43.39-91.232-43.444zm129.326 22.282c-9.358 1.637-18.69 3.016-27.995 4.15 1.54 1.74 3.043 3.52 4.502 5.346 3.146 3.937 6.094 8.062 8.873 12.334 9.916.144 19.868.125 29.857-.106H259.29v-21.723zm191.817 15.343c-65.406 17.826-131.462 25.41-195.85 25.315 16.998 35.144 23.828 78.093 21.013 122.6 42.482-2.08 85.03-8.23 118.187-15.983 26.693-32.78 47.37-77.118 56.65-131.932zM400.51 389.9c-38.334 9.145-87.95 16.056-136.873 17.454-47.67 1.36-94.336-2.228-129.448-15.262l-.01 78.93c27.187 12.568 76.414 20.205 127.318 20.298 51.224.094 104.214-7.173 139-20.773l.012-80.647z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FizzingFlask;

impl IconShape for FizzingFlask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.47 18.727c-11.353-.18-21.053 7.365-24.786 20.058h-.002c-24.423-7.6-57.52-4.092-68.328 19.856-15.69-20.86-47.866-13.98-55.194 9.85-7.328 23.828 13.462 49.474 44.68 48.55-3.078 33.98 44.304 54.69 81.764 39.132-.473 19.307 8.312 41.853 30.37 44.97-6.395 18.11 3.104 42.047 28.614 42.047 31.47 0 38.024-36.316 21.025-53.145 9.474-10.39 12.832-25.167 11.096-39.13 17.282 12.104 34.59-6.52 33.767-20.08-1.516-24.97-20.366-35.97-33.768-24.3-8.8-27.616-37.243-32.007-52.562-16.353 1.35-7.425.2-13.105-5.255-19.274 22.605-5.702 18.913-37.698 4.68-46.904-5.44-3.517-10.942-5.195-16.102-5.277zm68.37 5.13c-22.7 0-22.882 34.655 0 34.655s22.7-34.655 0-34.655zM177.672 74.842c-22.7 0-22.882 34.654 0 34.654s22.7-34.654 0-34.654zm64.695 59.38c-1.695.06-3.792.895-5.877 2.887-4.765 4.554-8.11 13.804-1.814 24.216 1.365 2.257 2.837 4.486 4.408 6.672l-14.21 26.414-34.43 59.637-153.62 87.682-.008.006c-11.038 6.375-16.508 14.786-17.537 24.037-1.03 9.254 2.46 20.22 13.083 31.508 45.295 48.134 101.19 77.71 164.907 95.106 15.645 4.267 26.47 2.614 33.156-2.1 6.686-4.712 11.047-13.382 11.047-28.413v-.006l.214-177.61 38.008-65.832c-14.036-3.907-26.16-10.638-36.332-18.932l8.967-16.67c13.568 12.152 31.753 20.64 55.14 20.645 11.536-.03 18.363-7.457 20.046-13.542.84-3.044.414-5.247-.604-6.73-1.018-1.48-3.004-3.204-8.754-3.66-31.006-2.452-53.782-15.764-68.293-39.714-2.816-4.65-5-5.413-6.797-5.584-.224-.02-.46-.028-.7-.02zm234.053 39.305c-22.7 0-22.882 34.655 0 34.655s22.7-34.655 0-34.655zm-44.668 86.022c-35.27 0-35.553 53.837 0 53.837s35.27-53.838 0-53.838zm-235.256 8.337l9.367 16.172-136.506 79.06-.005.003c-4 2.31-4.756 3.894-5.043 5.127-.29 1.233-.127 3.423 1.852 7.027.543.988 1.228 2.044 2.024 3.15l-.416-.193c18.068 27.077 54.2 61.967 89.34 80.934-23.56-10.45-50.91-25.15-72.737-40.756C69.11 407.5 56.51 396.524 49.78 384.272c-3.363-6.124-5.332-13.14-3.673-20.262 1.66-7.123 6.93-13.046 13.9-17.07l136.49-79.053zm-88.068 88.87c18.55 6.4 52.894 25.26 80.154 46.013 13.63 10.375 25.305 20.885 32.086 31.998 3.022 4.952 5.264 10.303 5.2 16.203l-20.626-9.488c-9.495-11.61-23.806-22.776-35.75-29.517-24.435-17.28-54.436-33.15-67.16-37.54l6.096-17.667z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlameClaws;

impl IconShape for FlameClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M151.512 37.035c-51.69-.214-100.824 7.018-132.326 22.772v66.297C97.35 78.58 182.403 43.256 328.416 70.896c-43.063-21.588-111.993-33.592-176.904-33.86zM307.248 93.44c-77.33.35-160.005 27.954-205.504 87.87 75.424-45.314 199.523-62.583 245.283 17.522-46.407-7.71-82.8-6.316-126.73 9.928 31.797 3.033 63.397 5.74 95.195 23.945-48.323-2.583-111.592-.39-152.88 19.434 57.407 10.062 120.95 41.456 165.97 78.637-85.807-12.592-191.26-7.8-281.738 37.42 147.54-18.767 285.34 3.414 352.164 69.498.828-40-16.497-76.03-45.354-99.666 40.57 3.4 98.484 15.67 138.227 35.53-20.002-56.736-78.51-99.523-141.347-136.767 40.244-10.064 97.665.616 130.604 23.945-16.55-46.084-64.71-102.122-134.692-119.724 46.795.355 90.846 3.826 123.813 11.68-30.703-38.65-94.776-59.56-163.01-59.253zm-141.852 4.94c-49.193 1.105-117.985 34.643-146.21 63.087V351.49c51.654-34.19 105.756-46.647 201.11-55.125C181.4 280.323 110.727 273.22 58.52 278.26c43.494-41 96.033-74.77 175.79-99.87-59.8-3.655-142.87 21.983-198.566 62.493 29.648-61.1 75.048-121.208 129.652-142.502zm-31.173 290.306c-50.335-.024-98.084 5.944-115.037 16.255v87.87H87.47c79.706-81.166 199.482-60.815 167.866-10.136 52.605-10.438 60.93-45.24 12.848-72.418-25.947-14.98-81.353-21.546-133.96-21.57zm165.578 17.6c23.984 20.695 57.554 49.106 41.833 84.185 59.816-26.543 22.823-63.73-41.832-84.185z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlameSpin;

impl IconShape for FlameSpin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.344 19.563c28.18 47.964 33.504 103.075 19.344 152.875-29.288-27.994-66.822-50.915-105.532-71.75 57.858 75.817 58.09 128.63 53.313 183.437-24.622-87.035-113.16-131.873-189.095-102.03 53.576-2.22 104.1 31.922 118.813 84.75 16.9 60.696-18.662 124.96-81.157 138.124-30.186 6.36-58.903 1.052-84.218-12.22.2.006.396-.004.594 0-37.887-20.587-49.083-55.72-34.22-80.594 1.497-3.44 3.63-6.78 6.345-9.78 9.608-10.62 22.967-12.86 29.845-5 6.88 7.86 4.67 22.847-4.938 33.468-6.724 7.433-15.293 10.774-22.187 9.406 3.63 9.943 10.306 19.64 20.47 27.813 39.12-11.2 52.29-56.493 33.343-89.844 37.375 27.693 26.975 83.01-14.75 101.092 5.763 2.593 12.172 4.813 19.25 6.563 24.292-10.83 44.386-33.704 52.437-63.53 13.322-49.36-11.364-99.003-55.125-110.876-28.197-7.65-57.425 2.284-78.22 23.5-13.636 12.943-23.1 30.112-27 51.468l.314-.375c-1.794 8.906-2.396 17.758-1.876 26.343-4.006 99.012 56.25 148.94 159.22 176.875 64.095 17.385 133.002 1.828 183.81-35.905 97.612-63.963 151.2-188.13 121.657-305.25-5.23 20.13-12.662 39.088-21.936 56.75C466 132.1 430.22 59.497 363.344 19.562zm-226.78 83.906c-53.644-.37-105.26 31.506-116 135.624 14.563-21.117 35.932-36.335 61.123-44.656C88.478 139.8 136.322 107.712 192.03 114c-17.617-6.318-36.67-10.402-55.468-10.53zm287.124 42.936c43.41 86.672-9.364 222.056-84.875 277.875-47.28 39.394-120.826 54.736-210.907 21.876C373.584 467.682 416.692 295.718 337 161.126c42.183 42.98 60.72 93.294 59.875 140.436 21.902-49.214 32.34-104.697 26.813-155.156zm-315.375 80.97c34.658.506 66.722 28.08 55.53 91.78-.894-53.99-72.808-112.305-126.312-29.062 3.39-39.784 38.225-63.196 70.782-62.72zm184.468 41.53c57.214 46.582 14.283 155.733-98.155 152.844 58.078-8.234 124.46-89.278 98.156-152.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlameTunnel;

impl IconShape for FlameTunnel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112.594 45.688c-33.65.38-66.873 11.23-93.688 27.562v420.78h475.281V220.564c-22.427-21.996-48.835-40.333-78.062-53.813 20.372 18.498 36.818 41.463 47.28 67.156-7.398-2.135-14.91-3.816-22.467-5.094 18.725 24.8 32.064 56.215 23.75 86.657-2.34-37.387-38.97-79.515-86.032-87.814-25.21 3.386-48.432 11.49-66.5 23.78 82.662-22.643 148.576 60.104 139.594 127.314-6.846-30.505-28.463-55.342-56.656-68.344 42.71 43.83 7.048 110.55-37.97 121.47 39.824-47.29 27.57-128.508-24.155-148.845 33.853 44.02 7.497 96.7-33.658 124.908 2.238-18.616 2.303-41.183-19.843-47.875 16.594 30.952-15.67 62.437-40.908 55.375-38.57-10.795-44.1-36.156-24.53-64.157-45.01 10.912-46.928 51.066-19.845 82.345-66.985-17.842-48.462-88.564-10.562-108.47-31.97-1.894-63.28 18.24-77.625 55.908 3.132-59.047 40.505-103.71 96.938-86.407-46.002-22.388-81.956-25.457-118-4.187-23.804 16.268-42.135 37.688-50.876 60.686 1.174-34.59 18.755-64.902 42.813-89.562 4.994-18.475 12.938-35.995 23.28-52.22-19.257 16.16-36.18 34.696-50.218 54.907 7.364-64.532 52.083-114.94 110.97-128.5-8.616-.54-17.493-.672-26.282 0-29.56 2.277-59.468 11.258-85.97 24.19C88.998 90.69 164.76 53.416 226.22 99.093c-31.36-38.968-72.808-53.87-113.626-53.406zm340.937 23.5c-43.96-.238-87.865 13.166-117.124 60.093 44.61-36.372 101.66-33.48 157.78 11.345l.002-67.844c-13.263-2.117-26.96-3.518-40.657-3.593zM349.19 162.875c-24.07-.18-46.58 12.584-54.282 41.375 35.84-18.384 83.33-20.903 128.125 24.53-4.907-41.085-40.858-65.657-73.842-65.905zm-80 121.813c-6.022-.038-12.407.797-19.063 2.687 36.172 14.942 57.26 42.38 64.938 77.938 20.873-36.532-3.725-80.364-45.875-80.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlamedLeaf;

impl IconShape for FlamedLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M407.47 20.85c10.26 16.748 17.462 36.09 19.856 56.65-32.396-44.636-58-40.276-96.36-25.697 65.992 9.776 101.33 67.377 96.36 140.75 48.848-61.72 34.92-160.814-19.857-171.703zm-276.167 2.896c-.987-.002-1.985.006-2.994.024h-.003c-34.522.598-107.756 26.213-104.54 101.037 21.08-55.636 65.886-58.685 104.54-32.123 46.407 31.894 22.075 98.348-16.936 100.45 11.637-17.33 17.04-40.65 2.974-55.29-24.895-25.91-54.777 4.487-55.533 29.594-1.403 46.62 45.44 68.116 75.336 60.738 30.192-7.45 50.092 12.416 36.795 51.976-15.056 44.795-121.114 75.948-133.155-8.173 1.7 88.73 43.248 129.87 104.54 98.114 41.467-21.487 78.87 18.96 74.17 54.896-32.792-37.747-82.098 17.986-38.544 40.883 78.98 41.522 199.4 40.194 265.73-23.945 64.735-62.6 60.833-175.215 12.263-259.89-5.614 26.608-28.43 52.367-74.17 67.163 59.262-77.482 2.572-206.85-129.652-174.036 84.2 4.683 73.567 108.248 5.257 105.123-62.264-2.848-.79-156.296-126.074-156.54zM277.508 230.22c-56.683 51.454 15.914 153.65 88.95 141.837-33.543-9.43-64.745-51.995-54.833-100.05 31.558 66.125 129.923 66.127 137.49-16.85 29.98 68.665 13.327 147.842-36.478 182.18-58.45 40.295-156.124 24.466-181.955-58.83 19.527 19.775 58.78 32.23 82.654 28.722-92.908-26.93-106.546-145.142-35.828-177.01zM24.68 355.77c-16.486 116.72 99.137 117.28 130.425 29.306-48.323 24.538-100.24 29.99-130.425-29.305z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlamingArrow;

impl IconShape for FlamingArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.875 21.28l10.78 10.782.25-.25 235.282 235.313 5.157-25.188 1.062-5.187 5-1.78 22.625-7.907 8.564-3 3.25 8.468 67.062 174 7.563 19.626-19.626-7.53-174.25-66.813-8.53-3.282 3.092-8.592 8.188-22.907 1.75-4.936 5.156-1.063 29.406-6.03L32.686 68.03l.064-.03-15.625-15.625v26.438l92.156 92.156c-30.99 4.08-64.743-6.566-88-41.25-5.772 45.12 27.467 71.417 67.595 90.093 142.86 66.488 62.58 154.315-21 68.312C91.465 422.337 345.872 515.98 446.22 443.03c81.28-59.088 28.39-317.88-124.564-357.342 35.845 25.814 3.98 39.604-35.844 34.906 33.436 18.52 53.9 43.222 28.188 65.687-25.476 22.26-62.792-19.648-67.75-56.78-7.816-58.527-13.53-89.41-90.53-86.125 31.365 24.65 36.576 52.646 26.843 76.188L84.313 21.28H57.874zm277.78 226.407l-9.06 3.188-11.94 58.188-1.217 6.062-6.032 1.22-58.25 11.936-3.344 9.376 146.094 55.97-56.25-145.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlamingClaw;

impl IconShape for FlamingClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M286.344 15.22c35.747 36.387 36.18 94.69-1.875 112.78-41.352 19.655-99.47-5.62-72.876-74.813-74.166 45.167-89.234 119.982-63.656 192.125-30.293-23.512-90.362-67.5-47.875-117.375-57 11.348-71.862 59.875-42.063 90.532 49.228 50.64 13.02 118.883-28.03 46.718-24.442 123.094 153.718 150.67 155.343 231.28h18.53C195.46 427.78 141.368 388.31 83.282 340l30.25-93.406c.142 1.064.294 2.08.44 3.125-1.64 46.587 15.002 127.502 78.468 121.843-14.43-6.617-26.087-15.86-35.563-26.47 20.738-4.194 38.623-63.316 32.28-156.374l88.126-31.564c-64.46 43.87-78.115 117.557-39.436 154.563l44.72-103.94 85.498-22.343c-64.875 41.348-105.853 95.667-73 144.688l57.875-80.906L458.158 265c-125.27 21.775-157.203 101.965-173.626 176.28 3.107 17.593 10.72 36.258 20.283 55.19h13.656C272.694 372.424 453 363.083 480.843 287.97c26.825-72.37 7.37-109.43-52-157.69 48.237 78.413-19.87 116.58-38.53 85.845-38.098-62.747 70.19-152.574-103.97-200.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlamingSheet;

impl IconShape for FlamingSheet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.17 23.23C141.2 130.5 6.05 261.7 98.24 395.8c52.16 75.9 147.16 102.4 243.36 84.3C536 443.6 541.9 105.6 306.4 60.75c125.4 74.35 79.7 167.45 23.3 148.45-76.7-25.8 20.4-110.79-86.4-169.66 46.2 92.96-76.4 78.56-77.6 1.68C118.8 100 235.9 174.2 243.8 241.5c12.3 105.1-118.3 77.1-90.9-41.3 15.5-66.5-34-127.13-128.73-176.97zM427.9 168.1c63.6 104.5 30.6 218.7-28.7 263-78.8 58.8-223.4 37.1-282.7-53.8 165.6 102.2 286.6 19.3 205.1-94 8.5 47-17.8 82.6-65.3 97.5 36.2-30 46.5-96.2 2.2-200.3 91.6 139.8 203.6 100.3 169.4-12.4zm-319.4 24.1c-8.57 99.3 58.1 170.8 140.7 163.2-97.7 68-206.53-47.1-140.7-163.2zm291.8 96c-19.6 0-35.4 15.9-35.4 35.5s15.8 35.4 35.4 35.4c19.6 0 35.5-15.8 35.5-35.4-.4-20.3-20.2-35-35.5-35.5zm-21.2 89.5c-10.7 0-19.4 8.8-19.4 19.5 0 10.8 8.7 19.5 19.4 19.5 10.8 0 19.5-8.7 19.5-19.5 0-10.7-8.7-19.5-19.5-19.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlamingTrident;

impl IconShape for FlamingTrident {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M103.03 16.438C87.39 31.415 72.88 78.322 91.095 110.874c74.192 132.596-2.636 198.3-39.5 92.72-27.98 89.637 6.844 197.69 101.22 252.186l56.03-56.03-17.22-17.47c-22.326-22.272-23.116-58.42-.81-80.686l41.06-41.063-8.968-8.936 57.344-21.125-21.156 57.218-8.75-8.72-40.97 40.376c-12.485 12.463-12.53 31.874 0 44.375l17.75 17.75 73.69-73.69-13.72-13.686 75.812-27.938-27.97 75.656-15.56-15.53-73.876 73.562 18.72 18.72c12.524 12.468 31.873 12.473 44.374-.002l44.312-44.312-8.78-8.78 57.343-21.126-21.158 57.22-9.156-9.127-44.03 44.688c-22.32 22.267-59.14 22.234-81.47 0L227.03 418.22l-50 49.75c33.226 14.468 72.478 22.905 117.69 22.905 250.694 0 238.78-311.425 86-351.813 34.115 37.6 2.513 82.866-51.44 75.72-66.704-8.838-71.872-73.31-58.874-99.47 24.57-49.455-17.56-101.51-93.156-96.843 103.54 77.253-53.127 162.6-74.22-2.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlashGrenade;

impl IconShape for FlashGrenade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.31 24.574l-9.34 16.188 26.34 15.2 9.348-16.185-26.347-15.203zm55.692 1.77l-23.04 39.88c8.697 3.117 17.316 7.09 25.716 11.936 9.207 5.313 17.637 11.378 25.215 18.024l23.287-40.31-51.178-29.53zm-71.49 50.017c-4.798.02-9.493.35-14.04.984-24.26 3.384-44.065 15.097-55.01 34.043l-28.89 50.01 16.758 9.67 22.945-40.14 16.225 9.276-22.982 40.203 48.847 28.188 22.774-39.84 16.223 9.275-22.81 39.906 56.992 32.886 22.58-39.506 16.227 9.274-22.62 39.572 14.88 8.586 28.894-50.018c10.945-18.946 11.19-41.94 1.994-64.626-9.195-22.687-27.957-44.635-54.162-59.756-19.655-11.34-40.545-17.14-59.996-17.9-1.62-.064-3.23-.093-4.83-.087zM389.207 87.99l-9.348 16.184 53.646 30.957c-4.74 3.604-8.798 8.41-12.006 13.83-6.885 11.636-10.73 26.704-10.73 43.216s3.845 31.582 10.73 43.217c6.885 11.634 17.644 20.515 30.8 20.515 13.153 0 23.913-8.88 30.798-20.515 6.884-11.635 10.726-26.705 10.726-43.217s-3.842-31.58-10.726-43.215c-4.96-8.38-11.934-15.308-20.36-18.542l-73.53-42.43zm63.092 59.147c.85 0 1.724.113 2.614.345l5.164 2.98.12-.206c2.308 1.833 4.62 4.52 6.814 8.225 4.763 8.048 8.123 20.172 8.123 33.696 0 13.523-3.36 25.65-8.123 33.7-4.763 8.048-10.093 11.343-14.713 11.343-4.62 0-9.953-3.296-14.716-11.345-4.763-8.05-8.123-20.176-8.123-33.7 0-13.523 3.36-25.647 8.124-33.696 4.763-8.05 10.095-11.345 14.715-11.345zM174.66 188.217L112.25 296.254l148.63 85.764 62.41-108.036-148.628-85.765zM84.467 301.8l-28.895 50.016c-10.946 18.948-11.19 41.943-1.996 64.63 9.193 22.68 27.948 44.62 54.143 59.74.006.004.013.01.02.013h.002c26.206 15.12 54.607 20.388 78.865 17.003 24.26-3.384 44.064-15.096 55.01-34.043l28.89-50.01-16.595-9.576-25.855 45.235-16.227-9.277 25.895-45.3-56.993-32.885-25.662 44.894-16.226-9.275 25.7-44.96-48.847-28.187-25.494 44.598-16.224-9.275 25.53-44.663-15.043-8.68z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlatHammer;

impl IconShape for FlatHammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.813 27.625l29.593 134.125c4.547 3.588 9.68 4.188 18.063 1.97l5.186-1.376 3.813 3.812 84.218 84.188 3.78 3.78-1.343 5.19c-2.42 9.36-1.483 15.047 3.375 19.905l13.53 13.53 97.533-97.563-13.532-13.53c-3.538-3.54-9.39-4.415-19.655-1.438l-5.313 1.53-3.906-3.906-86.187-86.188-1.626-3.28-1.094-3.314V64.376c-.013-.02-.018-.044-.03-.063L132.81 27.626zM310.592 85.5l-14.156 14.188 43.782 43.78 14.186-14.155L310.594 85.5zm120.25 95.844l-159.968 159.97 37.063 37.123 160-160-37.094-37.093zM196.5 199.594l-175 175v87.594l218.813-218.782-43.813-43.812z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlatPawPrint;

impl IconShape for FlatPawPrint {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M314.78 19.47c-18.84 33-23.783 72.886 5.876 69.56 24.07-2.696 16.35-40.304-5.875-69.56zm-122.217 4c-17.095 33.8-19.95 73.854 9.5 69.218 23.9-3.764 14.227-40.983-9.5-69.22zm222.125 75.343c-21.958 30.365-30.705 69.304-.813 69.687 24.262.312 20.163-37.94.813-69.688zm-318.063 3.25C79.9 134.972 79 173.245 103.25 171.22c29.88-2.498 17.868-40.543-6.625-69.157zm217.594 8.374c-55.61 2.262-50.322 118.727 2.592 116.594 52.018-2.088 52.118-118.81-2.593-116.593zm-107.095 1.844c-.828.016-1.648.084-2.5.157-55.42 4.785-43.925 120.847 8.813 116.313 51.033-4.38 45.872-117.42-6.313-116.47zm-82.875 83.44c-1.612-.02-3.242.065-4.938.28-55.146 6.99-38.225 122.506 14.25 115.875 49.975-6.31 40.645-115.58-9.312-116.156zm278.625 1.343c-55.653-1.027-58.487 115.502-5.53 116.5 52.054.986 60.284-115.482 5.53-116.5zm-145 67.218c-57.02 1.258-12.988 60.186-113.78 94.44-78.123 26.548-30.808 106.533 36.06 106.81 36.702.154 49.8-28.817 79.845-28.686 34.116.144 36.844 26.134 86.78 26.344 63.76.263 100.665-80.2 27.72-107.532-92.875-34.798-54-90.786-113.813-91.375-.957-.008-1.907-.02-2.812 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlatStar;

impl IconShape for FlatStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.076 67.537L144.82 235.373l-45.326 130.8L277.96 341.92l215.024 107.277L364.242 281.36l46.184-130.618-177.946 24.67L16.076 67.537zm149.23 100.42l62.15 13.113c-11.693.526-22.448 3.494-31.317 9.64-9.893 6.852-15.327 17.176-16.605 28.442l-14.23-51.195zm116.85 24.654l54.97 11.6 13.044 46.92c-6.8-12.757-17.554-25.255-31.71-36.583-11.34-9.076-23.714-16.437-36.304-21.936zm-49.168 7.204c5.38.072 11.194.718 17.274 2 18.528 3.91 39.11 13.393 56.52 27.327 17.41 13.934 28.062 29.583 31.566 42.188 3.504 12.606 1.27 20.912-7.63 27.08-8.903 6.168-24.952 8.17-43.48 4.26-18.528-3.91-39.11-13.395-56.52-27.328-17.41-13.934-28.062-29.58-31.566-42.186-3.504-12.605-1.27-20.914 7.63-27.082 5.565-3.855 13.92-6.08 23.927-6.254.75-.013 1.51-.014 2.278-.004zm-42.37 59.207c6.783 10.78 16.37 21.272 28.42 30.916 8.68 6.946 17.966 12.89 27.49 17.765l-45.018-9.497-10.893-39.182zM358.26 280.24l15.072 54.22-55.748-11.765c8.772-1.275 16.852-4.12 23.777-8.92 11.367-7.875 16.85-20.33 16.9-33.535z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FleshyMass;

impl IconShape for FleshyMass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M193.24 19.008c-39.99.03-90.725 18.933-136.98 73.293-42.623 50.09-43.956 96.654-26.955 130.233 16.154 31.91 49.733 51.928 83.863 50.05.817-1.036 1.644-2.064 2.49-3.075 1.606-1.92 3.267-3.794 4.973-5.63l9.415-13.358c-11.113-4.64-20.094-11.292-26.785-19.377-10.676-12.9-15.37-29.04-15.246-45.217.244-32.353 18.907-65.897 50.19-81.666 11.97-6.034 24.344-8.83 36.542-9.024 17.343-.273 34.322 4.732 49.28 13.174 6.798-22.15 22.078-39.673 41.333-51.707-2.25-8.447-8.483-16.68-18.71-23.467-12.038-7.987-29.3-13.57-49.574-14.173-1.267-.038-2.546-.056-3.836-.055zm147.996 35.508c-22.5.316-44.8 5.874-62.57 15.996-19.727 11.237-33.782 27.5-38.28 49.093 12.067 9.827 22.26 21.963 29.555 35.385 2.558-3.954 5.64-7.448 9.134-10.39 11.407-9.61 26.41-13.88 41.313-13.82 14.902.062 29.985 4.45 41.77 13.773 8.204 6.49 14.6 15.655 17.564 26.703 16.263-15.822 37.02-23.22 57.08-23.04 4.85.044 9.654.546 14.348 1.462-.035-27.86-9.53-48.44-24.28-63.62-17.65-18.17-43.575-28.536-70.86-30.99-3.41-.306-6.84-.488-10.27-.547-1.5-.024-3.002-.025-4.502-.004zm-165.87 59.28c-9.606.146-19.3 2.388-28.75 7.15-24.218 12.21-39.725 40.084-39.915 65.12-.094 12.52 3.43 24.066 10.956 33.16 7.526 9.095 19.21 16.14 37.235 18.83h.003c39.574 5.908 82.127 9.612 116.025 27.868 33.898 18.255 57.493 52.813 56.3 112.822-.868 43.678 24.482 67.034 59.085 69.498h.002c19.04 1.36 39.016-14.747 46.504-32.055 3.742-8.654 4.214-16.855 1.68-22.807-2.534-5.952-7.93-11.126-20.965-13.76l.024-.12c-6.08-1.215-11.806-3.26-17.07-6.023-16.734-8.785-28.737-24.21-35.093-41.584-6.357-17.372-7.19-36.947-.66-54.644 6.528-17.697 20.85-33.24 42.79-41.17 8.17-2.953 16.144-4.486 23.797-4.805 23.534-.98 44.027 9.512 57.936 25.38 13.79-23.95 7.996-59.225-13.37-77.257h-.003c-24.878-20.997-72.19-18.427-93.607 25.56-3.247 9.45-8.724 17.39-15.586 23.38-10.917 9.528-24.99 14.332-39.108 14.64-14.118.31-28.494-3.886-39.974-13.093-11.48-9.208-19.725-23.583-21.36-41.75 0-.017-.002-.033-.004-.05-4.264-22.568-20.17-45.425-41.107-59.532-13.99-9.43-29.756-15.005-45.765-14.76zM320.31 149.47c-11.18-.045-22.01 3.368-29.197 9.423-7.188 6.054-11.454 14.276-10.258 27.568v.003c1.228 13.645 6.782 22.704 14.44 28.846 7.658 6.14 17.763 9.208 27.873 8.987 10.11-.22 20.013-3.74 27.227-10.037 7.213-6.296 12.077-15.165 12.435-28.06.347-12.515-4.45-20.804-12.27-26.99-7.818-6.184-19.07-9.693-30.25-9.74zm111.083 100.186c-6.72.005-13.922 1.254-21.526 4.002-17.23 6.23-26.834 17.125-31.607 30.063-4.773 12.94-4.285 28.194.678 41.757 4.962 13.562 14.274 25.18 26.23 31.457 11.956 6.277 26.617 7.814 44.85.226 18.36-7.642 28.286-19.104 32.937-31.795 4.65-12.69 3.814-27.015-1.46-39.84-7.91-19.237-24.69-34.61-47.253-35.795-.94-.05-1.89-.074-2.85-.074zm-274.05 7.643c-10.213 6.585-19.498 14.807-27.35 24.196-17.158 20.52-27.33 46.345-26.304 71.936 1.027 25.59 12.765 51.3 41.572 73.33 28.917 22.114 57.135 27.782 82.322 23.398 25.187-4.384 47.588-19.206 63.344-39.63 7.505-9.727 13.508-20.607 17.605-32.128v-.027c1.1-55.318-17.576-80.434-46.476-95.998-27.654-14.893-66.18-19.45-104.715-25.078zm-119.345 6.647c-17.504 21.283-15.83 46.66-4.68 66.543 11.265 20.09 31.345 32.706 51.97 28.002-.116-1.437-.215-2.875-.272-4.31-.89-22.146 5.054-43.816 15.732-63.008-23.247-1.824-45.287-11.65-62.75-27.227zm275.188 147.24c-2.31 3.714-4.8 7.308-7.46 10.758-16.392 21.247-39.18 37.576-65.53 44.557 7.864 17.405 27.497 26.744 48.827 26.312 23.31-.47 46.56-12.385 55.635-39.52-14.386-9.634-25.56-23.998-31.472-42.106z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlexibleStar;

impl IconShape for FlexibleStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.938 18.063l8.437 19.187c17.36 39.43 27.86 79.965 32.563 120.313-50.01 4.028-99.724 4.15-144.688 1.656l-21.188-1.19L33.5 174.438c42.232 51.6 93.612 82.498 148.438 110.907-12.137 69.664-39.726 134.1-77.282 185.312L92 487.906l21.25-2.437c99.754-11.457 177.9-51.146 236.688-106.064 33.06 23.513 65.993 52.01 98.093 88.97l15.095 17.374 1.28-22.97c3.558-63.803-8.63-128.11-33.655-187.53 37.76-67.647 57.985-143.224 63.563-214.656l2-25.532-17.97 18.22c-35.647 36.18-86.34 61.284-143.468 78.124-46.935-47.74-104.638-85.32-170.03-106.812l-19.907-6.532zm82.75 65.312c10.37.018 23.587 4.884 39.312 14.47 16.552 11.965 32.193 25.124 46.813 39.31-35.065 8.896-72.027 14.882-109.188 18.626-1.033-8.865-2.353-17.75-3.938-26.624-.003-.02.004-.042 0-.062-.856-30.68 8.666-45.75 27-45.72zm183.062 46.688c30.66-.583 46.988 17.807 38.875 56.343-7.78 22.997-17.28 45.628-28.594 67.47-18.614-38.538-42.71-74.62-71.436-106.75 12.818-4.06 25.32-8.585 37.437-13.564 8.605-2.196 16.553-3.363 23.72-3.5zm-81.313 22.968c33.327 35.83 60.508 77.187 80.282 121.47-9.032 15.405-19.007 30.317-30 44.563-7.257 9.4-15.006 18.48-23.158 27.25-21.106-6.102-43.19-14.988-60.812-23-.074-.034-.144-.06-.22-.094-19.852-11.155-39.46-21.245-58.624-30.908-11.675-5.886-22.84-11.594-34.125-17.343 4.355-30.108 5.87-61.04 4.126-92.283 25.76-7.15 54.416-13.28 78.313-19.25 14.972-2.99 29.75-6.43 44.217-10.406zm-39.843 32.657c-.847-.002-1.68.018-2.5.063-6.556.363-12.224 2.22-16.813 5.125-9.177 5.81-15.155 16.127-15.155 32.063 0 31.87 28.156 70.8 61 82.812 16.422 6.007 29.822 4.435 39-1.375s15.156-16.127 15.156-32.063c0-31.87-28.124-70.767-60.967-82.78-7.185-2.63-13.79-3.828-19.72-3.845zm-101.22 2.532c1.17 26.25-.064 52.25-3.374 77.686-8.285-4.346-16.454-8.732-24.47-13.25-45.842-30.138-18.07-49.58 27.845-64.437zm11.095 106.03c9.662 4.89 19.185 9.8 29 14.75 34.664 17.48 70.195 36.024 105.686 59.625-6.714 6.15-13.702 12.07-20.937 17.78-66.568 32.47-115.528 2.77-118.25-70.78 1.656-7.067 3.155-14.187 4.5-21.375zm219.124 1.53c3.838 9.98 7.273 20.084 10.344 30.283 3.064 27.392-20.972 31.225-51.75 25.312 6.026-6.788 11.806-13.74 17.312-20.875 8.65-11.207 16.628-22.84 24.094-34.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FloatingCrystal;

impl IconShape for FloatingCrystal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.94 24.86v55.654l45.31 58.49v66.27l41.24-64.038L320.94 24.86zm-56.706 16.263l-76.77 94.758 87.09 27.778 64.58-29.146-24.81-32.024-50.09-61.365zm-143.074 88.5l-82.674 96.035 82.674 26.858V129.623zm226.403 21.588l-62.307 28.122v238.334l62.176-28.875V234.5l.13-.203V151.21zm-165.907 2.436v237.258l84.912 27.766V180.73l-84.912-27.084zM44.85 247.376l76.31 102.368v-77.58l-76.31-24.79zm331.31 4.413v154.415l82.752-13.533L376.16 251.79zm73.412 161.347L376.16 425.14v46.768l73.412-58.77zm-256.267 1.238l70.93 79.78 70.738-78.973-57.516 26.713-84.152-27.52z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlowerPot;

impl IconShape for FlowerPot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.375 14.688c-17.09 6.94-30.576 17.288-38.75 29.593l-14.813-27.593c-9.017 49.344-12.52 95.085 32 109.563-10.734 36.94-17.187 73.9-20.687 110.813l-20.563-38.344c-2.848-14.713-9.618-30.698-17.343-47l-17.376 74.124c-7.214-22.468-16.496-44.677-28.47-66.47 24.46-43.217 16.134-70.568-31.093-79.28-.515 3.04-.56 9.344-.56 9.344l-19.876-8.75L87.5 100.53l-9.344-4.655c-5.433 42.254-.12 74.946 46.625 72.094 3.705 6.717 7.128 13.47 10.314 20.28L29.22 156.312c31.263 45.247 64.173 82.76 112.53 47.094 10.985 26.656 18.485 53.944 23.75 81.72l-64.78-40.188c12.872 36.068 28.203 67.286 66.936 52.437 1.237 7.446 2.306 14.926 3.28 22.438h18.876c-2.757-21.95-6.533-43.82-11.906-65.5 8.208-4.095 14.35-8.853 18.75-14.188 3.693 11.197 11.61 19.643 26.438 23.594-1.097 18.71-1.506 37.414-1.438 56.092h18.688c-.014-4.07-.003-8.12.03-12.187 41.888-6.813 39.48-42.478 32.407-81.188l-31.967 59.625c.765-23.7 2.492-47.326 5.593-70.906 52.515 5.043 61.144-38.783 65.125-87.78l-61.81 65.843c3.47-20.563 8.06-41.09 14-61.564 37.544 4.596 76.884-35.765 75.28-70l-12.438 7.72c-1.053-11.96-6.674-25.51-17.125-40.69-7.535 5.354-14.003 12.573-19.843 20.44L285.5 31.03l-11.688 14.595c-.32-10.47-2.17-20.77-6.437-30.938zm182.22 99.25c-4.994.008-10.98.86-18.25 2.906-13.336 3.754-27.52 12.25-22.376 37.625-24.488 13.127-45.408 31.122-62.25 53.155h-.19c.03.045.067.08.095.125-.8 1.05-1.593 2.09-2.375 3.156l23.063-76.344c-45.938 31.743-83.94 65.165-45.438 114.75-9.69 21.296-16.536 44.94-20.313 70.5h38.032c24.53-7.376 29.6-36.436 32.187-68.25l-48.155 51.282c6.766-30.55 18.424-57.235 34.406-79.47 36.727 42.145 77.18 14.898 118.033-19.81l-104.594 3.28c13.094-14.284 28.35-26.198 45.56-35.5 11.388 14.74 28.402 14.172 40.595 7.812 25.338-13.216 17.442-27.84 38.28-45.906-20.892 5.264-19.352-19.358-46.31-19.313zM152.936 338.5l26.032 154.594h143.593L348.969 338.5H152.936z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlowerTwirl;

impl IconShape for FlowerTwirl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.15 15.205C156.242 16.415 55.302 138.49 97.855 259.738c.236-.898.495-1.78.74-2.672 2.014-44.925 29.754-87.052 72.382-111.033C240.472 96.4 349.52 103.243 482.07 207.91 441.497 139.717 395.89 98.6 331.764 64.86c25.326 1.366 52.64 1.44 83.797 6.826-44.575-40.27-92.906-56.936-138.41-56.48zM125.822 52.412c-137.746 41.46-140.07 297.526-7.592 355.668-26.982-5.33-52.944-14.213-75.92-26.867 70.023 139.78 335.9 106.928 329.42-81.266-17.214 37.204-52.435 67.6-97.572 79.705-35.122 9.42-70.577 6.236-100.363-6.76-98.026-39.283-154.31-188.008-47.97-320.48h-.003zm123.96 91.914c-12.187-.084-24.737 1.472-37.323 4.848-67.128 18.003-107.523 80.338-91.952 138.502 7.036 26.283 24.393 47.58 47.498 61.373 17.175 6.946 35.95 9.88 54.303 8.15 50.952-4.81 95.722-48.554 90.434-100.952-3.738-37.02-35.686-69.512-73.648-65.363-26.23 2.867-49.247 25.63-46.123 52.295 2.097 17.902 17.716 33.58 35.705 31.297h.002c11.602-1.472 21.745-11.662 20.197-23.002-.194-1.424-.618-2.803-1.21-4.096-2.036 2.385-4.785 4.204-8.044 5.077-8.567 2.296-17.376-2.79-19.672-11.357-2.294-8.568 2.79-17.373 11.36-19.668.49-.132.984-.235 1.477-.32l-.002-.01c.044-.007.087-.01.13-.016h.005c17.875-2.566 32.265 11.716 34.47 27.86h-.003c3.123 22.877-15.39 41.404-36.358 44.064-29.462 3.737-53.413-20.335-56.614-47.656-4.464-38.11 26.966-69.14 62.65-73.042 3.085-.337 6.134-.493 9.14-.478 45.104.222 80.722 38.92 85.126 82.54 4.628 45.855-21.593 85.602-59.184 106.435 65.427-18.976 104.47-80.37 89.12-137.714-12.652-47.26-58.668-78.407-111.485-78.77zm79.74 5.326c23.968 16.104 42.048 39.66 49.798 68.612.908 3.39 1.65 6.79 2.243 10.187 26.737 85.357-5.167 199.845-63.8 261.392C379.27 473.715 425.278 417.11 441.6 353.756c12.557 44.178 15.743 89.788 7.02 128.187 93.862-152.582 29.32-296.865-119.097-332.29z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Flowers;

impl IconShape for Flowers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M85.16 16.84c-29.3.38-53.4 25.41-42.7 70.22l40.3 11.46c3.92-16.7 20.04-27.12 35.34-29.94l1.9-40.46c-11.2-7.76-23.44-11.43-34.84-11.28zm87.64 1.79c-10.2-.1-21.8 3.62-34.2 12.26l-1.8 38.02c14.7 3.29 27.5 13.58 33.4 28.11l32.4-11.85c14.8-35.76-1.3-66.25-29.8-66.54zm230.3 1.06c-9.7-.1-19.5 4.95-16.3 15.6 6 20.14 23.7 16.73 31-.34 4.2-9.92-5.1-15.16-14.8-15.25zm-112.3 5.65c-12.4-.14-24.2 11.9-12.9 35.55-34.2-.71-21.3 46.81 4.4 33.51-13.4 41.4 40.7 47.9 33.5 4.92 32.3 20.28 46.9-12.15 14.7-27.33 42.2-9.17 7.4-59.04-19.8-23.92-.1-15.13-10.2-22.61-19.9-22.72zm10.3 39.21c6.3 0 11.4 5.08 11.4 11.34 0 6.27-5.1 11.34-11.4 11.34-6.3 0-11.3-5.07-11.3-11.34 0-6.26 5-11.34 11.3-11.34zm138.1 1.31c-17.4-.11-28.3 22.49 6.1 35.84-18.3 24.8 32.7 47.4 24.4 5.4 42.7-1.3 17.2-56.74-8-26.56-6.7-10.55-15.2-14.64-22.5-14.68zM119.4 87.38C104.1 91.46 95.36 106.9 99.36 122c4.04 15.3 19.44 24.2 34.64 20.1 15.2-4 24.1-19.5 20-34.7-3.4-12.9-15-21.25-27.7-21.01-2.3.1-4.9.46-6.9.99zm91.3 14.72l-37 13.5c-.3 11.7-4.8 22.6-12.4 31l28.3 28.8c43.7 3.5 62.4-49.3 21.1-73.3zm-178.64 1.4c-36.199 29.3 5.9 104.9 44.2 92l23.5-42.2c-13.88-10.5-19.37-21.5-19.9-36.2zm367.24 20.8c-15 .2-31.8 9.8-46.5 32l11.4 49.3c1.5-.1 3 0 4.5.1 12.5.9 24.5 6.3 33.4 15.6l39.4-27.7c5.4-39.9-14.8-68.7-40.8-69.3zm79.1 28.1c-21 .6-22.3 18.6-7.7 30.1 17 13.2 29.9-30.7 7.7-30.1zm-165.3 3.5c-40.1.4-74.3 32.3-43.4 88.4l46.1.1c3.3-18.7 15.2-28.7 30.1-35.1l-11.8-50.7c-6.9-1.9-14.1-2.8-21-2.7zm-167 1.8c-9.1 4.1-20.5 4.9-29.2 3.1l-22.14 39.9c35.34 42.4 66.94 18.7 77.84-16zm298 57L412.3 237c4.8 11.9 4.9 24.8.8 36.3l36 21.3c51.6-7.4 55.5-71.5-5-79.9zm-78.9 9.5c-5.5 0-11 1.4-16.1 4.3-15.5 9-20.7 28.5-11.8 44 9 15.5 28.5 20.8 44 11.8 15.5-8.9 20.8-28.5 11.8-44-5.6-9.7-15.3-15.4-25.6-16.1zM79.66 235.6c-34.7.5-57.8 31.9-33.3 81.6l53.2 16.7c7.64-14 21.24-24.2 37.44-27.3l-3-48.8c-18.1-15.5-37.54-22.5-54.34-22.2zm113.94 2.8c-13.1.2-27.7 6.9-40.7 22.4l2.8 45.4c13.3 2.1 25.1 9.1 33.4 19.1l39.2-22.2c15.1-35.7-6.5-65.2-34.7-64.7zm73 24.5c-30.8 56.4 24.9 96.3 68.2 80.7l11.3-40.1c-10.1-4.1-19.1-11.5-24.9-21.6-3.5-6-5.5-12.3-6.4-18.8zm137.2 26.6c-3.6 4.3-8 8-13.1 11-8.3 4.7-17.3 6.9-26.2 6.8l-12 42.6c33.6 38 90.6 1.2 86.5-39.6zM233 322l-34.6 19.5c5.7 15.8 2.9 34.4-5.1 47.4l30.2 31.7c67.6-28.1 48.5-74.9 9.5-98.6zm-85.7 2.2c-19.9 0-35.8 16-35.8 35.8 0 19.9 15.9 35.8 35.8 35.8 19.8 0 35.7-15.9 35.7-35.8 0-19.8-15.9-35.8-35.7-35.8zM40.46 334.9c-36.699 38.3-23 115.2 44 109.5l25.84-44.5c-14.61-13.3-19.79-30.8-16.74-48.3zm425.94 22c-15.5.1-41.5 23.1-13.8 29-3.3 38 49.1 5.5 23-14 2-11.1-2.7-15.1-9.2-15zm-119.2 24.4c-8 0-16.3 7.1-19.4 25.4-23.9-30.7-58.2 4.6-20.5 26.8-47.6 24.4 2.6 57 21.9 27.5 4.3 49.5 60.8 18.2 29.1-10.8 40.2 6.6 40.1-32.2 1-31 13.6-18.7 1.2-38-12.1-37.9zm-166.4 21.5c-18.1 11.8-36 15.2-54.8 7.3l-28.94 49.8C118.7 511.3 218.5 487 217.4 439.3l-.9.9zm156.4 20.8c6.3 0 11.3 5.1 11.3 11.3 0 6.3-5 11.4-11.3 11.4-6.3 0-11.3-5.1-11.3-11.4 0-6.2 5-11.3 11.3-11.3zm108.1 7c-12.2-.4-16.2 20.1 6.4 32.9-21.5 28.8 29.4 50.7 23.8 6.8 36.7 7 9.6-36.1-8.5-20.7-7.8-13.5-15.7-18.8-21.7-19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FluffyCloud;

impl IconShape for FluffyCloud {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225.438 18.156c-15.105.14-32.56 2.526-52.407 7.844-35.26 9.45-65.035 28.973-88.374 54.844-17.668 13.755-36.98 46.39-51.437 85.97-16.415 55.046-16.447 120.304-2.157 188.155C34.84 372.91 44.14 385.08 57.5 392.093c13.36 7.01 31.353 8.776 52.688 3.062 13.473-3.608 23.028-12.44 28.812-22.75 5.784-10.31 7.226-22.05 5.313-29.187-4.335-16.17-19.078-25.202-32.313-21.658-9.02 2.417-13.433 10.27-13.5 16.97-.034 3.35.976 6.065 2.75 7.968 1.774 1.903 4.493 3.497 10 3.594l-.344 18.687c-9.57-.168-17.87-3.693-23.312-9.53s-7.856-13.482-7.78-20.906c.148-14.85 10.064-30.185 27.342-34.813 24.03-6.434 48.515 9.84 55.22 34.845 3.605 13.45.802 29.11-7.095 43.188-7.896 14.077-21.48 26.63-40.25 31.656-4.174 1.117-8.282 1.972-12.343 2.624 98.875 90.13 248.893 110.83 349.344 9.72 18.164-18.283 31.29-40.735 38.595-65.127.02-.063.044-.124.063-.187 9.94-40.298 4.91-84.342-17.5-123.156-44.153-76.474-142.198-106.276-193.094-78.28-57.27 23.11-71.688 56.892-76.625 81.874-21.635 61.008 4.65 135.55 67.686 156.375 43.724 14.443 97.45-5.348 111.656-51.25 9.364-30.262-4.29-66.992-35.437-75.532-9.543-2.616-20.58-1.58-29.438 2.658-8.858 4.237-15.41 11.2-17.78 21.093-1.297 5.42-.55 11.935 1.906 16.814 2.455 4.88 5.99 8.01 11.25 8.97 1.883.342 4.31-.074 6.28-.845-2.017-.512-3.482-1.562-4.343-2.345-1.39-1.288-3.168-3.693-3.656-6.563-.78-4.998 2.214-9.82 5.03-11.906 2.818-2.086 5.51-2.925 8.845-2.906 6.21.034 11.453 3.97 14.03 8.125 2.577 4.154 3.51 8.625 2.97 13.28v.033c-.982 8.283-6.386 14.75-12.533 18.187-6.146 3.438-13.153 4.556-19.968 3.313-11.435-2.087-20.017-9.842-24.595-18.938-4.578-9.096-5.78-19.644-3.406-29.563 3.774-15.756 14.824-27.336 27.905-33.593 13.08-6.257 28.324-7.683 42.438-3.813 42.675 11.702 60.497 59.787 48.343 99.064-17.637 56.99-82.493 80.936-135.375 63.47-68.184-22.526-99.163-97.1-84.28-163.44-18.918-16.436-34.28-39.526-40.47-62.624-14.74-55.014 32.67-114.382 82.19-130.563 42.26-13.775 79.575 5.404 60.124 39.094 33.446-28.243 15.37-79.8-57.406-79.124z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FluffyFlame;

impl IconShape for FluffyFlame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.043 24.678c-2.944.002-5.89.177-8.828.535C36.212 30.937 9.05 81.023 22.537 137.08c3.273 13.606 8.647 26.307 15.57 37.668-.006-.09-.007-.177-.013-.266 1.35 2.25 2.966 4.417 4.85 6.438 11.252 12.063 27.762 13.945 36.796 4.672 9.034-9.273 7.16-26.484-4.09-38.547-1.41 7.565-7.797 13.434-15.77 13.434-8.998 0-16.35-7.356-16.35-16.355 0-1.885.26-3.35.824-4.92C54 117.51 73.796 100.763 98.912 96.082c30.028-5.596 59.188 7.624 75.38 31.316 4.616 13.202 6.077 24.766 5.616 35.514-.84 19.612-8.37 37.303-17.142 57.244-12.184 27.692-26.016 59.814-22.526 104.215 1.285 57.826 31.464 113.704 84.887 145.392 82.36 48.853 188.73 21.7 237.592-60.64 48.86-82.338 21.713-188.687-60.648-237.54-13.1-7.77-26.807-13.61-40.795-17.617 45.042 34.597 60.388 96.118 36.68 147.875-.532-4.287-1.34-8.593-2.44-12.897-13.92-54.505-68.97-88.07-123.476-74.158-8.882 2.263-16.897 6.52-24.515 10.807 35.86-5.066 70.14 16.573 79.31 52.47 9.83 38.507-13.138 77.213-51.657 87.04-9.925 2.535-19.965 2.87-29.563 1.326-7.373-2.62-14.602-5.98-21.586-10.123-14.722-8.732-26.925-20.077-36.413-33.076-16.793-32.11-20.372-62.952-8.217-94.378l-.035-.014.508-1.154c8.797-19.996 17.684-40.13 18.707-63.97.397-9.248-.45-18.94-2.855-29.228-.53-5.94-1.51-12-2.987-18.136-12.644-52.555-56.53-91.7-100.695-91.672zm282.39 57.53c-28.528-.353-54.46 19.41-67.154 61.7 30.764-33.286 128.965-6.368 182.1 96.524C476.72 139.258 421.974 82.794 374.43 82.207z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FluffySwirl;

impl IconShape for FluffySwirl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M306.72 22.688c-87.212.763-181.58 53.14-238.19 140.406-.944 1.46-1.677 3.068-2.593 4.53.455-.397.86-.917 1.313-1.31-40.253 56.984-35.183 136.503 15.813 187.5 54.553 54.552 141.745 56.65 199.093 6.78-4.676 6.576-9.916 13.137-15.812 19.03-57 57-149.53 57-206.53 0-17.814-17.81-30.103-38.73-36.783-61.312 2.928 65.605 34.97 122.74 93.907 151.97 103.593 51.374 250.2-2.8 326.875-121C510.904 245.856 502.47 127.374 429.938 65c-10.36-8.91-22.206-16.483-35.156-22.906-25.897-12.844-54.454-19.11-83.905-19.407-1.38-.013-2.772-.012-4.156 0zm1.06 62.406c47.14-.705 82.63 23.414 90.376 58.906v.03c1.417 6.492 1.806 13.565 1.344 21.032-3.682 59.742-68.786 126.655-145.438 149.563-.945.282-1.872.422-2.812.688l.938-.47c-37.843 12.718-74.086-.708-84.438-33.624-7.03-22.36-.468-48.544 15.25-70.408-1.695 7.2-.05 13.91 5.344 18.375 10.643 8.816 31.83 5.575 47.312-7.25 15.483-12.824 19.394-30.37 8.75-39.187-6.294-5.214-16.287-6.21-26.594-3.5.178-.103.353-.21.532-.313-.755.257-1.52.54-2.28.813-.344.123-.69.217-1.033.344-2.682.876-5.37 1.984-8 3.344-.656.307-1.315.61-1.968.937-42.374 21.24-83.226 68.335-71.656 105.125 3.616 11.497 10.213 20.614 19.094 27.094-30.253-10.44-48.35-34.526-46.563-68.53 3.682-70.837 83.193-133.31 159.844-156.22 14.673-4.385 28.802-6.553 42-6.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FluffyTrefoil;

impl IconShape for FluffyTrefoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M347.992 22.832c-51.712.07-101.096 34.503-109.127 86.984-6.792 44.385 21.9 91.457 68.047 97.996 33.752 4.784 69.154-16.666 73.35-50.78 2.95-23.992-12.95-49.414-37.766-52.053-5.27-.562-10.605.153-15.478 1.91-7.48 1.888-13.638 7.08-16.848 13.93-1.555 2.91-2.556 6.132-2.83 9.608-.395 5 1.114 10.15 3.95 14.144 4.44 7.53 12.626 12.586 22 12.586 7.837 0 14.846-3.534 19.528-9.094-1.186 6.693-5.074 12.374-9.923 16.1-5.798 4.454-12.964 6.677-20.323 6.29-21.858-1.142-35.413-21.852-33.86-41.5 2.225-28.175 29.754-45.323 55.76-42.558 36.215 3.852 58.474 39.28 54.337 72.918-5.608 45.582-51.27 73.13-94.52 67-35.455-5.024-62.33-28.824-75.702-59.06-25.502-12.462-54.185-18.076-82.324-15.568-73.17 6.52-135.548 70.878-128.2 146.78 5.672 58.588 56.423 108.3 115.655 101.75 44.613-4.93 82.65-44.843 77.028-91.126-4.112-33.853-33.983-62.497-68.006-57.717-23.93 3.362-44.37 25.31-40.498 49.973 2.195 13.982 13.266 26.085 26.428 27.617 1.503.276 3.05.426 4.633.426 14.097 0 25.523-11.428 25.523-25.525 0-10.782-6.687-19.994-16.14-23.734 6.22-.15 12.117 2.062 16.607 5.505 5.8 4.448 9.8 10.797 11.332 18.004 4.548 21.41-11.938 39.867-31.315 43.456-27.79 5.148-51.47-17.014-55.527-42.854-5.648-35.982 22.8-66.658 56.358-71.373 45.47-6.39 83.886 30.595 89.154 73.966 1.82 14.983.02 29.355-4.59 42.527 2.383 27.298 11.775 53.85 27.447 76.166 42.22 60.117 129.123 81.955 191.172 37.628 47.897-34.216 65.572-103.043 30.295-151.074-26.57-36.177-80.135-49.16-117.4-21.143-27.258 20.495-37.133 60.7-15.988 87.78 14.873 19.044 44.09 25.772 63.51 10.083 12.984-10.49 17.54-30.37 6.88-42.858-2.156-2.525-4.954-4.495-7.997-5.785-1.582-.81-3.27-1.47-5.055-1.95-13.617-3.648-27.613 4.433-31.26 18.05-.784 2.92-1.024 5.86-.79 8.71-3.532-5.438-4.66-11.908-3.897-17.728.952-7.248 4.448-13.887 9.924-18.818 16.265-14.65 40.494-9.6 53.287 5.39 18.35 21.496 10.997 53.09-9.35 69.526-28.333 22.888-69.12 13.59-89.978-13.12-28.26-36.19-15.44-87.96 19.482-114.214 17.342-13.038 37.328-18.982 57.246-18.992 12.108-.007 24.188 2.19 35.635 6.306 19.393-21.698 32.76-48.573 37.747-77.1 12.655-72.385-33.343-149.295-108.54-161.83-6.347-1.058-12.734-1.567-19.085-1.558z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FluffyWing;

impl IconShape for FluffyWing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160.53 20.906c-22.075.207-39.973 9.138-54.218 23.782C89.507 61.962 78.3 87.6 74.876 115.624c-6.847 56.05 16.55 119.953 82.094 146.625l-7.032 17.313c-64.128-26.096-93.275-84.757-94.782-141-17.36 10.866-27.608 27.05-32.343 46.437-5.728 23.448-2.727 51.54 7.906 77.844 21.264 52.61 71.37 96.856 138.436 87.594l2.563 18.53c-48.795 6.74-90.183-11.576-119.907-41.03-8.152 16.216-7.504 32.264-.657 48.312 8.472 19.854 27.498 39.252 52.875 53.594 47.085 26.61 114.8 35.554 173.19 5.094-5.43-20.99-2.652-45.074 11.342-69.313 22.71-39.332 60.78-49.83 88.375-38.688 13.798 5.572 25.08 16.555 29.875 31.157 4.796 14.6 2.836 32.303-7.375 50.312-11.8 20.81-34.144 27.877-51.25 22.22-8.552-2.83-16.22-9.437-18.875-18.876-2.653-9.44-.142-20.366 7.063-31.313l15.594 10.282c-5.238 7.955-5.5 13.08-4.69 15.967.813 2.888 2.84 4.895 6.75 6.188 7.822 2.587 21.483-.152 29.158-13.688 8.188-14.44 8.82-26.183 5.843-35.25-2.976-9.066-9.846-15.954-19.092-19.687-18.493-7.467-46.14-2.273-65.188 30.72-14.024 24.29-14.373 45.376-6.72 63.436l2.814 4.375c-.197.13-.397.25-.594.376.256.497.513 1.008.78 1.5 1.945 3.565 4.218 7.007 6.814 10.28.1.13.21.25.312.377.395.49.81.984 1.22 1.468 11.508 13.657 28.358 24.378 47.312 30.283 24.26 7.557 51.596 7.146 74.843-3.75 23.248-10.897 42.935-31.972 52.69-68.375 3.323-12.406 5.08-23.776 5.5-34.313.01-.418.023-.832.03-1.25.087-5.1-.088-10.246-.563-15.406-.037-.407-.084-.814-.125-1.22-.032-.27-.06-.544-.093-.813-3.295-25.79-15.823-46.16-34.345-64.437-29.635-29.24-75.698-51.638-122.75-74.125-47.052-22.487-95.112-45.1-128.875-77.656-31.683-30.553-49.926-71.185-40.313-124.814-.72-.01-1.444-.006-2.156 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlyingDagger;

impl IconShape for FlyingDagger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.53 10.47c51.747 30.872 96.318 71.166 131.94 119.093C199.33 72.05 115.217 33.942 19.22 21.406c12.584 96.38 50.948 180.807 108.843 247.063-47.45-35.09-87.475-78.907-118.313-129.783v31.219C65.264 272.953 147.488 356.6 249.28 413.812 159.164 375.9 78.843 322.91 10.813 257.375l-.468 38.125C134.828 408.824 300.18 479.697 493.75 494.688c-14.992-193.573-85.27-358.92-198.594-483.407l-41.812.44c64.677 66.753 117.25 145.417 155.28 233.624-57.55-99.84-140.81-180.403-242.937-234.875H133.53zm22.22 149.5c36.29 16.732 71.624 40.59 103.97 68.343l60.717-60.157 34.47 34.438-37.376 23.375c58.01 69.636 105.07 147.97 134.908 230.686-82.466-29.758-160.62-76.55-230.094-134.312l-23.938 36.78-35.062-34.468 60.75-60.72c-27.75-32.335-51.607-67.668-68.344-103.967z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FlyingFlag;

impl IconShape for FlyingFlag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M356.688 19.188c-6.83-.032-12.837.64-18.125 1.843-24.178 5.495-36.437 21.983-50.938 41.157-14.5 19.175-31.317 40.993-62.78 47.47C195.08 115.78 154.27 108.253 91.25 78.5c-10.013 44.88-33.406 128.62-60.906 178.656 60.093 28.5 97.245 34.926 121 30.875.01 0 .02.004.03 0 21.59-5.827 34.487-20.094 47.876-43.092 17.014-29.227 32.563-72.198 60.25-123.188l16.406 8.938c-16.69 30.735-28.802 58.617-40 82.937 8.552-6.512 18.633-11.77 31.063-14.594 27.71-6.296 65.053-.495 121.655 24.75-6.932-29.276-1.885-61.913 9.875-92.218 12.686-32.69 33.038-62.907 56.28-84.03-42.595-19.553-73.152-27.554-95.124-28.282-1.01-.033-1.993-.058-2.97-.063zm127.54 14.144c-.858-.025-1.752.062-2.664.266-4.378.977-8.94 4.424-12.084 11.097L289.53 497.31h23.61L490.972 49.368c3.475-10.153-.75-15.86-6.746-16.035z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Foam;

impl IconShape for Foam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.125 18.285c-50.616 0-91.848 41.234-91.848 91.85 0 16.783 4.538 32.53 12.444 46.09-2.017 6.705-3.103 13.82-3.103 21.203 0 31.782 20.04 58.905 48.158 69.44-5.863 6.96-9.414 15.922-9.414 25.67 0 11.727 5.138 22.323 13.267 29.657-36.275 7.53-63.67 39.773-63.67 78.23 0 44.01 35.88 79.89 79.893 79.89 16.252 0 31.387-4.903 44.025-13.292 13.485 18.495 35.304 30.53 59.928 30.53 33.308 0 61.144-22.157 70.482-52.414.16-.083.323-.16.483-.244 22.43-2.07 43.35-9.045 61.685-19.955 10.443 15.996 27.664 27.192 47.527 29.44-.067 1.042-.113 2.09-.113 3.147 0 26.61 21.773 48.38 48.383 48.38 26.61 0 48.383-21.77 48.383-48.38 0-19.492-11.69-36.377-28.4-44.02 2.197-5.482 3.677-11.32 4.314-17.405 15.134-13.576 24.666-33.272 24.666-55.188 0-15.132-4.552-29.203-12.346-40.937 16.048-11.97 26.48-31.09 26.48-52.563 0-29.132-19.203-53.93-45.587-62.412 1.016-4.86 1.558-9.9 1.558-15.076 0-4.87-.485-9.624-1.382-14.233 8.977-8.883 14.562-21.19 14.562-34.74 0-26.915-22.02-48.937-48.937-48.937-9.968 0-19.263 3.025-27.02 8.197-5.598-14.962-20.073-25.705-36.913-25.705-21.643 0-39.39 17.746-39.39 39.39 0 10.1 3.865 19.347 10.185 26.342-9.428 10.497-15.918 23.71-18.18 38.326-13.648-4.188-28.03-6.576-43.045-6.576-6.49 0-12.86.38-19.13 1.197-.972-30.35-20.245-56.103-47.122-66.638-15.555-28.71-45.962-48.265-80.82-48.265zm0 18.69c7.544 0 14.814 1.134 21.652 3.238-1.293-.11-2.598-.178-3.92-.178-25.298 0-45.804 20.505-45.804 45.803s20.506 45.805 45.804 45.805c25.3 0 45.805-20.507 45.805-45.805 0-6.236-1.25-12.176-3.508-17.594 8.273 11.855 13.133 26.283 13.133 41.89 0 40.517-32.645 73.16-73.162 73.16s-73.16-32.643-73.16-73.16c0-40.515 32.643-73.16 73.16-73.16zm237.502 16.22c.9 0 1.784.062 2.652.17-5.003 1.46-8.66 6.072-8.66 11.545 0 6.646 5.387 12.033 12.032 12.033 6.646 0 12.034-5.387 12.034-12.033 0-.45-.03-.894-.08-1.332 1.726 3.03 2.722 6.542 2.722 10.32 0 11.545-9.158 20.702-20.7 20.702-11.546 0-20.702-9.158-20.702-20.702 0-11.544 9.157-20.703 20.7-20.703zm63.934 17.508c3.39 0 6.637.554 9.67 1.563-9.974.273-17.978 8.425-17.978 18.464 0 10.212 8.276 18.49 18.488 18.49 10.064 0 18.233-8.043 18.47-18.05 1.032 3.064 1.6 6.352 1.6 9.783 0 16.818-13.434 30.248-30.25 30.248-16.817 0-30.248-13.43-30.248-30.247s13.433-30.25 30.25-30.25zm-95.078 88.19c3.62 0 7.13.426 10.502 1.21-15.534.07-28.107 12.68-28.107 28.23 0 15.596 12.643 28.237 28.238 28.237 15.596 0 28.237-12.64 28.237-28.236 0-4.11-.885-8.01-2.463-11.53 5.914 7.717 9.428 17.387 9.428 27.925 0 25.424-20.41 45.834-45.836 45.834-25.425 0-45.836-20.41-45.836-45.835 0-25.427 20.41-45.837 45.836-45.837zm109.32 21.668c1.165 0 2.317.057 3.462.14-10.243 5.013-17.3 15.533-17.3 27.706 0 17.03 13.805 30.836 30.835 30.836 13.4 0 24.8-8.552 29.052-20.494.52 2.808.804 5.7.804 8.666 0 25.988-20.867 46.854-46.855 46.854-25.987 0-46.855-20.866-46.855-46.854 0-25.987 20.868-46.853 46.856-46.853zM230.03 241.41c.642 0 1.282.012 1.92.026-26.22 6.906-45.556 30.77-45.556 59.158 0 33.79 27.39 61.18 61.182 61.18 33.79 0 61.18-27.39 61.18-61.18 0-4.832-.578-9.525-1.637-14.033 7.13 12.744 11.194 27.45 11.194 43.13 0 48.87-39.414 88.285-88.283 88.285-48.868 0-88.284-39.415-88.284-88.284 0-48.867 39.416-88.282 88.285-88.282zm-115.692 9.84c3.25 0 6.312.71 9.05 1.98-.377-.036-.757-.058-1.144-.058-6.776 0-12.27 5.492-12.27 12.268 0 6.775 5.494 12.267 12.27 12.267 6.71 0 12.15-5.387 12.258-12.07.726 2.16 1.125 4.478 1.125 6.902 0 11.87-9.422 21.29-21.29 21.29-11.87 0-21.29-9.422-21.29-21.29 0-11.87 9.422-21.29 21.29-21.29zm-10.49 67.973c5.03 0 9.91.615 14.582 1.75-.343-.01-.683-.03-1.028-.03-23.42 0-42.406 18.986-42.406 42.406 0 23.42 18.986 42.406 42.406 42.406 10.767 0 20.59-4.02 28.07-10.63 3.814 4.918 8.044 9.5 12.643 13.685-10.198 19.537-30.616 32.82-54.267 32.82-33.913 0-61.204-27.29-61.204-61.203 0-33.913 27.29-61.203 61.204-61.203zm291.513 3.186c2.17 0 4.3.158 6.387.44-12.363 3.926-21.322 15.492-21.322 29.156 0 16.895 13.696 30.59 30.592 30.59 14.714 0 26.997-10.39 29.923-24.233.826 3.496 1.276 7.143 1.276 10.902 0 7.137-1.584 13.883-4.406 19.922-.52-.017-1.04-.04-1.564-.04-18.91 0-35.365 11-43.313 26.91-24.85-1.25-44.43-21.618-44.43-46.792 0-25.988 20.868-46.856 46.856-46.856zm40.887 85.428c1.986 0 3.92.196 5.793.56-7.416 1.746-12.94 8.388-12.94 16.336 0 9.28 7.52 16.8 16.797 16.8 9.28 0 16.8-7.52 16.8-16.8 0-.294-.03-.58-.046-.873 2.1 4.084 3.29 8.726 3.29 13.67 0 16.51-13.184 29.694-29.694 29.694-16.51 0-29.693-13.183-29.693-29.693s13.183-29.693 29.693-29.693z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoamyDisc;

impl IconShape for FoamyDisc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.36 18.36V61.93C34.627 68.63 57.354 57.75 56.34 37.66c-.428-8.467-2.997-14.816-6.8-19.3H18.362zm70.935 0c-8.762 6.123-14.738 15.86-14.117 28.154 2.822 55.843 74.69 43.358 72.61 2.193-.73-14.484-6.11-24.363-13.638-30.346H89.295zm160.44 0c-.77 2.073-1.154 4.366-1.028 6.86 1.518 30.043 40.184 23.326 39.064 1.176-.153-3.05-.69-5.72-1.53-8.035h-36.504zm-39.6 14.732c-13.868-.192-28.148 9.758-27.35 25.554 2.04 40.344 53.96 31.326 52.457 1.59-.956-18.91-12.87-26.975-25.107-27.144zm72.136 30.902c-18.84-.26-38.24 13.26-37.157 34.727.16 3.18.553 6.13 1.145 8.862-13.22-.435-27.03 8.986-26.27 24.068 1.228 24.295 21.65 29.56 35.858 22.89-3.048 5.303-7.85 10.39-14.81 14.89-30.926 20-71.9-25.052-41.349-54.955-17.843-15.657-45.15-14.958-64.37-2.758-11.738-25.242-52.11-14.796-50.764 11.836.955 18.904 12.577 27.248 24.785 27.836 14.04-3.622 30.87 3.156 31.998 25.49 1.277 25.31-37.17 35.205-48.2 11.073-14.592 6.695-25.635 20.36-24.71 38.668 1.84 36.44 27.72 49.087 51.076 45.316-1.726 10.21-2.637 20.695-2.637 31.396 0 103.293 83.735 187.025 187.028 187.025 103.293 0 187.025-83.734 187.025-187.025 0-86.036-58.096-158.493-137.197-180.305-5.765-19.033-22.106-25.988-37.472-24.066-1.99-24.32-17.772-34.743-33.977-34.966zM41.09 120.23c-8.12-.113-16.354 2.547-22.73 7.426v51.614c19.334 16.46 55.685 3.082 54.27-24.944-1.2-23.755-16.17-33.886-31.54-34.097zm305.99 23.813c4.212-.068 8.445.638 12.496 1.986-12.756 1.485-24.682 11.16-23.945 25.75 1.74 34.452 39.317 33.438 50.296 14.275-1.235 7.157-4.886 14.728-11.713 22.28-28.037 31.018-88.545-11.576-50.51-53.66 6.57-7.27 14.926-10.495 23.377-10.632zm-74.404 41.64c11.91.163 23.51 8.013 24.44 26.42 1.463 28.96-49.077 37.74-51.06-1.53-.78-15.385 13.12-25.074 26.62-24.89zm124.322 42.99c9.134.124 18.197 1.884 26.598 5.42-25.967-3.65-55.135 12.415-58.756 40.22-19.837-11.83-51.45 1.51-50.13 27.628 2.172 43.01 49.663 41.154 62.476 16.634 25.55 30.17 80.996 15.122 87.332-23.23.246 2.257.45 4.556.572 6.94 3.127 61.913-79.096 90.707-119.992 51.277-30.644 12.28-71.25 1.878-79.932-42.828-18.6 10.04-47.025 3.74-48.682-29.058-1.528-30.262 41.848-43.098 58.39-18.63 16.493-20.24 47.792-28.115 72.108-17.59 13.89-11.007 32.075-17.03 50.016-16.782zm-215.773 62.143c17.442-.282 35.54 20.266 17.142 40.622-17.71 19.596-55.942-7.316-31.912-33.903 4.15-4.593 9.43-6.632 14.77-6.72zm51.447 44.147c.478.006.957.024 1.433.05-6.825 4.058-11.688 11.082-11.228 20.186 1.36 26.906 26.273 30.494 40.2 20.347-6.124 30.702-61.747 37.17-64.085-9.106-.983-19.457 16.602-31.712 33.68-31.477zm66.8 48.166c-2.646 4.508-4.096 9.84-3.792 15.856 2.55 50.456 67.483 39.175 65.605 1.977-.033-.658-.082-1.297-.137-1.934.522-.663 1.07-1.325 1.668-1.987 17.356-19.203 54.816 7.17 31.27 33.22-7.726 8.55-19.426 8.052-27.965 2.587-8.86 41.688-84.556 50.255-87.75-12.948-.845-16.75 8.347-29.605 21.1-36.773z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FocusedLightning;

impl IconShape for FocusedLightning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.594 18.125V104.5l210.094 181.78-84.97 178.22 230.938-92.188-39.875 117.032 94.47-35.813 67.594 44.533-34.594-106.344-59.75 27.5 76.75-168.25-198.03 99.093 76.5-122.75L238.186 18.125H121.813L312.406 244.72 218.47 393.75l58.28-142.813L43.72 18.125H19.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoldedPaper;

impl IconShape for FoldedPaper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M210.28 18.344c-21.362 43.312-84.904 72.3-146.968 101.78L181.22 156.94 54.312 142.5c28.592 58.053 71.69 113.348 120.968 157.75l99.314 29.906L179 323.312c-35.158 32.766-95.2 70.74-161.5 91.782 88.447 40.53 161.28 46.956 280.344 77.25C378.36 453.12 415.57 425.644 470.094 382l-149.25-42.438 147.47 18.938c-49.763-45.25-89.572-102.69-115.47-161.438L227.53 165.125l141.064 13.594c55.096-20.42 85.08-49.28 124.53-102.282-97.707-20.988-177.93-45.69-282.843-58.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoodChain;

impl IconShape for FoodChain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.5 70.25c-.72 6.95-1.734 13.736-3 20.344 12.315 10.112 23.644 22.72 33.375 38.53-12.47-9.09-25.16-14.98-38.28-18.405-1.58 5.215-3.355 10.31-5.376 15.25 8.883 4.326 17.547 9.732 25.874 16.436-11.392-1.21-22.253-1.648-32.844-1.72-2.29 4.25-4.795 8.353-7.5 12.345 37.188 5.378 74.36 17.742 111.03 37.376-.772-36.935-26.11-81.666-83.28-120.156zM15.47 93.125c8.837 10.885 16.473 22.046 22.686 33.53 23.477 5.784 47.696 16.287 72.03 34-21.74-6.466-41.183-7.49-59.5-4.436 2.955 9.607 4.9 19.456 5.752 29.56l28.406 8.126-28.125 11c-.637 12.014-2.822 24.396-6.69 37.188 10.02 2.278 20.572 2.518 31.97.28-13.162 9.942-26.297 16.16-39.22 19.657-3.955 9.28-8.777 18.785-14.53 28.5 55.874-11.275 92.37-27.547 113.47-46.03-6.286-3.173-12.748-6.244-19.407-9.25-8.642-3.9-15.25-8.45-19.72-14.375-4.47-5.925-6.265-13.815-4.343-20.75 3.844-13.87 17.296-22.617 35.78-29.53 6.17-2.31 12.36-4.42 18.564-6.345-22.876-33.16-75.31-61.603-137.125-71.125zm231.155 74.438c-49.666-.092-99.264 12.687-145.938 37.562 10.067 4.313 19.585 8.538 28.626 12.75.233.11.446.204.687.313 39.04 18.24 69.042 36.415 94.75 61.75l24.03-12.438 8.595 16.594L234 296.188c9.052 8.52 19.78 14.486 31.688 18.625-18.848 2.345-37.715 1.337-56.563-5.72l-22.438 11.626c31.974 17.63 71.257 20.563 97.25 5.28l9.47 16.094c-6.117 3.596-12.608 6.41-19.376 8.47 7.396 15.617 18.3 31.395 32.75 48.092 35.162 40.627 80.495 48.148 99.064 3.875-14.172 10.394-39.122 9.802-51.313 1.19-25.038-17.697-11.577-52.194 2.5-78.126 11.844-21.817 42-34.654 57.908-25.47 12.553 7.248 15.24 24.905 8.437 42.532 16.457-9.064 33.79-9.677 43.53.78 7.308 7.84 8.207 19.94 4.158 32.252 46.384-47.552 5.884-114.95-47.625-149.032-55.533-39.73-116.22-58.982-176.813-59.094zm145.563 63.75c.45-.02.892-.012 1.343 0 3.284.084 6.583.962 9.626 2.718 9.737 5.623 13.092 18.074 7.47 27.814-5.623 9.737-18.077 13.06-27.813 7.437-9.737-5.62-13.09-18.074-7.47-27.81 3.624-6.277 10.1-9.886 16.844-10.157zm68.187 163.875c-8.3 25.18-29.67 34.388-52.344 42l41.158 6.406c2.32 32.026 10.377 48.196 39.53 43.53 11.6-26.25.588-45.847-26.562-55.25l-1.78-36.687z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FootTrip;

impl IconShape for FootTrip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.184 20.438V85.28c59.784 30.143 127.947 55.057 210.533 74.077-31.71-36.525-60.99-68.18-89.227-96.8 6.367 12.655 11.006 27.283 14.395 44.904-53.547-19.78-84.892-48.78-116.98-87.022h-18.72zm267.673.246c-22.315 31.524-48.202 61.03-75.712 89.248 16.454 18.16 33.494 37.59 51.363 58.64l17.558 20.682-26.57-5.484c-33.474-6.91-64.738-14.737-94.137-23.436-26.238 24.524-52.843 48.348-78.362 71.99l.34-.045c2.687 19.993 14 43.568 30.77 62.896 16.767 19.328 38.787 34.328 62.01 39.037l5.933 1.203 1.327 5.908c8.72 38.83 40.225 72.713 81.742 93.37 38.61 19.21 85.43 26.714 128.683 16.986-2.273-10.32-7.216-20.79-14.424-29.133-31.11-33.678-56.284-72.403-74.218-113.858-28.463-2.496-46.867 8.613-71.127 25.195l-10.545-15.43c22.512-15.387 44.72-28.565 74.05-28.744-2.307-6.2-4.458-12.45-6.44-18.745-26.75-9.675-47.364-3.717-75.018 5.998l-6.195-17.63c18.554-6.52 36.657-11.973 55.955-11.724 7.425.095 15.028 1.043 22.9 3.09 2.322-3.465 4.734-6.903 7.23-10.31-18.026-14.307-38.087-17.633-58.665-18.124l.445-18.682c22.394.535 47.575 4.742 69.678 22.074 8.265-10.045 17.24-19.77 26.74-29.13-15.804-17.233-31.818-36.77-48.746-59.553l-14.615-19.67 24 4.945c37.017 7.626 69.67 15.866 99.21 24.832 33.186-23.086 68.577-41.592 101.955-53.67V20.684H285.857zm27.303 125.37c10.444 13.26 20.557 25.25 30.55 36.257l-.224-.128 93.29 121.527-12.57-50.4c20.554 14.263 42.67 27.353 67.788 41.01v-43.08c-40.85-13.435-65.915-26.845-98.795-65.527 22.163-.41 41.016.42 57.75 2.324-38.986-15.8-83.21-29.64-137.79-41.984zM64.22 247.043c-8.06 7.607-15.976 15.208-23.695 22.82 8.767 29.856 31.006 68.292 66.934 88.683l32.05-16.92c-16.164-8.44-30.58-20.443-42.518-34.203-15.8-18.212-27.433-39.442-32.77-60.38zm75.462 94.675l3.107 10.934c16.594 58.413 65.493 102.965 124.8 125.227 33.94 12.74 71.068 18.028 107.03 14.583 10.16-2.584 15.664-11.107 17.17-21.865-47.083 9.794-96.675 1.386-137.995-19.172-43.536-21.66-78.302-57.094-90.18-100.385-8.315-2.186-16.317-5.36-23.933-9.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Footprint;

impl IconShape for Footprint {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.625 18.375c-11.817-.153-23.918 8.608-29.375 22.438-6.716 17.02-.85 35.28 13.094 40.78 13.943 5.502 30.69-3.822 37.406-20.843 6.716-17.02.85-35.28-13.094-40.78-2.614-1.033-5.304-1.56-8.03-1.595zm74.75 15.938c-10.97.006-22.743 6.024-30.78 16.874-12.25 16.534-11.2 38.06 2.342 48.094 13.544 10.035 34.44 4.754 46.688-11.78 12.25-16.534 11.2-38.06-2.344-48.094-4.654-3.45-10.16-5.097-15.905-5.093zm67.25 37.53c-10.336-.127-21.542 4.263-30.47 12.907-15.87 15.368-18.525 38.344-5.936 51.344 12.587 13 35.66 11.086 51.53-4.28 15.87-15.37 18.526-38.345 5.938-51.345-5.508-5.69-13.024-8.527-21.063-8.626zm-156.438 32.063c-22.51-.28-44.378 6.893-63.5 24C107.65 182.513 48.192 261.012 28.28 386.97 5.023 534.1 186.257 507.523 168.313 428.936c-22.922-100.387 34.13-141.11 108-124.156 32.838 7.54 66.54-4.9 86-40.436 23.402-42.733-7.428-106.817-62.875-139.625-21.61-12.79-44.74-20.534-67.25-20.814zM449.438 134c-10.52.022-21.654 2.82-32.093 8.625-27.837 15.48-40.15 46.51-27.47 69.313 12.682 22.802 45.54 28.73 73.376 13.25 27.837-15.48 40.118-46.51 27.438-69.313-7.926-14.252-23.717-21.91-41.25-21.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ForwardField;

impl IconShape for ForwardField {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.5 22.406c-129.203 0-233.938 104.734-233.938 233.938 0 45.56 13.034 88.074 35.563 124.03-11.252-26.148-17.5-54.945-17.5-85.218 0-119.205 96.64-215.844 215.844-215.844s215.843 96.637 215.843 215.844c0 30.397-6.318 59.298-17.657 85.53 22.654-36.024 35.78-78.644 35.78-124.342C489.44 127.138 384.704 22.406 255.5 22.406zm-.03 90.22l-67.72 198.093-27.094-7.533v-63.03H141.97v57.812l-56.095-15.595V479.03l72.656-76.78 37.657 29 13.875 60.563h90.844l13.875-60.594 37.626-28.97 72.656 76.78V282.376L368.97 297.97v-57.814h-18.69v63.03l-27.092 7.533-67.72-198.095zm0 124.436c16.905.022 33.81 32.695 33.81 97.938h-67.624c0-65.33 16.906-97.96 33.813-97.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fossil;

impl IconShape for Fossil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M337.268 21.412L97.643 43.66 17.125 159.672l30.592 194.662.25.088L60.9 439.168l166.438 56.05 119.598-10.36 127.832-60.915 5.377-84.605 7.605-85.133-10.02-31.236-35.45-10.642.548-96.982.276-.328-.872-2.717-104.964-90.888zM221.338 58.39c27.232.292 53.762 7.89 75.67 21.313 26.706 16.363 46.742 41.84 51.01 73.23 2.406 17.697-1.08 35.415-9.15 51.063 24.128 7.656 41.976 13.968 55.943 25.027 16.303 12.91 25.883 31.77 34.08 62.31l1.483 5.534-4.256 3.834c-35.05 31.564-81.466 52.728-131.297 58.57-51.316 6.02-103.156-5.577-144.302-30.446-41.147-24.87-71.802-63.446-78.82-110.922C60.755 143.87 116.99 68.67 203.38 59.264c4.17-.454 8.342-.732 12.503-.836 1.82-.046 3.64-.06 5.455-.04zm-.215 18.702c-1.592-.02-3.186-.01-4.78.027-3.648.086-7.298.325-10.94.722-20.212 2.2-38.422 8.412-54.114 17.515 4.263 22.597 19.14 36.716 41.003 46.123 9.088-7.047 20.425-11.79 33.28-12.925h.003c1.504-.133 3.006-.202 4.504-.225-.274-17.968 4.715-33.666 11.166-49.455-6.608-1.082-13.345-1.7-20.123-1.783zm38.535 6.13c-7.05 16.748-11.816 30.916-10.82 47.737 5.064 1.534 9.877 3.708 14.264 6.487 5.04 3.194 9.55 7.294 13.09 12.127l48.736-11.43c-6.917-17.315-20.272-31.837-37.684-42.505-8.4-5.148-17.72-9.33-27.586-12.417zM134.906 106.62c-33.29 26.87-50.667 68.3-44.72 108.548v.002c.183 1.24.39 2.472.61 3.7 28.092 10.36 52.05 12.284 85.534-3.616-3.505-6.465-5.89-13.582-6.828-21.24-1.658-13.547 1.935-27.047 9.443-38.258-20.607-10.497-37.12-26.62-44.04-49.137zm289.108 31.18l-.39 68.927-45.843-13.76 46.234-55.168zm-193.323 9.216c-1.16.003-2.32.054-3.473.156-.523.046-1.033.114-1.547.176l14.02 20.65c8.896-1.71 18.57.49 25.402 6.56.172-1.28.212-2.564.078-3.826-.75-7.038-5.032-13.038-12.072-17.5-5.28-3.346-12.004-5.54-18.932-6.084-1.155-.09-2.315-.135-3.475-.132zm-23.323 6.644c-13.68 8.462-21.077 23.678-19.314 38.082v.002c.393 3.216 1.172 6.306 2.27 9.27l28.066-11.325c.303-4.362 1.994-8.657 5.05-12.356l-16.073-23.674zm122.217 2.588l-46.068 10.805c.085.564.177 1.125.238 1.7.645 6.055-.246 12.067-2.377 17.55l34.928 18.935c10.45-14.344 15.387-31.86 13.28-48.99zm-59.127 45.393c-.254.215-.518.416-.777.624-1.303 2.125-3 4.114-5.096 5.88-2.283 1.923-4.854 3.426-7.588 4.518l-2.793 24.46c1.878-.047 3.758-.13 5.63-.317 17.064-1.695 31.717-8.165 43.165-17.522l-32.54-17.642zm-45.07 5.38l-24.764 9.992c3.253 3.334 7.042 6.348 11.293 8.994 6.95 4.326 15.077 7.51 23.678 9.353l2.45-21.467c-4.424-1.106-8.586-3.194-12.02-6.272-.218-.196-.427-.4-.637-.6zm102.855 13.234c-15.41 18.853-38.614 32.373-66.562 35.148-.73.073-1.46.116-2.192.172 8.186 18.072 10.37 32.67 6.744 46.588-3.447 13.235-11.147 24.704-21.238 38.715 15.69 1.695 31.723 1.702 47.65-.166 43.894-5.146 84.95-23.416 116.46-50.16-7.193-24.805-14.51-37.858-25.895-46.874-11.237-8.897-28.577-15.043-54.968-23.422zm-140.53 10.22c-33.997 16.75-62.925 17.738-90.94 9.962 11.302 29.815 33.998 54.615 63.412 72.392 19.095 11.54 40.97 20 64.074 24.785 12.61-17.636 21.18-29.762 23.888-40.162 2.844-10.915 1.06-22.145-9.806-42.554-13.078-1.858-25.54-6.326-36.3-13.023-5.22-3.25-10.053-7.073-14.327-11.398zm272.32 130.657l-3.22 50.667-97.4 46.414 14.133-62.933 86.488-34.146zm-392.083.352l143.605 50.743 6.398 60.113-140.297-47.246-9.707-63.61zm285.304 38.854l-14.936 66.51-101.224 8.77-6.54-61.454 122.7-13.826z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fountain;

impl IconShape for Fountain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M288.875 16.594c-23.342 22.17-40.225 48.12-50.5 77.906-9.354-18.433-21.854-35.043-37.438-49.844 9.606 23.365 16.495 48.275 19.688 73.78-21.13-23.87-50.358-37.07-87.344-40 20.613 12.106 38.503 27.737 51.5 46.658-41.81-13.675-85.358-15.232-130.874-5.344 28.394 2.768 55.846 8.35 81.28 17.438-37.564 4.487-74.492 15.51-110.56 34.093 39.224-6.523 78.482-7.64 115.655-3.593-49.523 25.295-90.26 62.703-122.124 112.25 28.508-23.452 59.035-43.244 90.656-58.03-24.99 43.303-38.51 91.956-41.062 145.218 11.335-30.223 25.73-59.34 42.47-85.188-7.78 41.418-6.463 84.636 3.124 128.782 5.07-52.127 18.546-101.855 40.5-144.564.826 32.724 6.57 65.49 17.937 98.625-.928-47.574 9.546-96.23 29.69-136.405 51.69-62.853 50.093 218.18-49.814 265.25H371.47c-100.415-47.31-102.88-309.304-65-265.438 20.203 40.213 30.742 88.945 29.81 136.594 11.368-33.135 17.08-65.9 17.908-98.624 21.953 42.71 35.43 92.437 40.5 144.563 9.587-44.147 10.903-87.365 3.125-128.783 16.74 25.847 31.134 54.965 42.468 85.188-2.552-53.262-16.07-101.915-41.06-145.22 31.62 14.788 62.147 34.58 90.655 58.032-31.864-49.547-72.6-86.955-122.125-112.25 37.173-4.046 76.43-2.93 115.656 3.594-36.07-18.58-72.996-29.605-110.562-34.093 25.435-9.088 52.887-14.67 81.28-17.437-45.515-9.888-89.062-8.33-130.874 5.344 12.998-18.92 30.888-34.552 51.5-46.656-26.998 2.137-49.872 9.727-68.47 22.968 19.373-25.332 42.246-47.79 67.064-66.937-40.257 9.683-75.303 28.49-104.97 56.686 3.657-25.754 10.774-50.903 20.5-74.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FountainPen;

impl IconShape for FountainPen {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18 20.813v124.062c29.144 25.523 57.37 49.464 84.375 71.563 5.023-1.894 14.962-7.8 25.688-16.188 11.8-9.23 25.18-21.31 37.875-34.03 12.693-12.724 24.73-26.115 33.906-37.876 8.405-10.775 14.297-20.736 16.094-25.563-21.434-26.277-44.613-53.706-69.313-81.968H18zm211.03 98.156c-3.632 6.475-8.583 13.33-14.468 20.874-9.812 12.578-22.258 26.385-35.406 39.562-13.147 13.178-26.967 25.687-39.594 35.563-7.574 5.923-14.48 10.928-21.03 14.593 8.046 6.48 16.013 12.785 23.812 18.906l-.47-1.75c3.795-1.018 13.79-6.738 24.595-15.19 10.804-8.45 23.076-19.55 34.718-31.218 11.64-11.668 22.69-23.948 31.093-34.718 8.055-10.325 13.58-19.86 14.876-23.813-5.867-7.486-11.93-15.095-18.125-22.81zm31 39.436c-3.33 5.84-7.777 11.954-13.03 18.688-9.04 11.587-20.498 24.314-32.594 36.437-12.095 12.125-24.805 23.622-36.437 32.72-7.382 5.773-14.058 10.626-20.44 14.063 7.35 5.662 14.597 11.165 21.69 16.468 4.76-2.366 12.16-6.993 20-13.124 10.512-8.222 22.447-19.016 33.78-30.375 11.333-11.357 22.075-23.3 30.25-33.78 6.05-7.755 10.62-15.072 12.97-19.75-5.22-6.982-10.627-14.106-16.19-21.344zm26.658 40.813c-2.536 3.743-5.462 7.644-8.688 11.78-8.812 11.296-19.964 23.687-31.75 35.5-11.786 11.813-24.192 23.006-35.53 31.875-4.06 3.174-7.9 6.046-11.595 8.563l94.28 141.28c43.757-7.75 105.398 16.894 158.595 66.063l14.438-14.436L347.094 360.5c-11.034 5.484-24.775 3.663-33.97-5.53-11.517-11.52-11.517-30.202 0-41.72 11.52-11.518 30.202-11.518 41.72 0 9.218 9.218 11.038 23.014 5.5 34.063l119.312 119.312 14.47-14.47c-49.17-53.196-73.847-114.806-66.095-158.56L286.69 199.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FoxHead;

impl IconShape for FoxHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.22 16.563c3.515 67.68 1 131.198-4.126 193.78l-23.625-12.312 14.374 41.595L66.5 215.47l53.03 54.093-41.28 2.78c30.542 19.568 68.55 32.376 90.72 59.532 27.797 39.67 43.262 79.654 44.75 155.625 22.76 10.636 51.078 10.06 71.593 0 4.882-78.093 15.104-113.097 43.03-154.78.038-.056.09-.102.126-.158 22.083-27.63 60.45-40.486 91.25-60.218l-41.25-2.78 53-54.095-61.314 24.155 14.375-41.594-22.25 11.626c-10.843-61.14-19.04-122.3-16.436-183.437-28.406 44.014-51.705 99.365-63.78 150.5l-18.19-4.282c3.06-12.948 6.76-26.1 11.063-39.25-17.632-2.987-35.196-3.496-52.812-1.125 4.92 12.803 9.39 26.1 13.28 40l-18 5.03C200.25 115.816 171.18 66.398 141.22 16.564zm46.75 244.375c9.412-.07 19.09 5.25 28.718 15.25 18.017 18.714 14.723 47.67-.907 70.53 2.77-40.466-15.15-63.874-51.905-72.5 7.7-8.95 15.788-13.218 24.094-13.28zm126.593 0c7.47.056 14.662 3.535 21.375 10.75l-.688 3.25c-35.184 9.16-53.046 32.384-51.938 71.78-14.707-22.86-16.835-51.816 1.938-70.53 10.03-10 19.902-15.32 29.313-15.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FragmentedMeteor;

impl IconShape for FragmentedMeteor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.89 14.13L219.02 248.454l-168.37-153.8 166.03 190.222-52.178 3.793 70.33 46.832-50.58 13.225 44.18 5.152-59.264 43.962 95.676-4.9-19.037 66.435 64.646-52.75 18.363 83.873 18.744-56.713 9.96 35.684 5.628-50.855 53.253 49.696-12.945-80.61 65.406 8.312-39.702-45.69 65.54-41.302-77.66-3.057 36.023-36.22-54.777 23.732 10.576-69.498-54.497 42.585-27.457-71.253-11.863 44.592L111.715 45.004 212.557 183.22 21.893 14.13h-.002zm305.016 181.18v-.005h-.002l.002.004zm34.596 101.266l36.87 45.13-36.026 13.85 1.306-23.154-52.257-16.94 50.107-18.886zm-41.326 35.05l-2.127 49.288-41.003-12.37 8.736-27.437 34.393-9.48zm17.543 37.212l42.135 14.045-40.798 20.734-1.338-34.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FragmentedSword;

impl IconShape for FragmentedSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.348 19.37c-.616.02-1.23.066-1.852.16h-.002c-17.38 2.646-29.2 14.79-29.2 36.208 35.305 18.283 66.755 42.684 85.85 85.266L64.85 199.406l25.697 25.114c7.188-14.017 15.388-27.635 25.113-40.883l68.33-67.746c14.346-10.816 28.963-20.67 44.385-28.615L203.26 62.162l-61.906 42.633C103.76 87.532 75.44 61.048 56.088 19.53c-2.035 0-3.892-.21-5.74-.16zm164.18 97.23c-5.02 3.18-10.268 6.81-15.632 10.8l60.284 60.252-40.946 6.702-43.068-42.05-46.137 43.094.275.295c-3.707 4.943-7.09 9.848-10.035 14.645l255.986 255.85 116.955 20.496L469.7 371.64 214.526 116.6zm-39.647 61.543l37.054 36.177 21.148-3.46 6.56 39.745-46.695 6.95-49.8-49.774 31.734-29.637zm100.58 25.783l88.198 88.152-15.986 36.54-33.373-33.175-61.554 21.877L209.402 274l51.768-7.705-9.645-58.453 23.936-3.916zm102.39 102.338l74.603 74.564 16.193 82.752-35.314-6.19-7.635-51.206-63.808-63.432 15.96-36.488zm-68.38 10.73l98.657 98.074 5.803 38.922-29.635-5.193-116.91-116.846 42.084-14.956z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fragrance;

impl IconShape for Fragrance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.9 19.77c-20.6 8.84-38 18.37-51.8 28.22-.2-6.01-5.1-10.85-11.1-10.85-6.2 0-11.2 4.99-11.2 11.14 0 5.17 3.6 9.51 8.3 10.77-36 32.14-35.4 66.15 7.1 89.05-1 2.1-1.6 4.5-1.6 7 0 8.7 7.1 15.7 15.8 15.7 7 0 12.9-4.5 14.9-10.7 26.3 7.8 50.8 10.2 72.9 13.3 61.8 10.3 76.9 45.6 66.1 85.1 27.1-22.6 28.9-44.3 18.4-62.9 34.6 19.9 33.7 50.7-36.6 87.5 10.1.3 19.8.4 29.1.1 67-11.7 77.5-46.3 58.8-62.3 47.9 6.4 41.2 36.2 8.2 53.6 35.2-9.8 53.2-27.6 48-51.4 3.1-2 5.1-5.4 5.1-9.3 0-6.1-5-11.1-11.2-11.1-1.3 0-2.5.2-3.6.6-11.7-20.6-33.1-33.4-53.1-39.7-23-7.4-53.4-12.9-92.8-32-53.4-23.9-58.6-43.21-33.8-58.21 1 5.1 5.5 8.9 10.9 8.9 6.2 0 11.2-5 11.2-11.1 0-2.6-.9-4.9-2.3-6.82 41.7-14.93 117.3-24.23 199.8-28.06V19.77zM125.2 48.9c-5.8 0-10.6 4.49-11 10.2-.7-.1-1.4-.16-2.1-.16-7.8 0-14.15 6.35-14.15 14.15 0 7.8 6.35 14.2 14.15 14.2 7.7 0 14.1-6.4 14.1-14.2 0-.7-.1-1.3-.2-2 5.8-.4 10.3-5.2 10.3-11.05 0-6.16-5-11.14-11.1-11.14zm356.7 1.97c-79.6-.35-175.4 17.32-168.1 54.43-4.8 1.3-8.3 5.6-8.3 10.8 0 6.1 5 11.1 11.1 11.1 4.7 0 8.7-2.8 10.3-6.9 31.3 13.7 56.1 18.4 78.2 25.5.5.1 1.1.3 1.6.5-3.9-16.5 4.3-33.4 25-44.6 1.4 4.6 5.7 7.9 10.7 7.9 6.2 0 11.1-5 11.1-11.21 0-1.7-.3-3.3-1-4.7 11.2-3 24.5-4.8 39.9-4.9V51.02c-3.5-.1-7-.14-10.5-.15zM229 54.58c-29.4 24.11-33.8 78.42 46.3 91.22-50.3 11-83.5-8.5-93.1-32.5.8.2 1.7.3 2.5.3 6.2 0 11.2-5 11.2-11.1 0-6.21-5-11.21-11.2-11.21-1.7 0-3.3.4-4.8 1.1 3.1-17.1 18.7-32.67 49.1-37.81zm239.6 55.32c-6.2 0-11.2 5-11.2 11.1 0 4.4 2.5 8.2 6.2 10-1 2-1.6 4.2-1.6 6.6 0 8.1 6.6 14.7 14.7 14.7 8.2 0 14.7-6.6 14.7-14.7 0-7.2-5.1-13.2-11.9-14.5.2-.6.2-1.3.2-2.1 0-6.1-5-11.1-11.1-11.1zm-350.2 9.3c-6.1 0-11.1 5-11.1 11.1 0 6.2 5 11.2 11.1 11.2s11-5 11-11.2c0-6.1-4.9-11.1-11-11.1zm317.2 6.5c-6.1 0-11.1 4.9-11.1 11.1 0 6.1 5 11.1 11.1 11.1 6.2 0 11.2-5 11.2-11.1 0-6.2-5-11.1-11.2-11.1zm-193.4 60.1c-6.2 0-11.1 5-11.1 11.1 0 6.2 4.9 11.2 11.1 11.2 6.1 0 11.1-5 11.1-11.2 0-6.1-5-11.1-11.1-11.1zm-95.8 46.1c-9.5-3.1-23.9-9-32.2-2.8-3.8 3.1-6.2 9.4-4.3 20.1 2.2 12.2 10.3 28.4 25 44.6 17.6-23.5 52.3-33.2 81-21.4.4-32-6.5-51.2-16.5-56.9-20.5-11.6-39.9 2.4-53 16.4zm116.7 8.2c-12.9 6.8-26.6 18.6-38.5 36.6 14 8.2 24.9 21.1 30.5 36.6 29.3-20.3 45.4-38.3 51.8-51.4 4.5-9.2 5.6-21.2-3.2-26.2-12.7-6.2-30.1-.9-40.6 4.4zm200.8 36.2c-6.2 0-11.2 5-11.2 11.2 0 6.1 5 11.1 11.2 11.1 6.1 0 11.1-5 11.1-11.1 0-6.2-5-11.2-11.1-11.2zm-401.95 7.1c-9.59.4-29.21 2.2-28.7 14.2.5 7.8 11.4 23.6 34.7 35.8 13.9 7.3 31.9 13.4 53.35 17-2.5-13.2-.9-28 3.6-39.4-6.5-6.8-12.2-13.7-16.9-20.6-19.05-5.1-34.35-7.2-46.05-7zM174.8 288l4.2 34.9-25.7-21.9c-8.9 9-14.5 21.4-14.6 35.1l34.4 4.1-28.4 20.7c6.8 12.8 19 22.3 33.5 25.6l10.8-35.9 15.5 34.9c14.6-4.4 26.3-15.2 32.1-29.1l-27.1-13.9 30.9-9.3c-.8-11-5-21-11.6-29l-27 17.4 7.5-31.8c-11.7-4.3-23.4-5-34.5-1.8zm118.5 19.5c-9.3 8.3-20.6 16.9-34.2 25.7.4 15.1-5.5 33.2-12.8 43.8 31.4 12.2 57.3 19.2 77.3 21.9 12.3.4 49.2 5.7 54.1-10.1 5-16-28.3-34.8-37.3-39.9 20-16.4 18-32.8-.8-41.2-15.4-6.9-31.8-4.8-46.3-.2zM82.15 359.8c-22.97 6.3-67.26 19.3-62.1 44.2 4.35 21 43.69 14.8 62.9 13.4-4.97 12.8-13.25 34.5-4.5 45.1 4.6 5.3 13.3 8.1 24.55 6 20.9-3.9 48.2-25 55.9-69.2-12.8-6.3-23.3-16.4-30.2-28.9-17.3-2.1-32.85-5.8-46.55-10.6zm150.15 31.9c-5.4 4.2-11.5 7.7-18 10.1 19.8 36.8 38.2 60.3 53.1 72.9 7.5 5.8 24.7 18.7 32.7 9.2 4.8-5.5 7.3-23.4-2.1-47.4-3.3-8.4-8-17.5-14.2-27-15.4-4.3-32.6-10.2-51.5-17.8zm-55.5 13.5c-4.5 23.3-14.1 41.6-26 55.1 4.4 16.9 19.5 33 35.1 31.4 18.6-1.9 30.3-25.1 33.3-45-7.8-11.6-15.8-25-23.9-40.5-6.2.4-12.9 0-18.5-1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrankensteinCreature;

impl IconShape for FrankensteinCreature {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.03 18.906c-27.872 0-53.334 14.366-72.31 38.625-4.504 5.757-8.61 12.07-12.265 18.847l22.856 1.55 16.27-32.16 7.795 33.794 28.01 1.9 13.527-30.103 8.844 31.62 26.535 1.8 9.505-33.548 15.7 35.256 23.827 1.618c-4.853-11.426-10.913-21.81-17.924-30.836-14.966-19.272-33.975-32.294-55.015-36.883-5.016-.975-10.14-1.48-15.352-1.48zM162.19 94.56c-6.697 17.794-10.502 37.84-10.502 59.065 0 39.172 13.372 74.36 33.656 98.813l10.125 12.218-.677.127c16.8 15.398 36.98 24.15 58.617 24.15 27.744 0 53.088-14.385 71.988-38.722 18.9-24.336 30.913-58.52 30.913-96.472 0-16.34-2.232-31.98-6.277-46.437l-30.926-2.097-9.142 32.268-15.1-33.91-26.326-1.787-16.09 35.803-10.518-37.607-25.883-1.757-16.892 33.387-8.092-35.082-28.875-1.96zm-68.565 92.627v71.032h18.688v-25.345h38.542c-2.913-5.98-5.51-12.22-7.76-18.688h-30.782v-27H93.624zm295.406 0v27h-21.497c-2.15 6.463-4.645 12.702-7.467 18.688h28.965v25.344h18.69v-71.033h-18.69zm-52.723 79.225c-21.44 25.248-50.626 41.21-82.897 41.21-31.14 0-59.41-14.863-80.617-38.59-14.19 3.05-26.44 6.908-37.08 11.61l23.767 27.612 33.268-4.828-19.107 21.28 19.995 23.23 32.318-11.088-17.305 28.53 20.16 23.42 34.008-15.92-16.81 35.903 20.678 24.027 36.53-17.104-18.056 38.567 30.028 34.886h38.158v-68.312h18.687v68.312h78.94c-.015-65.304-.462-117.143-14.158-153.094-14.12-37.066-40.573-59.58-100.505-69.65zm-217.48 23.244c-18.722 12.042-31.002 28.007-39.67 48.406-15.068 35.456-17.94 86.204-18.188 151.094h79.093v-68.312h18.687v68.312h131.79l-21.476-24.95-26.986 12.636 13.34-28.49-24.232-28.153-29.508 13.814 14.586-31.153-20.97-24.362-36.68 12.584 19.642-32.38-17.918-20.817-43.81 6.357 25.16-28.023-22.862-26.564z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrayedArrow;

impl IconShape for FrayedArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.795 22.313v146.882c55.798 46.488 119.15 83.37 184.63 117.045-68.898-9.21-127.42-27.277-176.08-56.648 25.434 36.314 76.9 75.687 123.05 93.105 5.342-.26 10.686-.385 16.035-.36 59.215.29 118.975 18.028 182.593 51.007-73.04-10.31-146.083-16.405-219.125-9.024l-31.84 8.106c137.858 15.975 273.397 44.77 399.2 127.383L330.693 117.4c4.486 88.07 27.066 170.91 59.79 252.354C310.604 277.09 276.607 167.96 273.126 63.37c-9.615 54.178-6.77 117.06 5.514 180.732-42.698-79.1-60.54-156.684-54.908-221.79H118.29c20.587 101.514 94.966 212.595 191.64 303.282C177.518 247.214 109.7 132.916 64.518 22.313H20.795z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FreedomDove;

impl IconShape for FreedomDove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M44.094 71.03C39.67 125.24 76.33 159.79 184.97 214.188 128.61 204.07 74.66 182.808 23.124 150.47v.03c7.09 53.776 49.718 75.458 166.063 93.28-56.77 8.355-113.546 5.1-170.313-9.718 17.55 48.114 61.012 56.474 169.22 38.813-50.19 23.392-102.518 36.867-157 40.47 27.647 41.79 72.765 34.776 178.53-20.158 2.372 3.08 5.015 5.913 7.938 8.47L163 365.436l11.188 40.844 38.625-11.155 17.718-84.813c5.557 2.716 11.617 4.56 17.97 5.407l-17.625 84.217 26.656 31.094 28.408-32.155-19.063-83.594c6.32-1.156 12.297-3.33 17.75-6.342l19.97 87.593 36.78 11.5 10.156-43.186-55.436-64.156c2.592-2.383 4.96-4.976 7.094-7.782 106.15 55.19 151.367 62.3 179.062 20.438-54.483-3.602-106.81-17.077-157-40.47 108.207 17.662 151.67 9.302 169.22-38.812-56.758 14.816-113.524 18.067-170.283 9.72 116.344-17.824 158.94-39.506 166.032-93.282v-.03c-51.547 32.342-105.476 53.6-161.845 63.718 108.64-54.397 145.297-88.95 140.875-143.157-52.904 58.692-112.837 102.316-179.844 130.845 4.598-6.468 7.28-14.398 7.28-22.938.002-21.868-17.724-39.593-39.592-39.593-21.87 0-39.594 17.725-39.594 39.594 0 8.757 2.842 16.88 7.656 23.437-67.49-28.517-127.842-72.302-181.062-131.344zM236.22 222.5l20.905 45.563 20.563-44.782c11.325 7.093 18.812 19.662 18.812 34.095 0 22.32-17.9 40.188-40.22 40.188-22.318 0-40.217-17.87-40.217-40.188 0-14.993 8.088-27.957 20.156-34.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Frog;

impl IconShape for Frog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M335.7 88.94c-4.742.194-9.563 1.486-14.204 4.165-38.934 22.48-89.77 21.953-127.79.002-6.09-3.516-12.285-4.61-18.145-3.892 5.914 7.778 9.438 17.572 9.438 28.09 0 23.15-17.037 42.83-39.176 45.095-12.775 14.92-21.553 31.807-24.386 49.983 44.73-23.79 90.947-35.572 137.064-35.508 46.15.064 92.197 11.987 136.56 35.62-2.69-18.15-11.216-35.043-23.794-49.92-.585.026-1.17.048-1.76.048-24.18 0-43.447-20.7-43.447-45.318 0-10.64 3.6-20.543 9.64-28.364zm-194.15 3.216c-12.67 0-23.277 10.85-23.277 25.15 0 14.297 10.608 25.147 23.278 25.147 12.67 0 23.276-10.85 23.276-25.148s-10.606-25.15-23.275-25.15zm227.956 0c-12.67 0-23.277 10.85-23.277 25.15 0 14.297 10.607 25.147 23.276 25.147 12.67 0 23.277-10.85 23.277-25.148s-10.608-25.15-23.277-25.15zm67.572 93.367c-8.525.088-17.893 1.546-27.853 4.243 6.926 19.457 8.57 40.725 2.695 62.656-4.26 15.896.933 37.475 11.7 54.758l4.69 7.53-7.02 5.43c-19.765 15.28-36.44 25.107-46.104 35.264-9.664 10.158-13.887 19.59-10.915 40.875l1.525 10.91c3.596 4.7 7.678 9.43 12.142 14.06 19.876-14.55 36.01-23.887 68.344-4.094-6.738-18.804 15.938-29.762 46.72-29.78-36.91-15.88-64.98-25.62-86.438-30.376 67.492-72.188 97.182-127.96 66-159.188-8.172-8.183-19.356-12.034-33.28-12.28-.73-.014-1.463-.016-2.204-.01zm-361.617.002c-.806-.01-1.606-.008-2.397.006-13.925.248-25.14 4.1-33.313 12.282-31.182 31.227-1.492 87 66 159.188-21.456 4.756-49.528 14.497-86.438 30.375 30.782.02 53.458 10.977 46.72 29.78 32.332-19.792 48.468-10.454 68.343 4.095 6.713-6.962 12.572-14.146 17.188-21.12l.537-3.85c2.972-21.283-1.25-30.716-10.914-40.874-9.664-10.157-26.34-19.984-46.106-35.265l-7.02-5.427 4.692-7.53c10.73-17.228 15.858-39.233 11.7-54.76-5.782-21.572-4.185-42.44 2.536-61.56-11.336-3.388-21.954-5.216-31.527-5.338zm183.038 9.66c-46.096-.065-92.3 12.827-137.574 38.846.47 4.387 1.292 8.825 2.494 13.31v.002c5.453 20.354.593 42.93-9.484 62.297 15.89 11.634 30.343 20.526 41.478 32.23 10.36 10.89 16.795 25.132 16.955 43.712-1.096 16.308-9.157 39.273-22.347 59.244 24.59-14.237 42.134-15.333 45.29 3.492 14.097-17.783 25.698-20.386 38.985-8.035-3.745-31.452-11.117-52.887-17.258-65.097-14.896-36.567-42.816-61.484-73.742-83.424l11.36-16.014c38.788 27.517 76.798 62.663 89.124 119.566 9.628.705 19.25.65 28.85-.16 12.362-56.81 50.334-91.918 89.085-119.408l11.36 16.016c-31.19 22.127-59.333 47.28-74.13 84.363-6.045 12.357-13.14 33.493-16.793 64.158 13.29-12.35 24.89-9.748 38.987 8.035 3.153-18.825 20.697-17.73 45.288-3.492-13.51-20.455-21.645-44.058-22.42-60.424.415-18.01 6.81-31.872 16.95-42.533 11.135-11.705 25.586-20.595 41.474-32.23-10.064-19.29-14.99-41.736-9.48-62.302 1.198-4.467 2.028-8.89 2.51-13.266-44.85-25.79-90.852-38.82-136.964-38.886z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrontTeeth;

impl IconShape for FrontTeeth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M67.63 19.02c-.1 11.81-.7 21.84-1.6 30.91 4.1-1.68 8.01-2.71 12.1-2.81 9.8-.22 19.8 4.52 26.27 13.47 4.8 6.48 8.1 14.87 9.7 25.19 9.9-8.26 19.4-13.97 30.9-14.5 11.3-.49 22.9 3.8 31.2 13.15 4.4 4.92 7.8 11.04 10.2 18.27 17.2-19.71 44.9-23.3 64.2-4.61 2 2.01 3.8 4.21 5.5 6.71 2.4-5.17 5.5-9.62 9.2-13.28 8.6-8.7 20.1-12.62 31.2-12.15 12.3.89 25.8 8.65 32.6 16.37 2.4-6.26 5.5-11.61 9.4-16 8.3-9.35 19.9-13.67 31.2-13.18 11.3.84 23.7 7.48 30.5 14.12 1.7-10.23 5.2-18.54 10.3-24.94 6.7-8.37 16.1-12.87 25.6-13.22 3.4-.13 6.7.4 9.7 1.13-.7-7.63-1.2-15.74-1.4-24.64-125.6.1-251.2-.11-376.77 0zM425.1 67.37c-4.3 5.49-8.1 15.93-7.4 32.83 1.3 32.3 8.8 51.1 21.1 67.2 11.8-14.3 16.3-32 20.9-63.5.8-15.31-4.7-39.42-20.3-42.56-5.6-1.06-11.5 2.62-14.3 6.03zM77.13 65.93c-8.9 1.53-21.18 15.01-18 42.47 2.59 22.3 3.91 46.3 16.3 63.3 12.2-16 19.7-34.7 21-66.9.7-16.98-2.9-27.63-7-33.09-3.62-4.55-7.24-6.42-12.3-5.78zM352.5 92.15c-5.4 6.04-9.8 17.25-9.1 35.65 1.2 34.7 13.5 58.9 27.5 77.8 13.6-16.6 22.8-38.3 27.3-72.1 3.9-29.5-12.5-45.66-26.8-48.03-7-1.34-15 2.37-18.9 6.68zm-209.2-1.94c-14.4 2.38-30.8 18.49-26.9 47.99 4.5 33.8 13.7 55.5 27.4 72.1 14-18.9 26.3-43.1 27.6-77.9.6-18.3-3.8-29.5-9.2-35.53-5.8-5.55-11.7-7.85-18.9-6.66zm135.2 14.49c-5.7 5.7-10.4 15.9-10.4 32.8-.1 32.2 11.1 54.5 24.2 72 14.5-15.6 24.5-35.8 30.4-67.5 5.1-27.1-10-41.5-24.4-43.72-7.2-1.29-15.5 2.22-19.8 6.42zm-60.9.1c-14.5 2.3-29.5 16.6-24.5 43.7 5.9 31.7 15.9 52 30.4 67.6 13.2-17.5 24.4-39.8 24.3-72-.1-16.9-4.8-27.2-10.5-32.8-6.2-5.5-12.4-7.3-19.7-6.5zm194.8 54.9c-7 29.4-18.9 50.6-35.4 67.1l-.1.1c1 13.1 2.3 26.2 4.1 39.2 12.5 12 23.8 27.1 30.4 40.2 4-30 13.8-51.6 27.2-69.7-2.1-15.4-3.8-30.7-4.8-46.1-8.4-9.9-16.6-20.9-21.4-30.8zm-310.3 3.8c-8.1 12.8-14.39 27.7-26.37 35.2-.9 10.4-2 20.8-3.3 31.1 14.2 18.7 24.4 41.2 28.37 72.7 8.4-15 17-24.8 28.2-36.2 1.9-13.1 3.3-26.3 4.3-39.5-14.5-16-24.9-36.2-31.2-63.3zm-43.57 78.9c-14.94 17.4-21.94 38.8-27.25 76.2l-.1.7c-4.58 32.5 11.96 49.6 25.25 51.8 6.7 1 12.8-.8 18.3-7.7 5.4-6.8 9.9-19.5 9.1-39.7-1.5-39.1-10.6-61.9-25.3-81.3zm394.97 5.4c-14.7 19.4-23.8 42.1-25.3 81.3-.8 20.1 3.7 32.8 9.1 39.7 5.5 6.8 11.6 8.7 18.2 7.6 13.4-2.1 29.9-19.2 25.3-51.8-5.3-37.8-12.3-59.4-27.3-76.8zM129 293.6c-15.8 19.3-25.6 45.2-32.37 85-4.2 24.8 14.07 43.4 31.97 47.3 9 2 16.9.5 22.9-5.1 5.9-5.6 10.9-16.4 10.1-35.8-1.6-41.1-16.2-69.4-32.6-91.4zm252.3 0c-16.4 22-30.9 50.4-32.5 91.4-.8 19.7 4.1 30.6 10.1 36.1 5.9 5.6 13.7 7 22.7 5 17.8-4.2 36.2-23.1 32-47.5-6.8-39.8-16.6-65.7-32.3-85zm-88.7 40.1c-15.4 19.9-28.8 45.3-28.7 82.2.1 16 5.1 24.6 11.4 29.6 6.4 4.9 15.2 6.5 24.2 4.9 9.1-1.7 18-6.7 23.6-13.5 5.6-6.9 8.2-15 5.6-25.6-9-36.3-19.5-59.9-36.1-77.6zm-77.4 2.4c-16.9 17.7-27.9 41.1-36 77.4-2.8 12.3.1 20.9 5.5 27.4s14 10.8 23 11.9c9.1 1 18.2-1.1 24.7-6.4 6.6-5.3 11.4-13.7 11.5-28.1.1-36.9-13.3-62.3-28.7-82.2zm-179.52 46c13.33 33.4 22.85 73.8 24.35 110.9H435.2c1.4-32.6 10.4-66.3 25.6-98.6-9.2 2-21.4-.8-28-4.9-1.8 28-23.3 50.7-47 54.8-15.8 2.7-30.8-1.5-40.2-10-1.9 5.3-4.6 10.1-8 14.3-8.8 10.8-21.4 17.7-34.7 20.2-13.3 2.4-27.8.2-39.1-8.6-3.7-2.9-6.9-6.5-9.6-10.6-2.8 4.4-6.2 8.2-10.1 11.3-11.1 8.9-25.2 12-38.6 10.4-13.4-1.6-26.3-7.7-35.2-18.5-3.8-4.6-6.8-10.1-8.6-16.2-10.7 8.5-24.5 10.4-37.2 7.6-24.67-5.5-47.47-28.7-47.17-59-16.11 5-30.48 4.4-41.65-3.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrontalLobe;

impl IconShape for FrontalLobe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M214.156 20.813c-.608.008-1.242.03-1.875.062l-.218.03h-.25c-11.497 0-21.325 3.677-25.78 8.876-4.235 4.94-6.13 11.863.093 25.532 6.06 9.42 10.98 22.273 15.25 38.876l-18.094 4.656c-7.37-28.672-16.613-40.406-23.218-43.313-3.302-1.452-6.556-1.55-11.25-.124-4.693 1.427-10.484 4.595-16.75 9.22-9.72 7.174-15.934 16.55-15.562 24.686.29 6.318 4.227 14.314 17.313 22.97 1.1.612 2.186 1.203 3.312 1.843l-.094.188c3.064 1.842 6.5 3.71 10.47 5.593l-8.03 16.906c-5.413-2.568-10.266-5.282-14.595-8.093-16.192-8.893-28.146-12.87-34.78-12.314-3.52.295-5.73 1.276-8.376 3.906-2.647 2.63-5.526 7.308-8.126 14.563-4.317 12.045-5.144 22.04-1.656 27.72 2.788 4.54 9.68 9.21 25.656 10.78 3.855.08 7.95.24 12.437.438v.125c.458 0 .878.004 1.345 0l.188 18.687c-4.722.045-9.132-.107-13.282-.438-12.98-.08-20.925.962-24.405 2.72-2.186 1.103-3.117 2.034-4.313 4.468-1.195 2.434-2.3 6.568-3.03 12.53-.682 5.566-.214 9.71 1 12.657 1.212 2.947 3.035 5.14 7.218 7.375 8.365 4.47 26.81 7.183 57.594 4.563l1.594 18.625c-23.947 2.038-41.727 1.667-55.282-1.844-1.168 4.557-.977 8.102-.125 11.095 1.156 4.055 3.732 7.52 7.626 10.594 7.79 6.147 21.05 9.56 28.906 9.56H227.97c13.584 0 25.346-10.03 29.843-27.905l8.062-32.063 9.906 31.532c5.752 18.3 17.86 28.437 30 28.437H418.69c7.072 0 20.338-4.332 28.375-11.342 4.018-3.506 6.778-7.437 7.968-11.532.77-2.64 1.005-5.44.345-8.72-13.707 3.824-31.838 4.29-56.53 2.19l1.592-18.626c30.786 2.62 49.23-.094 57.594-4.563 4.184-2.234 6.007-4.428 7.22-7.375 1.213-2.946 1.682-7.09 1-12.656-.73-5.963-1.835-10.097-3.03-12.53-1.197-2.435-2.127-3.366-4.314-4.47-3.48-1.757-11.423-2.8-24.406-2.72-4.15.332-8.56.484-13.28.44l.186-18.69c.467.006.887 0 1.344 0v-.124c4.488-.198 8.583-.358 12.438-.437 15.975-1.57 22.867-6.24 25.656-10.78 3.487-5.68 2.66-15.675-1.656-27.72-2.6-7.255-5.48-11.932-8.125-14.563-2.647-2.63-4.857-3.61-8.375-3.906-6.636-.556-18.59 3.42-34.782 12.313-4.328 2.81-9.18 5.524-14.594 8.093l-8.03-16.907c3.97-1.884 7.405-3.75 10.468-5.594l-.094-.187c1.126-.64 2.213-1.23 3.313-1.844 13.085-8.654 17.022-16.65 17.31-22.968.373-8.137-5.84-17.512-15.56-24.687-6.266-4.624-12.058-7.792-16.75-9.22-4.695-1.426-7.95-1.327-11.25.126-2.31 1.018-4.932 3.136-7.69 6.657-.507 1.188-1.063 2.393-1.655 3.594l-.656-.31c-4.452 6.866-9.112 17.516-13.19 33.374l-18.124-4.656c4.843-18.84 10.51-32.857 17.75-42.5 4.325-11.303 2.404-17.425-1.437-21.907-4.457-5.198-14.317-8.874-25.814-8.874h-.22l-.248-.03c-10.128-.51-17.03 1.954-22.72 6.218-5.687 4.264-10.215 10.742-13.624 18.75-6.818 16.015-8.688 37.643-8.688 53.5v.062l-.187 37.03v.095h-18.69v-.093l-.217-37.03v-.062c0-15.858-1.87-37.486-8.688-53.5-3.41-8.01-7.906-14.487-13.594-18.75-5.33-4-11.746-6.415-20.874-6.282zm53.063 259.875c-9.075 13.634-23.052 22.53-39.25 22.53H115.062c-12.312 0-28.024-3.77-40.47-13.593-2.153-1.7-4.197-3.62-6.062-5.75 12.33 91.778 42.41 159.598 81.626 203.313l2.78 3.093h227.285l2.78-3.092c39.775-44.203 70.367-113.023 82.563-206.313-1.888 2.345-4 4.47-6.22 6.406-12.092 10.55-27.56 15.94-40.656 15.94H305.781c-15.713 0-29.264-8.94-38.56-22.533zM164.544 318.86c25.405.424 52.918 18.043 63.33 50.92-18.84 33.4-94.952 30.596-104.97-29.31 8.96-14.128 23.55-21.168 39.19-21.595.813-.022 1.63-.027 2.45-.014zm201.05.015c16.37-.13 31.822 6.878 41.155 21.594-10.017 59.906-86.16 62.71-105 29.31 10.48-33.09 38.302-50.703 63.844-50.905zM174.936 340.28c-8.748 0-15.656 6.907-15.656 15.658 0 8.75 6.91 15.625 15.657 15.625 8.75 0 15.625-6.875 15.625-15.625 0-8.748-6.877-15.657-15.625-15.657zm180.72 0c-8.75 0-15.657 6.907-15.657 15.658 0 8.75 6.908 15.625 15.656 15.625 8.75 0 15.625-6.875 15.625-15.625 0-8.748-6.876-15.657-15.624-15.657z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Frostfire;

impl IconShape for Frostfire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M131.5 23.906c-70.56 2.47-100.474 70.008-101.063 104.53-2.2 129.255 153.66 66.31 156.532 129.064 3.123 68.31-100.445 78.95-105.126-5.25-27.54 110.96 59.15 168.72 133.53 149.406l-.78-.47v-54.936h56.062c-.74-3.815-1.125-7.757-1.125-11.78 0-2.337.122-4.637.376-6.908h-55.312v-63.53l49.906-28.813 29.063 50.343c4.896-3.81 10.38-6.91 16.28-9.125l-29.156-50.563 52.688-30.406L387 226.437l-29.844 51.656c5.724 2.623 10.99 6.094 15.625 10.25l30.376-52.594 48.97 28.28v63.533h-59.032c.254 2.27.375 4.57.375 6.906 0 4.023-.386 7.965-1.126 11.78h59.78v54.938l-52.687 30.406-28.53-49.375c-4.782 3.953-10.182 7.2-16 9.592l28.374 49.125-49.905 28.813-49-28.28 27.78-48.158c-6.003-1.986-11.612-4.88-16.655-8.5l-27.313 47.313-27.75-16.03c-14.41 23.334-32.845 35.984-51.718 39.967 84.677 48.568 197.274 52.484 259.874-12.25 64.14-66.327 61.303-174.725 20.47-254.062-28.28 56.73-123.93 13.764-92.283-47.313 7.413-14.303 10.865-27.54 10.658-39.437l27.156-7.28-7.813 29.155 18.033 4.813 7.812-29.094 21.313 21.312 13.218-13.22-21.312-21.31 29.125-7.814-4.845-18.062L441 69.313l7.813-29.126-18.063-4.843-7.813 29.125-21.312-21.314-13.22 13.22 21.314 21.312-25.908 6.968c-11.268-28.337-48.504-45.664-105.156-46.75 84.123 12.04 52.984 118.1 8.188 133.156-39.562 13.3-59.797-6.677-52-36.78 10.018-38.682-12.282-60.445-37.47-63.876l-18.53-3.344 13.906-16.437-14.28-12.063-13.876 16.376-7.22-20.188-17.593 6.28L147 61.28l-21.125-3.81-3.344 18.374 21.126 3.844-13.906 16.406L144 108.188l13.875-16.407 7.22 20.22 17.624-6.28-7.25-20.282 18.468 3.343c29.282 50.18-56.84 94.55-94.563 39.657-26.562-38.65-23.513-83.452 32.125-104.53zM323 292.03c-8.926 1.76-16.83 6.225-22.844 12.533L323 317.75v-25.72zm18.688.345v25.375l21.75-12.563c-5.71-6.233-13.224-10.775-21.75-12.812zM290.5 320.563c-1.465 4.36-2.28 9.033-2.28 13.906 0 4.546.684 8.92 1.967 13.03l23.5-13.563-23.187-13.375zm82.28.812l-21.717 12.563 22 12.687c1.115-3.856 1.718-7.927 1.718-12.156 0-4.573-.702-8.967-2-13.095zM323 350.125l-23.5 13.563c6.09 6.676 14.247 11.395 23.5 13.218v-26.78zm18.688 0v26.438c8.843-2.113 16.594-6.937 22.375-13.532l-22.375-12.905zM73.563 394.78l-18.032 4.845 7.657 28.594-28.624-7.658-4.844 18.063 28.624 7.688-20.938 20.937 13.22 13.22 20.937-20.94 7.656 28.595 18.06-4.844-7.686-28.624 28.656 7.688 4.813-18.063-28.626-7.655 20.97-20.97-13.22-13.186-20.937 20.936-7.688-28.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrozenArrow;

impl IconShape for FrozenArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.37 29.06V52L193.3 154.3c19.7-14.4 39.3-28.8 58.9-43.1 66.2 81.7 123.6 152.7 182.7 225.5-97.5-15.7-199.6-31.9-286.9-45.5 2.8-24.7 5.6-49.4 8.5-74L16.38 136.1v63.5l24.5 141.1L66.94 190l22.18 106 17.38-83.4 25.5 14.7-9.9 84.7c8 40.9 15.5 83 23.1 124.3l10.7-58.5 19.9 117 28.5-167.4 21.5 117.4 20.4-111.1 17.7 36 16-32.7 18.8 3 22.1 132.9 20.8-126.1 12.8 2 24.5 63 14.8-38.1 18.1 98.4 17.6-96.3 16.8 23.5 22.9-32.3 25.6 4C413.2 270.3 327.5 165.2 257 78.41l-68.4 50.19zm0 44.53v40.91c53.31 31 106.83 61.6 160.03 92.6-2.6 22.8-5.2 45.7-7.8 68.5l221.1 35-44.9-55.4-9.6 31.3-20.4-66.1-13.3 46.5-19.3-72.2-16.2 79-28-110.2-15.5 51.9-13.9-46.5-12.4 67.6-12.1-66z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrozenBlock;

impl IconShape for FrozenBlock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.625 30.75L25.345 126.5l.968.406v104.188l5.78 2.375 6.938 2.843 15.407 186.812 14.438-174.563 17.813 7.313v233.53h18.687v-198.25l13.063 120.095 13.5-123.813 22.312 201.125 21.22-196.218.093.03 11.125 115.22 10.25-106.438 57.968 23.78 3.53 1.44.377-.157 14.656 156.155 15.81-168.594 37.564-15.405v191.438h18.687V312.75l2.314-22.97 41.687-17.06 4.126 50.53v166.563h18.688V263.375l1.25-.5 11.78 105.97 12.938-116.095 8.688-3.563 20.97 188.157 22.967-206.125.282-.126V126.78l.686-.28-233.28-95.75zM472.53 134.47v84.06l-27.56 11.282h-.126v.063l-4.156 1.688L450.5 143.5l22.03-9.03zM77.19 147.78l13.187 5.407 9.406 86.688h-2.874L70.47 229.03l6.718-81.25zm304.125 24.126l6.625 81.25L350 268.72l8.875-87.626 22.438-9.188zm-237.188 3.344l20.97 8.625 8.436 87.438-38.155-15.657 8.75-80.406zm174.063 22.563l8.187 80.562-35.125 14.375 8.188-87.25 18.75-7.688zm-111.594 3.093l42.062 17.25 8.22 87.375-58.063-23.842 7.78-80.782z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FrozenOrb;

impl IconShape for FrozenOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.063 15.47c-131.508 0-238.657 107.12-238.657 238.624S123.558 491.75 255.062 491.75c131.505 0 238.625-106.15 238.625-237.656 0-131.504-107.117-238.625-238.625-238.625zm0 18.343c121.407 0 219.28 98.877 219.28 220.28 0 121.408-97.877 219.313-219.28 219.313-121.404 0-219.313-97.91-219.313-219.312 0-121.404 97.905-220.28 219.313-220.28zm-.032 19.28c-110.986 0-200.75 89.763-200.75 200.75 0 110.988 89.764 200.75 200.75 200.75 110.99 0 200.75-89.762 200.75-200.75 0-110.987-89.76-200.75-200.75-200.75zm-.843 16.532l12.313 62.72 51-21.095-46.094 46.094 6.22 31.687-12.5 3.345L273 221.72l29.313-7.876-3.25-12.094 31.343-10.72 16.813-62.81 7.217 54.56 60.313-20.624-48.313 42.156 42.375 33-61.625-16.187-24.25 21.156-10.03-10.03-21.47 21.5 21.47 21.47 9.218-9.22 24.688 21.563L409.5 270.78l-43.563 33.47 48.22 42.063-60.97-20.844-7.406 53.186-16.81-61.5-30.22-10.312 3.563-13.313L273 285.657 265.125 315l12.5 3.344-6.22 31.625 46.095 46.06-51-21.06-12.313 62.75-12.375-63.033-49.593 20.125 44.686-45.093-6.125-31.19 13.157-3.53-7.875-29.344-29.343 7.875 3.624 13.533-29.28 10.03L164.28 378.5l-7.374-53.156L96 346.188l48.188-42.063-43.594-33.5 62.75 16.813 24.03-20.97 8.75 8.75 21.47-21.468-21.47-21.5-9.593 9.594-23.56-20.563-61.72 16.22 42.47-33.03-48.345-42.19 60.28 20.626 7.19-54.53 16.81 62.75 30.376 10.374-3.31 12.344 29.343 7.875 7.875-29.345-13.188-3.53 6.156-31.25-44.687-45.126 49.593 20.124 12.375-62.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Fruiting;

impl IconShape for Fruiting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M183.625 18.625c14.87 30 48.802 61.854 94.625 69.813-.92.074-1.844.157-2.78.25-120.804 11.912-47.283 183.807 16.467 124.906 72.576 57.343 121.264-114.676 8.75-125.156.896-1.462 1.836-2.847 2.844-4.157 9.85-12.794 25.548-19.246 42.876-19.093 34.656.308 73.688 26.587 73.688 82.094 0 25.625-6.817 44.11-18.375 58.845-11.56 14.736-28.308 25.84-48.876 34.688-41.137 17.695-96.796 25.78-149.438 38.562-6.806 1.653-13.36 3.46-19.687 5.406 1.525-5.413 1.8-11.35.374-17.842-3.726-16.97-17.056-28.657-35.78-28.72-6.243-.02-13.09 1.268-20.376 4.063 35.376 4.074 54.748 36.824 13.562 59.22-38.89 19.51-64.424 45.92-77.063 75.688-15.853 37.34-10.746 78.968 11.376 115.968H223.25c-39.562-34.53-49.422-78.006-30.063-119.625 34.61-56.74 113.376-65.356 120.907 4.283 4.367 40.096-32.934 42.928-56.063 18.125 8.312 30.084 34.22 37.283 55.376 27.843 19.453-8.68 22.78-32.91 20.47-51.342-5.843-46.6-35.67-68.998-69.407-68.25-2.554.056-5.13.272-7.72.593 18.125-12.167 39.6-23.373 64.406-33.217 13.658-3.896 26.794-8.317 39.063-13.594 22.377-9.628 42.07-22.244 56.217-40.283.05-.063.107-.123.157-.187l.125.063c32.98-36.512 60.553-9.002 55.25 26.78 18.34-25.255 9.634-46.69-10.94-57.343-9.6-4.973-18.7-5.787-27.124-3.72 3.16-10.856 4.875-22.835 4.875-36 0-64.522-47.85-100.387-92.186-100.78-22.168-.197-44.005 8.353-57.875 26.375-.322.417-.627.855-.94 1.28-16.542-41.594-64.536-55.71-104.155-55.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct FulguroPunch;

impl IconShape for FulguroPunch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62.47 19.156c13.14 31.823 32.193 62.18 56.874 88.063-11.85 10.762-22.447 22.84-31.594 36.03-21.292-29.564-45.02-57.614-66.78-80.813v118.438c12.978 5.168 26.796 9.27 41.31 12.125-5.44 15.432-9.145 31.695-10.843 48.53-10.186-4.116-20.337-7.584-30.468-10.31v71.218c10.492-2.71 21.038-5.896 31.56-9.657 2.62 18.31 7.565 35.868 14.595 52.345-16.343 2.983-32.122 6.41-46.156 9.844v92.155c26.926-13.143 49.837-34.07 70-60.22 9.276 12.652 19.935 24.22 31.75 34.5-26.53 22.142-47.847 47.28-63.19 73h92.595c7.958-12.727 14.725-26.335 20.5-40.655 14.284 6.6 29.427 11.637 45.22 14.906-2.747 8.596-4.954 17.188-6.657 25.75h71.875c-1.942-7.296-4.26-14.625-6.938-21.97 16.495-1.207 32.463-4.318 47.688-9.123 2.684 10.814 6.03 21.202 10.03 31.093h115.813c-23.84-19.925-47.823-38.786-71.875-57.125 12.516-8.426 24.06-18.15 34.47-29 25.58 24.163 52.782 43.8 84 64v-90.124c-17.742-8.918-33.945-15.385-50.22-20.344 9.954-18.584 17.19-38.836 21.19-60.218 9.756 2.242 19.454 3.836 29.03 4.78v-80.437c-9.193 1.4-18.433 3.515-27.688 6.25-2.908-19.878-8.58-38.86-16.656-56.53 15.598-2.51 30.427-6.222 44.344-11.376V72.845c-26.48 12.112-52.134 30.69-74.125 55.5-7.378-8.85-15.472-17.06-24.188-24.594 29.456-23.952 52.59-51.62 66.625-84.594H350.875C344.37 33.453 338.83 49.05 333.97 65.78c-13.245-4.94-27.122-8.56-41.47-10.75 5.04-11.997 8.417-23.91 10.156-35.874h-91.25c5.198 12.036 9.282 24.276 12.97 36.563-20.538 3.574-40.058 10.134-58.095 19.218.863-18.856 2.546-37.14 6-55.782H62.47zm221.436 53.532c15.717 1.902 30.857 5.723 45.156 11.187-5.604 22.29-10.235 46.36-14.437 71.97 24.754-12.34 47.75-25.702 68.25-40.532 9.987 8.286 19.13 17.59 27.25 27.718-8.474 11.214-16.246 23.475-23.094 36.782 15.655.24 30.835-.28 45.44-1.687 9.135 18.536 15.367 38.786 18.092 60.125-20.3 7.672-40.714 18.08-61.187 30.313 19.462 12.528 39.614 21.787 59.75 28.125-3.828 21.506-11.21 41.754-21.563 60.125-21.15-5.05-43.417-8.204-70.187-11.407 13.78 18.952 27.526 35.257 41.656 49.844-11.004 11.5-23.43 21.617-37 30.094-15.012-11.3-30.045-22.448-45.092-33.53-.895 18.467.216 36.25 3.03 53.155-16.226 5.274-33.403 8.442-51.218 9.186-6.473-14.724-14.24-29.49-23.063-44.25-8.664 13.46-15.733 27.18-21.375 41-15.862-3.034-31.045-8.007-45.25-14.687 6.427-19.07 11.392-39.227 15.25-60.19-20.634 9.633-39.58 21.047-56.687 33.69-13.398-11.228-25.254-24.26-35.156-38.72 7.19-10.558 14.04-21.775 20.593-33.53-12.062.98-24.544 2.525-36.97 4.436-7.907-17.455-13.265-36.334-15.624-56.125 11.61-4.926 23.126-10.618 34.468-17.217C93.12 261.5 81.323 255.126 69.56 249.53c1.28-18.735 5.23-36.73 11.5-53.593 13.34 1.555 27.166 2.064 41.407 1.375-6.995-12.546-14.884-25.17-23.314-37.656 9.352-14.623 20.64-27.89 33.5-39.437 10.033 9.138 20.835 17.568 32.438 25.124.2-17.244.225-33.383.53-48.938C185.06 85.3 206.64 77.54 229.595 73.812c4.884 17.445 9.602 34.82 16.094 51.688 16.128-18.296 28.83-35.744 38.218-52.813zM205.5 156.094L173.47 275.78l30.686 8.25 32.094-119.686-30.75-8.25zm48.78 13.094l-32.06 119.687 30.686 8.22L285 177.404l-30.72-8.218zm48.75 13.03l-32.06 119.688 30.686 8.22 32.094-119.688-30.72-8.22zm48.75 13.063l-32.06 119.69 30.717 8.25 32.094-119.69-30.75-8.25zM134.407 262l-11.03 41.188L240.5 334.563l5.375-20.032-28.5-7.624-9.03-2.437-9-2.408-39.75-10.656-9.032-2.406 2.406-9.03 3.25-12.126L134.405 262z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Galleon;

impl IconShape for Galleon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M222.03 20.53v58.25L165.938 99l6.344 17.563 49.75-17.938v96.156l-87.155 33.845 6.75 17.406 80.406-31.218v141.97h-61.655l-1.438-7.594-4.687-25.063H95.812v-142.47l60.157-21.686-6.345-17.595-53.813 19.406V78.345H77.126v90.187l-52 18.75 6.344 17.564 45.655-16.47v135.75H26.437c5.565 54.4 27.327 108.08 66.782 143.595H375.56c9.543-51.545 39.83-95.146 73.688-136.44h-.063L494.594 299l-10.813-15.25-66.874 47.53H367.25V219.314l62.188-22.438-6.313-17.563-55.875 20.157v-67.032h-18.688v73.78l-49.937 18 6.313 17.563 43.625-15.75v121.595l-4.907 5.844-2.812 3.31H240.72V207.564l87.155-33.844-6.78-17.407-80.376 31.218V91.907l56.06-20.22-6.342-17.592-49.72 17.937v-51.5h-18.687z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GamepadCross;

impl IconShape for GamepadCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176.938 24.03V75.44c-52.96 6.715-94.96 48.652-101.72 101.593H24.564v160.096h50.75c7.034 52.62 48.895 94.247 101.624 100.938V489.5H337v-51.374c53.01-6.453 95.158-48.183 102.22-101h50.811V177.03h-50.717C432.526 123.893 390.238 81.85 337 75.376V24.03H176.938zm18.687 18.69h122.688v139.75L257.25 243.5l-61.625-61.625V42.72zm61.656 17.436c-24.524 0-44.405 19.88-44.405 44.407 0 24.525 19.88 44.406 44.406 44.406 24.524 0 44.376-19.882 44.376-44.407 0-24.526-19.85-44.407-44.375-44.407zM43.25 195.72h139.78l61.032 61.03-61.718 61.688H43.25v-122.72zm288.25 0h139.844v122.718H332.188L270.5 256.75l61-61.03zm-226.406 16.624c-24.525 0-44.406 19.88-44.406 44.406 0 24.525 19.88 44.406 44.406 44.406 24.525 0 44.406-19.88 44.406-44.406 0-24.523-19.88-44.406-44.406-44.406zm304.344 0c-24.526 0-44.407 19.88-44.407 44.406 0 24.525 19.882 44.406 44.408 44.406 24.525 0 44.406-19.88 44.406-44.406 0-24.523-19.88-44.406-44.406-44.406zM257.25 269.938L318.313 331v139.813H195.625v-139.22l61.625-61.656zm.03 94.562c-24.524 0-44.405 19.88-44.405 44.406 0 24.525 19.88 44.406 44.406 44.406 24.524 0 44.376-19.88 44.376-44.406 0-24.525-19.85-44.406-44.375-44.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GasMask;

impl IconShape for GasMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M364.563 27.5c-24.54 10.796-66.057 18.094-113.875 18.094-47.3 0-89.258-6.898-113.907-17.5C107.477 64.73 97.12 118.44 107 177c10.73 63.596 50.354 119.6 85.688 155.78 17.285-4.952 36.943-7.717 57.843-7.717 20.725 0 40.228 2.72 57.407 7.593 35.5-36.38 75.654-92.59 86.407-155.656 10.04-58.882-.233-112.842-29.78-149.5zm-187.625 80.03c10.768.263 21.255 4.955 29.937 12.282 11.577 9.77 20.607 24.33 25.25 41.657 4.643 17.326 4.078 34.437-1.063 48.686-5.14 14.25-15.398 26.053-29.78 29.906-14.384 3.854-29.174-1.23-40.75-11-11.577-9.77-20.608-24.328-25.25-41.656-4.644-17.327-4.08-34.47 1.062-48.72 5.14-14.248 15.398-26.02 29.78-29.874 3.597-.963 7.224-1.368 10.814-1.28zm146.75 0c3.59-.086 7.216.32 10.812 1.282 14.383 3.854 24.64 15.626 29.78 29.876 5.142 14.25 5.707 31.39 1.064 48.718-4.643 17.328-13.674 31.887-25.25 41.656-11.577 9.77-26.367 14.854-40.75 11-14.383-3.853-24.64-15.657-29.78-29.906-5.142-14.25-5.707-31.36-1.064-48.687 4.643-17.33 13.673-31.888 25.25-41.657 8.682-7.328 19.17-12.02 29.938-12.282zm-148.47 18.657c-1.44.063-2.867.286-4.25.657-7.374 1.976-13.434 8.13-17.062 18.187-3.628 10.058-4.295 23.6-.562 37.532 3.733 13.933 11.08 25.324 19.25 32.22 8.17 6.894 16.47 9.194 23.844 7.218 4.996-1.34 9.37-4.6 12.812-9.688-.557.206-1.108.376-1.688.532-14.782 3.96-31.402-10.042-37.093-31.28-5.692-21.24 1.685-41.665 16.468-45.626 3.214-.862 6.526-.853 9.78-.125-.63-.595-1.265-1.178-1.905-1.72-6.128-5.17-12.326-7.766-18.157-7.905-.486-.012-.957-.02-1.437 0zm148.75 0c-5.83.14-12.028 2.736-18.156 7.907-8.17 6.895-15.516 18.255-19.25 32.187-3.733 13.934-3.065 27.476.563 37.532 3.628 10.057 9.657 16.212 17.03 18.188 7.376 1.976 15.706-.324 23.876-7.22.87-.732 1.748-1.51 2.595-2.343-3.923 1.263-7.97 1.453-11.875.407-14.783-3.96-22.13-24.386-16.438-45.625 5.692-21.24 22.28-35.244 37.063-31.282 1.253.335 2.45.812 3.594 1.375-3.514-5.533-8.07-9.064-13.314-10.47-1.843-.493-3.744-.702-5.687-.656zm-73.437 217.594c-30.047 0-57.177 6.322-76 15.94-18.82 9.616-28.155 21.615-28.155 32.686 0 2.838.615 5.752 1.844 8.656 5.233-4.285 11.252-8.117 17.81-11.468 22.253-11.37 51.873-18 84.5-18 32.63 0 62.25 6.63 84.5 18 6.547 3.344 12.56 7.163 17.783 11.437 1.22-2.894 1.843-5.794 1.843-8.624 0-11.07-9.334-23.07-28.156-32.687-18.822-9.618-45.92-15.94-75.97-15.94zm0 46.5c-30.047 0-57.177 6.322-76 15.94-18.82 9.616-28.155 21.615-28.155 32.686 0 11.07 9.334 23.07 28.156 32.688 18.823 9.617 45.953 15.97 76 15.97 30.05-.002 57.148-6.353 75.97-15.97 18.822-9.617 28.156-21.617 28.156-32.688 0-11.07-9.334-23.07-28.156-32.687-18.822-9.618-45.92-15.94-75.97-15.94zm0 28.19c15.2 0 28.952 2.186 39.75 6.186 5.4 2 10.118 4.412 14 7.813 3.884 3.4 7.25 8.417 7.25 14.467 0 6.05-3.366 11.07-7.25 14.47-3.882 3.4-8.6 5.812-14 7.812-10.798 4-24.55 6.186-39.75 6.186-15.197 0-28.98-2.187-39.78-6.187-5.4-2-10.086-4.413-13.97-7.814-3.882-3.4-7.25-8.418-7.25-14.47 0-6.05 3.368-11.067 7.25-14.467 3.884-3.402 8.57-5.814 13.97-7.814 10.8-4 24.583-6.187 39.78-6.187zm0 18.686c-13.327 0-25.384 2.107-33.28 5.03-3.948 1.464-6.812 3.168-8.156 4.345-.292.256-.263.258-.406.408.143.15.114.15.406.406 1.344 1.177 4.208 2.913 8.156 4.375 7.896 2.923 19.953 5 33.28 5 13.33 0 25.387-2.077 33.282-5 3.948-1.463 6.812-3.2 8.157-4.376.29-.255.26-.257.405-.406-.144-.15-.115-.152-.406-.407-1.346-1.176-4.21-2.88-8.158-4.342-7.895-2.925-19.953-5.032-33.28-5.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gavel;

impl IconShape for Gavel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.75 24.47L21.625 211.655l55.78 32.188L185.532 56.656 129.75 24.47zm55.97 69.25l-75.626 130.874L326.47 349.47l75.592-130.876L185.72 93.72zm83.468.686l-11.22 19.438 84.97 49.03 11.25-19.468-85-49zM434.25 200.22L326.156 387.405l55.78 32.188 108.095-187.188-55.78-32.187zm-270.53 76.905l-11.282 19.53 84.968 49 11.25-19.5-84.937-49.03zm-3.095 45.844L61.312 494.81h67.157l82.28-142.968-50.125-28.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gaze;

impl IconShape for Gaze {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M160.72 18.188v52.718c-7.084 7.197-13.702 15.14-19.782 23.75C115.436 130.766 98.88 178.512 95.5 231.5c-15.843 6.807-32.368 11.327-46.938 12.563H19v18.687h27.938c15.03 1.032 32.302 5.66 48.812 12.78 3.888 51.552 20.265 97.963 45.188 133.25 6.08 8.61 12.698 16.554 19.78 23.75v58.94h18.72v-42.533c22.546 16.858 48.51 26.625 76.25 26.625 27.717 0 53.653-9.76 76.187-26.593v42.5h18.688v-58.845c7.118-7.222 13.767-15.197 19.875-23.844 24.917-35.28 41.27-81.68 45.156-133.217 16.448-7.143 33.71-11.776 48.75-12.813h27.937v-18.688h-29.53c-14.582-1.237-31.113-5.763-46.906-12.593-3.38-52.977-19.91-100.712-45.406-136.814-6.108-8.647-12.757-16.622-19.875-23.844V18.188h-18.688v36.28c-22.534-16.832-48.47-26.593-76.188-26.593-27.74 0-53.703 9.767-76.25 26.625V18.187H160.72zm94.968 28.375c27.81 0 53.952 11.57 76.187 32.093v90.188c-3.3 28.337-37.34 58.837-76.22 58.812-40.656 0-75.936-33.853-75.936-63.25h-.282v-85.72c22.25-20.54 48.427-32.124 76.25-32.124zm-.063 18.75c-30.798 0-57.844 32.254-57.844 74.562s27.047 74.594 57.845 74.594 57.844-32.287 57.844-74.595-27.047-74.563-57.845-74.563zm94.938 33.906c1.56 2.024 3.092 4.09 4.593 6.218 21.458 30.382 36.4 70.79 41.063 116.093-25.535-15.01-45.376-35.753-45.376-57.124h-.28l-.002-65.187zm-189.844.093v69.656c-2.597 19.8-21.665 38.734-45.626 52.686 4.648-45.354 19.616-85.808 41.094-116.22 1.48-2.094 2.994-4.127 4.53-6.124zm6.874 124.062c19.914.01 41.186 8.716 64 27.156l.25 5.564c-22.345 18.332-43.445 27.15-63.406 27.25-21.094.106-42.096-9.34-63.72-30.03 21.138-20.45 41.848-29.948 62.876-29.94zm170.625 0c20.928.01 43.357 9.603 67.5 30.03-23.548 20.184-45.702 29.833-66.626 29.94-19.773.098-39.455-8.202-59.656-26.283l.312-7.843c19.62-17.622 38.9-25.853 58.47-25.845zm-167.908 12c-9.548 0-17.28 7.766-17.28 17.313 0 9.546 7.732 17.28 17.28 17.28 9.548 0 17.313-7.734 17.313-17.28 0-9.548-7.764-17.313-17.313-17.313zm170.657 0c-9.55 0-17.283 7.766-17.283 17.313 0 9.546 7.734 17.28 17.282 17.28 9.547 0 17.28-7.734 17.28-17.28 0-9.548-7.733-17.313-17.28-17.313zm-85.314 43.875c38.88 0 72.918 30.507 76.22 58.844v86.687c-22.236 20.525-48.38 32.095-76.188 32.095-27.823 0-54-11.582-76.25-32.125v-82.22h.28c0-29.396 35.28-63.256 75.938-63.28zM115.47 285.5c23.788 13.933 42.672 32.765 45.25 52.47v66.155c-1.538-1.997-3.053-4.03-4.532-6.125-20.89-29.58-35.642-68.653-40.72-112.5zm280.405.125c-5.09 43.797-19.848 82.824-40.72 112.375-1.5 2.126-3.033 4.194-4.592 6.22v-61.69h.28c0-21.27 19.672-41.91 45.032-56.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GearHammer;

impl IconShape for GearHammer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.344 17.5l-4.188 25.313c-17.994-.1-35.62 2.066-52.562 6.28l-9.438-25.062-55.125 20.75 9.907 26.282c-15.008 8.587-28.96 18.95-41.5 30.876L90 83.53l-37.375 45.5L75.75 148c-8.54 14.428-15.47 30.036-20.5 46.594l-30.063-4.97-9.593 58.095L46 252.75c-.374 17.218 1.313 34.127 4.906 50.438L22 314.063l20.75 55.125 28.625-10.782c8.07 15.027 17.91 29.046 29.28 41.75L81.688 423.25l45.532 37.344 18.343-22.344c14.386 9.118 30.04 16.577 46.687 22.125l-4.53 27.5 58.093 9.594 4.343-26.283c18.046.874 35.764-.54 52.875-4.03l8.97 23.78 55.094-20.75-8.53-22.656c16.126-8.343 31.134-18.683 44.655-30.78l17.936 14.72 37.344-45.533-17.188-14.093c9.733-15.35 17.606-32.125 23.25-50.03l21.407 3.53 9.56-58.094-21.06-3.47c.608-18.84-1.282-37.305-5.408-55.06l19.844-7.47-20.75-55.125-20.187 7.594c-8.89-16.114-19.817-31.033-32.5-44.376l14.155-17.25-45.5-37.375-14.72 17.936c-15.396-9.116-32.13-16.37-49.936-21.47l3.967-24.092-58.093-9.594zm-8.03 47.938c11.136-.15 22.437.685 33.81 2.562C395.113 85.164 465.665 183.606 448.5 287.594 431.336 391.58 332.894 462.134 228.906 444.97 124.92 427.803 54.366 329.36 71.53 225.374c15.02-90.99 92.292-156.386 181.032-159.813 1.585-.06 3.16-.103 4.75-.124zm.217 18.687c-1.437.018-2.88.04-4.31.094-80.154 3.037-149.672 61.917-163.25 144.186-15.52 94.022 47.977 182.606 142 198.125 94.02 15.52 182.573-47.977 198.093-142 15.52-94.02-47.947-182.573-141.97-198.092-10.283-1.698-20.496-2.44-30.562-2.313zm.408 18.156c9-.116 18.145.546 27.343 2.064 84.096 13.88 140.85 93.092 126.97 177.187-13.88 84.096-93.06 140.85-177.156 126.97-25.808-4.26-49.03-14.68-68.438-29.5l109.688-133.625 52.844 43.375 58.437-71.188-108.22-88.78-101.842 35.53 71 58.25L140.78 353.938c-26.985-33.066-40.165-77.126-32.655-122.625 12.146-73.583 74.283-126.223 145.97-128.937 1.28-.048 2.557-.077 3.843-.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gears;

impl IconShape for Gears {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179.625 22.313L163.22 58.937c-3.258-.384-6.498-.604-9.72-.624-10.577-.066-20.857 1.808-30.47 5.28L99.78 31.032 55.75 63.188l24.063 33.657c-7.21 10.412-12.3 22.5-14.5 35.75l-42.72 4.687 5.345 54.25 45.468-5c5.082 10.2 12.078 19.372 20.594 26.97l-19.406 43.375 49.375 22.094 19.5-43.564c11.656 1.242 23.08.128 33.75-3l28.124 38.53 31.72-23.186 11.655 20.156C234.014 279.138 220.873 292.3 209.624 307l-49.22-28.344-25.718 46.72 48.125 27.937c-7.068 16.934-11.967 34.975-14.343 53.812H112.5v53.72h56.22c1.66 12.053 4.372 23.753 8.03 35.06h169.312c-23.915-10.758-40.562-34.788-40.562-62.717 0-37.964 30.754-68.75 68.72-68.75 37.963 0 68.75 30.786 68.75 68.75 0 27.93-16.67 51.96-40.595 62.718h91.5V200.375l-11.688-6.406L454.594 242c-16.842-7.204-34.808-12.234-53.594-14.72v-55.53h-53.72v55.47c-18.303 2.377-35.83 7.183-52.31 14.03l-27.126-47.28-36 20.25-9.25-12.97c7.08-9.223 12.43-19.93 15.5-31.72l44.437-4.843-5.342-54.25-42.25 4.157c-4.92-12.618-12.648-23.953-22.563-33.094L229 44.406l-49.375-22.093zm-27.344 84.25c23.3-.24 42.94 17.827 44.376 41.343 1.48 24.275-17.004 45.144-41.28 46.625-24.278 1.483-45.145-16.974-46.626-41.25-1.48-24.274 16.973-45.142 41.25-46.624.76-.046 1.53-.086 2.28-.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gecko;

impl IconShape for Gecko {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M439.313 23.094c-14.073-.124-34.5 9.153-60.25 28.875-.54-.5-1.12-.986-1.72-1.44-9.96-7.527-24.127-5.554-31.656 4.407-7.408 9.803-5.613 23.7 3.938 31.313-4.674 14.337-1.07 28.65 7.094 40.125-.335 6.702-2.71 12.345-9.97 18-9.175 7.148-18.937 16.258-28.688 26.97-22.286-11.36-39.37-29.202-54-49.595l2.094-.875c36.75-15.54 22.554-40.264-11.03-26.063-6.733-15.916-14.667-22.693-20.75-22.843-8.893-.22-13.83 13.717-5.314 33.874-41.17 17.408-28.02 42.575 11.032 26.062l1.812-.78c14.265 27.902 33.188 47.988 57.5 62.81-17.14 22.89-32.872 50.29-43.47 80.095-14.762-11.55-29.08-16.705-43.467-16.624-19.66.11-39.445 9.975-60.564 26.47l-.594-.938c-22.67-35.828-47.807-22.65-23.906 15.125-31.142 19.703-20.793 46.652 15.156 23.906 19.496 30.818 45.243 18.597 23.907-15.126l-1.97-3.125c36.48-16.268 63.367-10.887 79.313 20.75-1.173 9.542-1.683 19.22-1.47 28.936-31.58 54.99-83.526 108.47-139.905 74.72C56.43 400.583 31.08 290.24 86.03 264.812c-88.86 14-72.12 158.155-11.343 202.093 68.89 49.802 177.1 9.79 226.47-67.5 9.23-9.248 18.042-19.363 26.343-30.125 28.19 9.79 47.533 34.53 54.78 66.564l-1.842-.125c-39.833-2.513-38.174 25.95-1.782 28.25-2.676 42.446 25.93 38.56 28.25 1.78 44.61 2.818 44.1-25.58 1.78-28.25l-3.436-.22c2.32-47.622-21.094-79.984-52.594-105.592 10.95-19.048 20.074-39.302 26.75-60.032 14.804 17.315 36.6 20.202 65.844 11.125 15.61 38.424 42.24 30.015 25.97-11.25 34.28-13.522 29.2-41.947-10.376-26.342-13.374-33.928-40.953-26.72-26.313 10.406l1.97 4.97c-27.402 6.667-38.812-5.483-47.938-26.127 3.577-21.29 4.258-42.663 1.375-63.375-1.377-9.886 5.03-15.268 11.875-20.437 8.062-.07 16.09-2.327 23.313-7.344 9.9 6.767 23.476 4.636 30.78-5.03 7.53-9.96 5.556-24.128-4.405-31.656-.673-.51-1.385-.984-2.094-1.406C469.22 52.58 464.05 23.31 439.312 23.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GemChain;

impl IconShape for GemChain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M144.2 19.03c-10.7 0-20.3 5.36-26.1 13.52-14.1-1.15-28.27-.24-41.2 3.44-5.9-6.63-14.5-10.81-24-10.81-17.6 0-32.1 14.49-32.1 32.12 0 9.8 4.5 18.62 11.5 24.53-2 10.17-1.9 19.47-.2 27.97-8.1 5.8-13.3 15.3-13.3 25.9 0 17.6 14.5 32.1 32.1 32.1 8.1 0 15.6-3 21.2-8.1 4.7 3.1 9.4 6 14.3 8.9-.3 1.5-.4 3.1-.4 4.7 0 17.6 14.5 32.1 32.1 32.1 5.7 0 11.1-1.5 15.7-4.2 3.7 3.5 7 7.2 10 11.1-5.7 5.8-9.2 13.7-9.2 22.4 0 15.2 10.8 28 25 31.3-.3 7-1.2 14.6-2.9 22.9-7.7 7.6-12.5 18.2-12.5 29.8 0 11.4 4.6 21.8 12 29.4l-13.4 113.3 24.7-36.3c3.4-28.2 6.8-57 9.6-81.2 11.9-5.4 21.6-10 32.4-14.8 27.1 11.4 51.2 22.2 75.2 32.3l41.2-2-97.7-42.1c-.4-12.8-6.7-24.2-16.1-31.6 6.1-12.4 12.5-22.5 19.5-30.7 3.8 1.7 8.1 2.6 12.6 2.6 17.6 0 32.1-14.5 32.1-32.1 0-.9 0-1.8-.1-2.6 7.3-3 14.9-5.6 22.8-8.1 5.7 8.9 15.7 14.8 26.9 14.8 17.7 0 32.1-14.5 32.1-32.2v-.7c7.5-2.7 15.1-5.9 22.8-9.5 5.9 6.9 14.7 11.4 24.4 11.4 17.6 0 32.1-14.5 32.1-32.2 0-4.8-1.1-9.5-3.1-13.7 6.4-5.3 12.9-11.5 17.7-17.6 2.9.9 6 1.3 9.2 1.3 17.6 0 32.1-14.5 32.1-32.1 0-17.1-13.6-31.26-30.5-32.09-11-16.49-34.3-24.49-49.5-20-5.9-7.82-15.3-12.91-25.7-12.91-17.7 0-32.2 14.5-32.2 32.13 0 2.67.4 5.29 1 7.78-4.6 1.48-9.3 2.69-14.2 3.69-4.7-11.96-16.4-20.5-29.9-20.5-14.3 0-26.4 9.4-30.6 22.28-8.1-.99-16.7-2.39-23.7-3.81-.6-17.08-14.8-30.88-32.1-30.88-10.5 0-20 5.2-25.8 13.16-8.2-3.29-16.1-6.82-23.7-10.56v-1.44c0-17.63-14.5-32.12-32.1-32.12zm0 18.67c7.5 0 13.4 5.91 13.4 13.44 0 7.53-5.9 13.44-13.4 13.44s-13.5-5.91-13.5-13.44c0-7.53 6-13.44 13.5-13.44zm-91.3 6.16c7.6 0 13.5 5.91 13.5 13.44 0 7.53-5.9 13.43-13.5 13.43-7.5 0-13.4-5.9-13.4-13.43 0-7.53 5.9-13.44 13.4-13.44zm59.2 7.09v.19c0 17.63 14.5 32.13 32.1 32.13 10.5 0 19.9-5.12 25.8-13 7.6 3.72 15.6 7.25 23.7 10.53v1.28c0 17.63 14.5 32.12 32.1 32.12 11.5 0 21.6-6.1 27.3-15.25 10.1 1.85 19.1 3.65 28.2 4.55 4 13.3 16.3 23.1 30.9 23.1 15.1 0 27.9-10.7 31.2-24.9 7.9-1.5 15.5-3.5 22.9-6.15 5.7 4.95 13.1 8.05 21.2 8.05 17.6 0 32.1-14.55 32.1-32.18v-1.75c10.2-1.39 18.6 2.07 23.9 7.81-8.7 5.77-14.6 15.65-14.6 26.82 0 7.8 2.8 14.8 7.5 20.5-4.7 5.5-9.6 9.7-14.7 14.1-4.8-2.9-10.5-4.6-16.5-4.6-17.6 0-32.1 14.5-32.1 32.1 0 1.3.1 2.5.2 3.8-7.1 3.3-14.2 6.2-21.2 8.8-5.8-8.3-15.4-13.7-26.2-13.7-17.4 0-31.8 14.2-32.1 31.6-8.2 2.5-16.3 5.5-24.3 8.9-5.9-7.5-15.1-12.4-25.3-12.4-17.6 0-32.1 14.4-32.1 32.1 0 6.6 2 12.8 5.5 17.9-8.1 9.4-15.6 20.7-22.4 34.3-6.1-1.2-12.2-1.4-17.8 0 .5-4.5.8-8.9.8-13 12-4.7 20.6-16.4 20.6-30 0-17.6-14.5-32.1-32.1-32.1-2.2 0-4.3.2-6.3.6-4.1-5.7-8.7-10.8-13.6-15.5 2.2-4.4 3.4-9.3 3.4-14.4 0-17.7-14.5-32.1-32.1-32.1-9.3 0-17.7 4-23.6 10.4-4.3-2.7-8.5-5.3-12.5-7.9.7-2.6 1-5.2 1-8 0-17.6-14.5-32.1-32.1-32.1-.5 0-1 0-1.5.1-.6-4.35-.4-9.07.5-14.43 1 .1 2 .15 3 .15 17.7 0 32.2-14.49 32.2-32.12 0-1.38-.1-2.76-.3-4.09 9.13-2.16 18.4-2.75 27.3-2.26zm275.4 7.04c7.5 0 13.4 5.9 13.4 13.43 0 7.53-5.9 13.44-13.4 13.44-7.6 0-13.5-5.91-13.5-13.44 0-7.53 5.9-13.43 13.5-13.43zM225.8 68.67c7.6 0 13.4 5.88 13.4 13.41s-5.8 13.43-13.4 13.43c-7.5 0-13.4-5.9-13.4-13.43 0-7.53 5.9-13.41 13.4-13.41zm86.4 12.41c7.5 0 13.4 5.87 13.4 13.4 0 7.62-5.9 13.52-13.4 13.52-7.6 0-13.5-5.9-13.5-13.52 0-7.53 5.9-13.4 13.5-13.4zm148.9 9.78c7.5 0 13.4 5.91 13.4 13.44 0 7.6-5.9 13.4-13.4 13.4-7.6 0-13.4-5.8-13.4-13.4 0-7.53 5.8-13.44 13.4-13.44zM50.9 122.2c7.5 0 13.5 6 13.5 13.5s-6 13.5-13.5 13.5-13.4-6-13.4-13.5 5.9-13.5 13.4-13.5zM405.2 153c7.5 0 13.5 5.9 13.5 13.4 0 7.6-6 13.5-13.5 13.5s-13.4-5.9-13.4-13.5c0-7.5 5.9-13.4 13.4-13.4zm-287.1 6.8c7.5 0 13.5 5.9 13.5 13.5 0 7.5-6 13.4-13.5 13.4s-13.4-5.9-13.4-13.4c0-7.6 5.9-13.5 13.4-13.5zM325.9 184c7.6 0 13.4 5.9 13.4 13.4 0 7.6-5.8 13.5-13.4 13.5-7.5 0-13.4-5.9-13.4-13.5 0-7.5 5.9-13.4 13.4-13.4zm-81.7 28.1c7.5 0 13.4 5.8 13.4 13.4 0 7.5-5.9 13.4-13.4 13.4s-13.4-5.9-13.4-13.4c0-7.6 5.9-13.4 13.4-13.4zm-77.5 9.1c7.5 0 13.4 6 13.4 13.5s-5.9 13.4-13.4 13.4-13.4-5.9-13.4-13.4 5.9-13.5 13.4-13.5zm19.5 74.2c8.1 1.1 17.1 5.2 20.9 12.9-20.1 7.4-29.6 10.8-43.5 16.3-1.8-10.9-.4-20.2 10-25.5 3.9-2 8.3-4.3 12.6-3.7zm23.5 54.1l-15.3 7-7 59.9 52.3 3.2 23.5-47.1zm129.2 28l-58.7 2.9-24.9 49.9 30.2 54.3zm-155.5 57.4l-34.6 50.8 120 7.3-30.5-54.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GemNecklace;

impl IconShape for GemNecklace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M26.537 18.69c-5.14 13.737 1.93 32.374 21.42 32.374 1.11 0 2.175-.07 3.205-.185-14.21 12.198-9.28 41.503 15.158 41.503 3.21 0 6.075-.513 8.612-1.418-7.113 13.846-.416 34.93 20.31 34.93 5.08 0 9.312-1.273 12.71-3.39-5.43 13.773 1.582 32.77 21.26 32.77 3.985 0 7.446-.785 10.395-2.142-2.018 11.57 3.74 24.662 17.375 27.35l-55.47 76.296 169.78 233.525L441.067 256.78 364.97 152.11c13.87-2.34 19.88-15.235 18.147-26.84 1.81.403 3.756.625 5.852.625 20.725 0 27.42-21.084 20.307-34.93 2.537.905 5.403 1.418 8.612 1.418 24.436 0 29.365-29.305 15.157-41.504 1.03.115 2.095.184 3.205.184 19.49 0 26.56-18.637 21.42-32.375h-42.84c-3.445 9.207-1.397 20.607 6.19 27.13-1.007-.113-2.05-.175-3.133-.175-20.563 0-27.425 21.08-20.367 34.925-2.524-.904-5.373-1.414-8.554-1.414-17 0-24.62 14.408-22.767 27.225-1.804-.404-3.745-.628-5.832-.628-10.137 0-16.94 5.126-20.39 11.982L298.366 60.5 271.29 23.256l-7.558 10.394-81.398 111.96c-3.543-6.543-10.237-11.366-20.068-11.366-3.973 0-7.43.792-10.38 2.162 2.21-12.973-5.388-27.87-22.673-27.87-5.053 0-9.275 1.28-12.67 3.405 5.38-13.772-1.77-32.784-21.3-32.784-3.184 0-6.034.51-8.56 1.416 7.06-13.846.2-34.927-20.363-34.927-1.084 0-2.126.062-3.134.175 7.588-6.523 9.636-17.923 6.19-27.13h-42.84zm271.83 73.59l38.38 52.788L326 185.18c-2.728-.513-5.523-.795-8.377-.795-3.85 0-7.593.504-11.203 1.422l-20.498-76.41 12.445-17.118zm-26.578 36.558l17.48 65.16c-4.572 3.337-8.695 7.403-12.225 12.022-3.006 3.932-5.625 8.27-7.824 12.927l-44.646-25.168 47.215-64.942zm79.095 35.68l32.416 44.587-17.308 9.772c-2.192-4.632-4.8-8.947-7.79-12.86-4.17-5.453-9.16-10.144-14.75-13.76l7.433-27.74zm-33.262 38.554c9.644 0 18.64 5.02 25.73 14.297 7.092 9.277 11.81 22.688 11.81 37.696 0 15.01-4.72 28.42-11.81 37.7-7.094 9.278-16.086 14.296-25.73 14.296-9.644 0-18.638-5.018-25.73-14.296-7.092-9.28-11.813-22.69-11.813-37.7 0-15.007 4.72-28.42 11.813-37.697 7.092-9.28 16.086-14.298 25.73-14.298zm-104.11 5.924l49.716 28.03c-1.198 5.775-1.84 11.817-1.84 18.04 0 7.44.913 14.623 2.606 21.395L213.72 304.85l-34.947-48.07 34.74-47.782zm180.85 15.324l23.598 32.46-23.73 32.642-22.982-12.955c1.694-6.774 2.606-13.958 2.606-21.4 0-6.252-.647-12.32-1.854-18.12l22.363-12.627zm-123.666 69.82c1.87 3.546 3.988 6.888 6.348 9.975 3.883 5.08 8.48 9.495 13.607 13l-18.314 68.36-47.555-65.41 45.914-25.924zm93.85.003l18.62 10.498-32.774 45.08-8.313-30.988c6.148-3.716 11.614-8.72 16.12-14.617 2.36-3.087 4.478-6.428 6.347-9.972zm-56.576 30.55c3.13.682 6.352 1.06 9.653 1.06 2.323 0 4.604-.2 6.846-.542l11.79 43.948-37.893 52.12-11.89-16.356 21.494-80.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GemPendant;

impl IconShape for GemPendant {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M29.018 18.875c-2.63 10.297.047 21.72 8.044 29.72 10.035 10.034 25.46 11.696 37.29 5 5.914 5.346 11.686 10.373 17.357 15.12-.338 1.818-.522 3.687-.522 5.597 0 17.024 14.008 31 31.03 31 4.917 0 9.576-1.17 13.72-3.24 5.755 3.91 11.562 7.715 17.482 11.48-.474 2.142-.732 4.36-.732 6.635 0 17.024 14.008 31 31.03 31 7.577 0 14.55-2.772 19.964-7.345l13.873 8.125c-.263 1.535-.414 3.113-.414 4.732v38.904L114.07 255.27v160.064l138.284 80.053 138.283-80.053V255.27l-104.047-60.233V156.7c0-.983-.067-1.946-.172-2.897 5.393-3.07 10.655-6.08 15.697-8.994 5.226 3.992 11.736 6.377 18.762 6.377 17.023 0 31-13.976 31-31 0-1.867-.176-3.695-.498-5.476 6.047-3.987 12.012-8.058 17.978-12.298 3.97 1.855 8.38 2.9 13.02 2.9 17.023 0 31.03-13.976 31.03-31 0-1.973-.194-3.903-.553-5.78 5.273-4.45 10.697-9.14 16.318-14.116 11.6 5.714 26.135 3.778 35.736-5.822 7.998-7.998 10.675-19.42 8.045-29.72h-20.413c4.018 4.888 3.736 11.916-.85 16.5-4.887 4.888-12.55 4.89-17.437 0-4.585-4.585-4.867-11.614-.85-16.5h-20.414c-1.915 7.5-1 15.592 2.72 22.528-4.12 3.636-8.123 7.105-12.034 10.434-5.575-5.288-13.083-8.555-21.297-8.555-17.024 0-31.03 14.01-31.03 31.032 0 5.45 1.438 10.583 3.948 15.05-4.245 2.958-8.5 5.84-12.797 8.673-5.6-5.48-13.24-8.88-21.62-8.88-17.025 0-31.032 14.01-31.032 31.032 0 3.166.484 6.225 1.383 9.11-4.23 2.445-8.744 5.028-13.247 7.605-1.028-.994-2.112-1.91-3.246-2.716-6.692-4.768-14.72-6.882-22.714-7.014-7.996-.132-16.15 1.718-22.97 6.504-.807.565-1.586 1.186-2.337 1.85-4.367-2.573-8.764-5.164-12.947-7.622.642-2.47.984-5.056.984-7.716 0-17.024-14.007-31.032-31.03-31.032-7.977 0-15.29 3.075-20.812 8.094-4.47-2.838-8.894-5.69-13.248-8.596 2.267-4.297 3.56-9.178 3.56-14.34 0-17.025-13.977-31.033-31-31.033-8.26 0-15.804 3.304-21.388 8.642-4.515-3.827-9.1-7.833-13.79-12.067 3.063-6.575 3.715-14.03 1.94-20.98H68.568c4.018 4.887 3.736 11.915-.85 16.5-4.887 4.887-12.55 4.888-17.437 0-4.584-4.586-4.865-11.615-.848-16.5H29.018zm93.2 43.094c6.924 0 12.313 5.42 12.313 12.343s-5.387 12.312-12.31 12.312c-6.926 0-12.345-5.39-12.345-12.313 0-6.923 5.42-12.343 12.344-12.343zm260.157 0c6.924 0 12.344 5.42 12.344 12.343s-5.42 12.312-12.345 12.312c-6.924 0-12.344-5.39-12.344-12.313 0-6.923 5.42-12.343 12.345-12.343zM183.72 107.843c6.922 0 12.343 5.42 12.343 12.344 0 6.923-5.42 12.312-12.344 12.312-6.926 0-12.345-5.39-12.345-12.313 0-6.923 5.42-12.343 12.344-12.343zm137.155 0c6.924 0 12.313 5.42 12.313 12.344 0 6.923-5.39 12.312-12.313 12.312-6.924 0-12.344-5.39-12.344-12.313 0-6.923 5.42-12.343 12.345-12.343zm-69.164 38.013c4.695.078 9.355 1.536 12.18 3.55 2.826 2.012 4.01 3.805 4.01 7.292v27.52l-15.546-9-16.526 9.565V156.7c0-4.09 1.258-5.835 3.953-7.725 2.696-1.89 7.237-3.195 11.93-3.118zm-8.122 56.03v32.728l-74.182 43.21-28.558-16.462 102.74-59.476zm18.687.67l102.16 59.138-28.624 16.502-73.533-42.83-.002-32.81zm-9.988 48.62l72.256 42.085-.002 84.316-72.253 42.086-72.256-42.086.003-84.314 72.254-42.088zm.465 18.33l-56.883 98.15v.724l56.566 32.977L309 368.38v-66.085l-56.248-32.79zm-119.994 8.764l28.586 16.48v84.027l-28.586 16.48V278.272zm239.19.668l-.003 115.648-28.715-16.553v-82.54l28.717-16.555zM333.493 393.99l28.414 16.38-99.63 57.677v-32.574l71.216-41.483zm-161.77.375l71.864 41.86v32.494l-100.21-58.013 28.345-16.342z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gems;

impl IconShape for Gems {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M303.2 19.338l-161.966 93.51 93.512 161.966 161.967-93.51-4.674-8.093-4.874-8.44-4.127-7.54-.188.07-79.65-137.962zm-20.62 33.486l-50.27 90.14c-19.184-7.687-37.887-17.28-56.165-28.69l106.435-61.45zm19.914 2.664l63.235 109.528c-40.568 2.1-78.993-3.29-115.658-15.536l52.422-93.992zm-251.61 25.68L23.032 167.99l74.302 51.123 27.854-86.822-5.723-3.936-68.578-47.186zm10.118 29.646l32.295 22.22-44.233 14.99 11.938-37.21zm385.836 22.33l-46.143 17.418 9.06 16.557 20.165-7.614 2.992 43.463-39.94 15.077-.878-12.748-18.016 10.4 1.977 28.71 76.457-28.865-5.674-82.402zm-270.55 3.045c31.896 18.617 65.316 32.12 100.267 39.964l-39.52 65.25L176.29 136.19zm-76.604 14.414l-12.467 38.863-33.73-23.207 46.197-15.656zm196.437 29.318c19.028 3.07 38.496 4.478 58.403 4.158l-93.675 54.084 35.273-58.242zM21.187 224.744l1.96 14.336 21.672 158.522 167.026 49.484-1.994-14.59-23.522-12.463L79.99 388.53l59.563-26.098 34.398-54.528 6.943 50.77 16.082-20.33-8.766-64.114-167.024-49.486zm22.435 26.14l121.497 35.997-38.314 60.733-66 28.92-17.182-125.65zm313.064 5.206l-88.914 23.824-1.916 2.395-89.266 111.594 197.365 102.963 118.662-187.66-135.93-53.117zm-13.6 22.988l31.3 55.317-86.09 22.673 2.505-63.978 52.284-14.012zm21.582.193l88.18 34.46-59.778 15.743-28.402-50.202zm-93.035 25.734l-2.232 57.04-54.978 14.48 57.21-71.52zm184.313 27.234l-73.545 116.31 13.94-100.61 59.605-15.7zm-79.185 20.856L362.762 454.11l-67.342-79.594 81.338-21.422zM275.402 379.79l67.532 79.817-124.325-64.86 56.792-14.958z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ghost;

impl IconShape for Ghost {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373.688 22.063c-1.245-.014-2.498 0-3.75.03-31.364.748-65.528 15.414-96.938 47.313-88.264 89.642-154.092 171.18-242.938 174.03 23.65 18.21 54.87 31.21 85.25 36.783-24.375 29.26-50.877 47.65-93.437 64.842 37.915 9.124 74.452 6.5 109.813-2.343-27.29 34.35-62.118 65.85-107.47 95.78 60.376-.392 136.226-12.138 181.626-47.906-4.842 30.69-16.186 65.125-43.22 100.47 70.74-18.73 117.115-42.386 146.595-83.533 2.905 27.513-.94 45.098-11.095 80.595 78.006-66.3 150.857-164.775 182.78-270.97C513.44 108.94 452.066 22.89 373.69 22.063zM371.03 96.47c5.76 0 11.1 1.732 15.564 4.686-7.706.283-13.875 6.6-13.875 14.375 0 7.956 6.45 14.407 14.405 14.407 5.118 0 9.6-2.665 12.156-6.687.028.503.033 1.022.033 1.53 0 15.633-12.648 28.314-28.282 28.314-15.632 0-28.31-12.68-28.31-28.313 0-15.63 12.678-28.31 28.31-28.31zm67.376 34.874c4.462 0 8.683 1.035 12.438 2.875-5.734 1.9-9.875 7.284-9.875 13.655 0 7.955 6.45 14.406 14.405 14.406 4.54 0 8.547-2.093 11.188-5.374.086.902.156 1.826.156 2.75 0 15.632-12.68 28.313-28.314 28.313-15.633 0-28.312-12.682-28.312-28.314s12.68-28.312 28.312-28.312zm-111.5 32.47l4.906 45.155 29.782-25.032 4.625 42.53 31.31-26.343 4.314 39.75 30.312-25.47 5.97 55.032-43.938 36.938-4.313-39.75-30.313 25.47-4.625-42.533-31.312 26.344-4.906-45.156-29.783 25.03-5.968-55.03 43.936-36.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GhostAlly;

impl IconShape for GhostAlly {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M216.242 23.555c-1.514-.042-3.074.125-4.588.125-32.333 0-58.656 33.378-58.656 74.736 0 20.942 6.97 39.84 17.813 53.44-67.073 10.403-65.61 115.718-65.61 188.576h40.41l9.992 151.642h78.41l-9.496-151.35h-40.58c0-72.856-1.285-178.355 65.79-188.755-10.842-13.602-17.83-32.55-17.83-53.49 0-22.137 7.473-41.88 19.374-55.46-9.035-10.623-20.667-17.67-33.532-19.34-.492-.075-.99-.11-1.496-.125zm78.703.402c-1.533-.04-3.126.125-4.64.125V492.59h52.26l11.683-151.865h42.422c0-72.654-5-175.973-66.402-187.526 11.328-13.665 19.06-33.248 19.06-54.72 0-38.777-23.35-70.56-52.875-74.398-.492-.074-.997-.11-1.508-.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gibbet;

impl IconShape for Gibbet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M82.063 22.97v55.468h10.624v-.157h85.907v.157h67.22L356.5 189.03v303.876h88.313V22.97H82.063zm225.125 55.468H356.5v49.28l-49.313-49.28zm-188.47 18.53v119.313c-6.382 11.06-15.59 27.544-23.374 45.032-7.905 17.757-14.563 36.232-14.563 52.782 0 15.672 4.607 30.03 12.657 40.906 8.05 10.876 20.057 18.438 33.688 18.438 13.63 0 25.637-7.562 33.688-18.438 8.05-10.876 12.687-25.234 12.687-40.906 0-16.68-6.99-35.573-15.03-53.563-7.144-15.975-15.21-30.695-21.032-40.905V96.97h-18.72zm8.126 143.188h.562c4.58 8.437 9.43 17.778 14 28 7.59 16.977 13.406 35.015 13.406 45.938 0 11.93-3.682 22.556-9.03 29.78-5.35 7.226-11.856 10.876-18.657 10.876-6.8 0-13.308-3.65-18.656-10.875-5.35-7.225-9-17.85-9-29.78 0-11.054 5.498-28.48 12.936-45.19 4.603-10.34 9.635-19.947 14.438-28.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GiftOfKnowledge;

impl IconShape for GiftOfKnowledge {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375.344 18.438c-1.137-.01-2.276.007-3.438.03-13.273.27-28.187 2.787-45.562 8.126-22.4 6.883-38.08 27.877-35.844 50.312 1.62 16.34 15.186 34.143 30.875 45.625 24.664 18.046 42.29 36.65 54.375 54.44l7.625 48.843 18.47-2.907-5.064-32.437c-1.34-23-7.98-45.714-22.342-69.095 14.54 8.79 27.36 18.46 38.03 28.156l28.22 55.72 16.656-8.438-26.53-52.406c-7.148-17.347-17.845-33.647-33.783-49.03 15.97 4.774 30.48 10.84 42.97 17.436l39.906 45.22 14-12.376-40.5-45.875-.094.095C441.37 85.048 426.1 72.19 406.063 61.687v-.093c-.278-.243-.558.187-.812.187-25.3-1.83-47.73-.167-62.28 3.69 13.373-10.633 34.805-18.547 64.592-21.25l47.375 18.31 6.75-17.436-41.375-16-.093-.032c-13.467-6.492-27.824-10.464-44.876-10.625zm-237.688.03c-16.838.232-31.037 4.164-44.375 10.595l-41.468 16.03 6.72 17.438 47.406-18.31c29.77 2.706 51.224 10.62 64.593 21.25-14.55-3.857-36.98-5.52-62.28-3.69-.254 0-.534-.43-.813-.186v.093C87.4 72.192 72.132 85.047 60.188 99.876l-.124-.094-40.5 45.876 14.03 12.375L73.5 112.813c12.49-6.596 27-12.662 42.97-17.437-15.94 15.384-26.668 31.684-33.814 49.03l-26.53 52.407 16.687 8.438L101 149.53c10.672-9.694 23.49-19.366 38.03-28.155-14.36 23.38-21 46.095-22.343 69.094l-5.03 32.436 18.468 2.906 7.594-48.78c12.084-17.806 29.684-36.437 54.374-54.5 15.69-11.483 29.254-29.286 30.875-45.626 2.234-22.435-13.414-43.43-35.814-50.312-19.113-5.873-35.252-8.32-49.5-8.125zM307.72 235.814c-11.41 0-24.272 4.91-40.22 22.718v130.814c19.24-13.898 38.485-19.628 56.563-19.844 22.987-.275 43.643 7.632 61.562 15.438 17.92 7.805 33.542 15.33 44.156 16.468 5.308.57 9.002-.088 12.564-2.312 3.187-1.99 6.62-5.816 10-12.53L431.688 256.81c-10.648 7.425-20.88 11.553-30.72 12.688-13.806 1.592-26.063-2.53-36.75-7.97-21.37-10.875-38.164-25.762-56.5-25.717zm-99.376 5c-18.118-.082-35.583 15.45-57.406 27.093-10.912 5.822-23.348 10.394-37.407 9.156-10.018-.88-20.423-4.782-31.186-12.156L62.906 393.47c13.616 13.096 25.344 15.566 38.594 13.842 14.267-1.855 30.332-9.854 47.406-18.093 17.074-8.24 35.31-16.776 55.438-17.22 14.575-.32 29.73 4.21 44.47 15.344V259.47c-16.255-18.45-24.774-18.62-40.47-18.658zM45.438 278.875l-24.782 158.22 194.906 13v19h83.563v-18.97l195.53-13.03-24.78-158.22-15.53 1.22 16.936 106.5.44 2.78-1.158 2.53c-4.76 10.555-10.745 18.306-18.312 23.033-3.66 2.285-7.59 3.727-11.594 4.53l.03.188-1.998.188c-.084.012-.167.02-.25.03-.958.136-1.915.217-2.875.282h-.125L258.563 437.28l-.782.064-.75-.063-158.467-10.967h-.094c-4.606.203-9.278-.1-13.97-.97-.03-.005-.063.006-.094 0-13.02-2.434-26.164-9.29-38.25-22.124l-3.125-3.314.69-4.5 17.405-115.312-15.688-1.22zM324.28 388.188c-18.502.22-37.827 6.678-59.436 27.625l-2.344 2.28 124.563-12.03c-2.944-1.34-5.893-2.688-8.907-4-17.257-7.518-35.372-14.096-53.875-13.875zm-119.53 2.5c-14.906.328-30.94 7.28-47.72 15.375-3.318 1.6-6.69 3.246-10.06 4.875L254 418.344l-2.72-3.125c-17.09-19.683-31.624-24.86-46.53-24.533z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GiftTrap;

impl IconShape for GiftTrap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137 98.656c-16.695.23-30.792 4.135-44.03 10.47L51.155 125.31l6.72 17.407 47.374-18.314c29.788 2.705 51.25 10.618 64.625 21.25-14.55-3.855-36.98-5.487-62.28-3.656-.255 0-.535-.43-.814-.188v.063c-20.038 10.504-35.305 23.39-47.25 38.22l-.124-.126-40.468 45.874 14 12.375 39.968-45.25c12.475-6.585 26.963-12.64 42.906-17.407-16.033 15.476-26.79 31.88-33.937 49.343L55.47 277.03l16.686 8.44 28.188-55.72c10.678-9.705 23.508-19.39 38.062-28.188-14.368 23.392-21.037 46.116-22.375 69.125L111 303.125 129.47 306l7.593-48.78c12.085-17.806 29.716-36.438 54.406-54.5 15.688-11.484 29.222-29.287 30.843-45.626 2.235-22.436-13.413-43.398-35.813-50.28-19.113-5.874-35.252-8.353-49.5-8.158zm235.5 0c-13.583.133-28.894 2.65-46.813 8.156-22.4 6.884-38.078 27.846-35.843 50.282 1.62 16.34 15.186 34.142 30.875 45.625 24.662 18.042 42.29 36.65 54.374 54.436L382.72 306l18.467-2.875-5.03-32.25c-1.313-23.073-7.968-45.858-22.376-69.313 14.557 8.8 27.385 18.482 38.064 28.188l28.187 55.72 16.658-8.44-26.5-52.405c-7.147-17.362-17.863-33.667-33.813-49.063 15.943 4.768 30.43 10.823 42.906 17.407l39.97 45.25 14-12.376-40.5-45.875-.125.093c-11.94-14.814-27.195-27.692-47.22-38.188v-.063c-.277-.242-.557.188-.81.188-25.302-1.83-47.732-.2-62.283 3.656 13.38-10.636 34.82-18.548 64.625-21.25l47.344 18.313 6.75-17.407-41.81-16.188c-13.24-6.334-27.337-10.24-44.033-10.47-.89-.01-1.78-.008-2.687 0zM256.406 213.25l-29.875 16.063c17.367 18.545 21.357 38.456 20.845 55.906-7.2-4.745-14.84-9.365-22.03-12.5-42.413-18.495-76.576 29.284-76.25 78.092.324 48.81 26.526 95.435 68.936 103.907 10.856 2.167 32.447-3.007 38.814-20.626 8.826 17.087 29.49 22.085 40.312 19.687 42.293-9.345 64.763-56.715 69.906-105.25h.032c4.502-42.497-33.786-100.522-80.875-76.436-6.1 3.12-12.72 7.05-19.095 11.187 2.077-24.64-2.11-50.12-10.72-70.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlassHeart;

impl IconShape for GlassHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M371.28 18.906c-40.78.092-82.526 21.026-110.624 65.813-35.57-51.667-93.288-71.73-143.5-61.47-54.427 11.12-99.783 58.946-97.47 134.688 2.17 70.978 43.028 120.858 91.25 168.53 48.225 47.674 104.27 94.2 141.97 159.5L261 500l8.094-14.03c37.55-65.042 95.404-109.375 144.625-156.064 49.22-46.69 90.167-97.202 87.905-172.53C499.49 86.238 455.06 36.64 401.875 22.81c-9.972-2.593-20.252-3.93-30.594-3.906zm-.06 18.532c8.754.06 17.462 1.233 25.936 3.437 45.197 11.753 83.9 53.345 85.813 117.063 2.054 68.423-33.94 112.727-82.095 158.406-44.992 42.678-100.275 85.296-139.844 147-39.266-61.85-92.684-106.41-136.936-150.156-47.363-46.823-83.76-91.68-85.72-155.813C36.29 89.075 74.47 51.05 120.907 41.562c46.437-9.487 101.338 10.72 131.938 65.844l8.5 15.375 8-15.655C294.42 57.898 333.28 37.17 371.22 37.437zM358.81 58.343c-1.67-.023-3.264.033-4.78.156-6.066.49-10.737 2.085-13.782 4.156-3.045 2.07-4.678 4.384-5.5 8-1.644 7.233 2.136 19.413 12.188 32.03 10.05 12.62 25.672 25.346 43.937 34.44 18.265 9.092 35.618 12.667 47.75 11.686 6.066-.49 10.705-2.085 13.75-4.156 3.045-2.07 4.71-4.384 5.53-8 1.645-7.232-2.166-19.38-12.217-32-10.052-12.62-25.642-25.345-43.907-34.437-15.98-7.957-31.27-11.718-42.967-11.876zm-210 .03c-1.315-.017-2.565.03-3.75.126-4.736.38-8.26 1.594-10.437 3.063-2.176 1.468-3.208 2.934-3.78 5.437-1.148 5.006 1.59 14.41 9.593 24.375 8 9.964 20.55 20.132 35.218 27.375 14.667 7.243 28.56 10.04 38.03 9.28 4.738-.378 8.263-1.624 10.44-3.093 2.175-1.468 3.207-2.934 3.78-5.437 1.147-5.006-1.592-14.41-9.594-24.375-8-9.964-20.55-20.1-35.218-27.344-12.834-6.336-25.076-9.28-34.28-9.405zm114.313 130c-54.47 0-103.808 4.458-138.938 11.5-17.564 3.523-31.616 7.76-40.5 11.97-4.44 2.105-7.545 4.263-9.062 5.75-.73.715-1.024 1.135-1.156 1.344.13.215.424.658 1.155 1.375 1.517 1.486 4.62 3.613 9.063 5.718 8.883 4.212 22.935 8.448 40.5 11.97 35.13 7.043 84.466 11.53 138.937 11.53 54.47 0 103.808-4.487 138.938-11.53 17.564-3.522 31.616-7.758 40.5-11.97 4.44-2.104 7.545-4.23 9.062-5.718.73-.716 1.024-1.16 1.156-1.375-.13-.208-.425-.628-1.155-1.343-1.517-1.487-4.62-3.645-9.063-5.75-8.883-4.21-22.935-8.447-40.5-11.97-35.13-7.042-84.466-11.5-138.937-11.5zM452.78 218.94c.144.225.095.203.095 0 0-.204.048-.232-.094 0zm-379.31 0c-.143-.232-.095-.204-.095 0 0 .203-.05.225.094 0zm364.592 29c-9.2 3.16-20.002 5.93-32.343 8.406-36.928 7.403-87.112 11.875-142.595 11.875-55.483 0-105.7-4.473-142.625-11.876-11.487-2.303-21.663-4.86-30.438-7.75 43.797 57.35 119.452 106.2 170.688 184.937 28.976-43.9 66.72-77.32 101.78-108.374 29.198-25.858 56.307-50.194 75.533-77.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlassShot;

impl IconShape for GlassShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.53 27.375c-48.39 0-92.187 5.807-124.655 15.53-16.234 4.863-29.648 10.643-39.688 17.75-10.04 7.11-17.5 16.403-17.5 27.75 0 1.172.097 2.312.25 3.44h-.187l1 10.25 32.875 339.592h.03c.536 9.302 7.122 16.108 15.064 21.22 8.123 5.228 18.688 9.385 31.436 12.937 25.497 7.103 59.68 11.406 97.438 11.406 37.76 0 71.92-4.304 97.437-11.406 12.76-3.55 23.357-7.718 31.5-12.938 7.934-5.085 14.494-11.798 15.158-21.03h.03l39.25-339.595.47-4.093c1.244-3.065 1.937-6.327 1.937-9.78 0-11.35-7.46-20.642-17.5-27.75-10.04-7.11-23.453-12.89-39.688-17.75-32.468-9.725-76.265-15.532-124.656-15.532zm0 18.688c46.88 0 89.348 5.775 119.314 14.75 14.983 4.487 26.83 9.84 34.25 15.093 7.42 5.254 9.594 9.582 9.594 12.5 0 2.918-2.175 7.216-9.594 12.47-7.42 5.252-19.267 10.605-34.25 15.093-29.966 8.973-72.434 14.75-119.313 14.75-46.878 0-89.314-5.777-119.28-14.75-14.983-4.49-26.83-9.842-34.25-15.095-7.42-5.253-9.625-9.55-9.625-12.47 0-2.917 2.206-7.245 9.625-12.5 7.42-5.252 19.267-10.605 34.25-15.093 29.966-8.974 72.402-14.75 119.28-14.75zM96.126 118.75c9.51 5.925 21.563 10.876 35.75 15.125 32.468 9.724 76.265 15.53 124.656 15.53 34.11 0 65.91-2.89 93.095-8l-4 76.25c-25.53-4.724-57.128-7.5-91.344-7.5-68.924 0-127.24 11.32-146.686 26.94L96.124 118.75zm319.03 1.094l-13.624 117.72c-4.28-3.6-10.63-6.96-18.686-10.033l9.187-97.186c8.758-3.123 16.52-6.593 23.126-10.5zm-16.405 141.72l-9.53 82.498c-3.96 9.04-10.745 16.984-19.658 23.813L378.72 271c8.322-2.87 15.116-6.047 20.03-9.438zm-288.78.092c21.506 14.704 78 25.22 144.31 25.22 32.79 0 63.15-2.597 88.095-6.97l-5.5 105.188c-73.98 27.105-197.158 14.24-219.094-42.625l-7.81-80.814z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Globe;

impl IconShape for Globe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322.02 20.184l-17.13 42.273c7.053 2.776 13.857 6.04 20.372 9.758l8.62-13.274 15.675 10.18-8.637 13.296c.85.628 1.692 1.266 2.53 1.91l-19.745 22.735c4.994 3.747 9.706 7.85 14.1 12.268l19.754-22.746c.187.184.38.366.567.55l11.795-10.618 12.504 13.89-11.79 10.614c4.71 5.887 9.005 12.117 12.846 18.648l14.114-7.19 8.482 16.653-14.092 7.177c3.015 6.877 5.555 14.007 7.578 21.353l15.452-3.283 3.884 18.28-15.445 3.282c1.114 7.374 1.71 14.918 1.77 22.59l15.777.827-.98 18.664-15.74-.825c-.835 7.61-2.214 15.056-4.09 22.303l14.947 4.857-5.777 17.774-14.922-4.85c-2.767 7.09-6.03 13.934-9.75 20.486l13.142 8.537-10.18 15.674-13.13-8.528c-4.493 6.108-9.418 11.877-14.725 17.273l10.46 11.617-13.89 12.506-10.437-11.594c-5.9 4.734-12.14 9.062-18.69 12.924l7.05 13.838-16.65 8.484-7.033-13.803c-6.898 3.034-14.055 5.585-21.427 7.62l3.213 15.123-18.28 3.884-3.21-15.107c-7.405 1.125-14.978 1.735-22.682 1.797l-.808 15.41-18.662-.98.807-15.368c-7.645-.834-15.127-2.208-22.405-4.092l-4.738 14.58-17.773-5.777 4.73-14.55c-7.124-2.78-13.997-6.063-20.575-9.803l-8.328 12.822-15.672-10.18 8.33-12.824c-.93-.685-1.848-1.384-2.762-2.088l19.848-22.853c-4.997-3.743-9.71-7.842-14.108-12.257l-19.848 22.853c-.156-.152-.314-.302-.47-.455l-11.356 10.226-12.504-13.89 11.347-10.216c-4.563-5.7-8.737-11.725-12.49-18.03l-38.9 23.71c9.515 15.894 21.132 30.386 34.472 43.088l-20.575 23.69 14.112 12.255 20.575-23.693c34.76 27.522 78.7 43.96 126.482 43.96 1.365 0 2.726-.023 4.084-.05v19.473c-34.134 15.356-59.115 36.682-79.753 59.906h197.54c-19.674-24.32-44.835-43.993-80.784-59.712V409.41c92.908-19.004 162.8-101.184 162.8-199.68 0-58.094-24.315-110.51-63.323-147.636l20.58-23.698-14.11-12.253-20.584 23.7c-15.464-12.24-32.75-22.278-51.376-29.66zm-75.108 82.664c-59.132 0-106.838 47.692-106.838 106.8 0 59.11 47.706 106.8 106.838 106.8 59.132 0 106.838-47.69 106.838-106.8 0-9.375-1.203-18.462-3.46-27.12-10.244 25.087-23.08 45.15-45.905 66.95-16.887-1.487-29.712-8.08-40.643-19.966 6.048-8.86 13.09-17.22 27.096-22.102-12.564-28.283-18.19-56.568-21.393-84.85 12.464 4.59 20.16 11.93 29.235 24.954 7.712 1.697 16.863-6.856 23.27-13.975-19.274-18.99-45.752-30.692-75.038-30.692zm-32.48 65.03c17.62 12.56 32.407 31.486 38.03 52.517-11.065 9.256-16.907 21.124-19.92 34.406 16.957 8.23 30.048 21.297 41.65 36.22v.007c-34.438-3.405-68.245-9.135-98.696-27.164-12.172-20.824-19.107-41.65-19.92-62.474 16.6-7.525 33.2-4.936 49.8.895 9.222-11.47 9.186-20.922 9.056-34.408z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gloop;

impl IconShape for Gloop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.72 25.25c-20.685.89-19.476 33.216 3.624 39.406 19.492 5.224 36.934-30.34 3.5-38.594-2.61-.643-4.986-.904-7.125-.812zm199.874 28.22c-.622-.01-1.237.006-1.844.03-5.825.232-10.737 1.87-13.344 4.063-37.138 31.23 31.965 87.49 23.22 132.375-10.5 53.877-53.34 33.006-80.126 3.468-95.4-105.203-3.794.134-19.156 74.313-10.45 50.462-79.218 19.385-112.03 1.75-45.73-24.58-94.984-79.11-145.72-70.845-51.317 8.36-41.142 57.17-8.125 49.344 45.008-10.67 86.46-1.112 90.56 59.81 3.26 48.403-27.546 88.857-83.655 59.095-13.368-7.09-26.66-13.795-47.594 2.313-25.808 19.858-21.48 49.347-4.968 65.937 34.994 23.726 93.02 21.262 143.875 9.813-42.93 28.815-123.516 38.457-167.437 6.5-11.355 3.064-22.198 2.79-28.313 3.812v40.625H363.72c54.36-22.173 83.55-72.752 98.624-123.688 15.573 31.363-.37 83.37-35.5 123.688h68.78V69.75c-5.867-12.236-16.7-16.158-26.03-16.28zm-145.28 17.25c-5.316-.007-11.49 2.23-18.377 7.53-30.563 23.516 2.462 68.16 30.938 47.22 17.69-13.01 10.467-54.726-12.563-54.75zM446 239.187c33.445-.51 33.692 49.848 7.47 60.78-39.907 16.635-69.676-37.073-26.595-56.03 7.28-3.204 13.652-4.667 19.125-4.75zm-111.656 71.906c41.722-.37 83.516 15.24 82.78 54.97-1.046 56.614-87.026-1-112.405 34.217-38.934 54.023-88.553 10.63-68.314-36.592 23.35-44.777 104.963-28.658 145.97-5.438-15.22-21.573-40.67-38.884-69.126-45.594 6.892-.95 13.987-1.5 21.094-1.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GlowingHands;

impl IconShape for GlowingHands {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.748 18.654l49.537 95.77c-2.842 2.11-5.612 4.31-8.322 6.578L96.35 93.346l27.603 49.515c-23.207 27.374-38.42 61.737-42.035 99.488l-53.672 15.25 53.29 15.142c2.714 38.4 17.42 73.486 40.384 101.55l-9.27 16.628-93.978 89.217v13.795h12.61l93.935-89.17 16.94-9.446c28.21 24.968 64.26 41.267 104 44.72l14.052 49.456 13.972-49.174c20.024-1.333 39.16-5.918 56.877-13.24l32.15 66.854h20.735l-36.006-74.87c11.583-6.262 22.403-13.756 32.29-22.298l44.143 24.607-24.654-44.227c24.54-28.775 40.23-65.33 42.833-105.455l49.588-14.09-49.947-14.192c-.628-6.983-1.64-13.856-3.037-20.588l54.793-20.605v-19.967l-59.577 22.404c-7.712-24.122-20.35-46.036-36.725-64.574l26.164-46.935-47.45 26.452c-4.984-4.07-10.19-7.883-15.598-11.412l61.673-89.526h-22.693l-55.18 80.1C323.59 87.98 300.23 81.204 275.492 79.38L260.21 25.597 244.84 79.678c-27.16 2.56-52.57 11.12-74.897 24.343L125.79 18.655h-21.042zm80.846 148.838l32.418 66.22c2.915 2.22 5.857 4.2 8.96 5.774l8.485-39.52 18.272 3.923-11.437 53.253c-.877 6.204-2.08 11.73-3.57 16.632l-.207.963-.088-.02c-10.842 34.21-36.004 37.086-61.21 26.79l-74.59-18.977 4.606-18.112 53.29 13.56c.475-2.618 1.07-5.195 1.798-7.718l-59.506-32.723 9.006-16.377 57.885 31.832c1.276-2.172 2.645-4.256 4.115-6.226l-46.256-45.905L140.73 187.6l46.487 46.13c2.515-1.71 5.16-3.137 7.898-4.283L168.81 175.71l16.784-8.218zm153.21 0l16.784 8.217-26.307 53.735c2.74 1.146 5.384 2.574 7.9 4.284l46.486-46.132 13.164 13.263-46.258 45.906c1.47 1.97 2.84 4.054 4.117 6.226l57.884-31.832 9.006 16.377-59.506 32.723c.727 2.523 1.323 5.1 1.797 7.717l53.288-13.56 4.61 18.114-74.584 18.976c-30.147 12.315-60.23 5.795-65.83-50.63L270.69 204l18.224-4.145 8.96 39.39c2.934-1.535 5.736-3.42 8.51-5.53l32.42-66.223z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GluttonousSmile;

impl IconShape for GluttonousSmile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.156 34.375c-27.67 0-50.25 23.22-50.25 52.53 0 29.313 22.58 52.564 50.25 52.564 27.672 0 50.25-23.252 50.25-52.564s-22.578-52.53-50.25-52.53zM421.22 47.438c-1.695-.01-3.407.078-5.126.25-6.14.61-11.648 2.435-16.75 5.093 27.534 22.946 44.814 53.08 55.594 86.282 11.516-10.587 18.16-26.445 16.406-44.062-2.72-27.316-24.72-47.412-50.125-47.563zM282.655 165.406c-.42 0-.847.015-1.28.03-11.443.446-27.712 7.003-49.313 24.408 3.852 7.27 6.62 15.613 8.53 24.687 2.33 11.068 3.43 23.334 3.282 36.19 23.447 22.623 38.49 54.107 46.063 86.343 19.412-35.968 30.116-91.95 24.28-129.813-3.462-22.468-11.877-36.76-23.75-40.656-2.272-.746-4.87-1.183-7.812-1.188zm83.875 8.53c-10.16.148-22.587 3.764-37.967 12.5 1.81 5.687 3.164 11.74 4.125 17.97 2.027 13.157 2.496 27.62 1.562 42.5 27.008 25.5 44.98 63.76 53.063 102.28 21.11-29.6 31.86-83.457 24.75-123.28-4.04-22.628-13.36-39.843-26.438-47.28-5.313-3.023-11.585-4.797-19.094-4.69zm-171.75 9.283c-10.523-.005-26.665 7.468-47.843 30.28 1.396 2.663 2.618 5.483 3.657 8.438 4.85 13.788 6.375 30.772 4.156 48.656.005.007-.005.024 0 .03 20.29 29.695 33.403 56.712 40.78 80.313 25.516-39.497 34.364-96.395 26.75-132.562-2.155-10.246-5.57-18.72-9.655-24.563-4.086-5.842-8.458-8.987-13.625-10.156-1.292-.292-2.69-.437-4.22-.437zm231.75 9.25c-1.692.008-3.404.142-5.155.374 4.212 9.048 7.168 19.17 9.063 29.78 1.913 10.714 2.828 22.07 2.78 33.626 26.028 31.95 37.214 78.36 35.907 121.125 24.203-32.054 28.19-77.965 18.28-116.438-5.933-23.04-16.852-43.023-30.03-55.062-9.472-8.653-19.55-13.467-30.844-13.406zM114.5 210.937c-7.918.4-21.825 7.95-38.78 29.625 22.127 29.55 34.963 56.85 40.843 80.406 20.408-31.727 24.01-71.195 16.406-92.814-2.2-6.255-5.194-10.882-8.282-13.594-3.09-2.71-6.038-3.834-10.188-3.625zm-69.594 37.406c-28.81.64-36.923 38.846-21.125 71.437 14.767-12.608 27.463-34.552 27.282-71.03-2.146-.317-4.2-.45-6.156-.406zm24 14.906c-2.85 30.697-14.558 52.92-29.53 67.344 10.64 27.8 23.558 43.408 33.593 49.312 5.353 3.15 9.6 3.735 13 3.094 3.398-.64 6.405-2.5 9.25-6.5 5.686-8.002 9.202-25.093 3.78-48.656-4.194-18.226-13.6-40.227-30.094-64.594zm262.563 8.25c-5.632 34.715-18.428 69.16-36.908 92.813 1.994 18.698 1.557 36.885-1.218 52.937-1.902 11-4.996 21.338-9.47 30.125 31.07 20.183 51.32 21.203 64.282 14.125 13.17-7.19 22.067-25.338 24.594-50.22 4.402-43.336-11.6-103.207-41.28-139.78zm-89.533 5.25c-4.72 34.618-18.057 70.647-40.656 98 3.4 20.416 1.988 37.567-4.093 50.594 12.106 13.154 22.842 21.475 31.657 25.937 9.418 4.77 16.263 5.222 21.72 3.626 10.91-3.192 20.378-17.73 24.374-40.844 6.888-39.846-4.113-99.3-33-137.312zm188.938 10.03c-5.11 33.988-18.502 66.466-39.813 86.533 1.413 13.79 1.527 27.27.25 39.843-1.764 17.37-6.273 33.478-14.406 46 18.41 9.376 31.363 7.765 42.188.47 12.215-8.235 22.194-26.186 27.28-49.188 8.365-37.82 3.207-87.827-15.5-123.657zm-281.78 9.408c-5.674 17.677-15.082 35.198-28.626 50.53.655 16.203-2.648 29.77-9.47 39.813 14.73 23.188 29.776 36.13 41.344 40.876 12.63 5.183 19.813 2.853 25.656-5.906 5.843-8.76 8.93-26.624 3.28-51.72-4.58-20.35-14.7-45.29-32.186-73.592z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gluttony;

impl IconShape for Gluttony {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257 18.47c-53.396 0-105.417 36.548-146.25 90.124C69.917 162.17 40.823 232.14 32.562 294.78c-7.835 59.417 30.29 108.143 86.407 143.25 56.115 35.11 129.43 54.94 184.843 54.94 55.596 0 92.91-17.248 117.562-49.47 21.724-28.396 33.66-69.565 36.188-122.313-9.7 10.265-21.406 18.867-34.47 25.688-28.145 14.696-62.67 21.5-98.78 20.125-72.224-2.75-151.406-38.52-196.688-113.656l-.156-.25-.157-.28c-4.687-9.138-10.08-22.02-10.844-35.533-.383-6.756.442-13.89 3.905-20.405 3.463-6.515 9.75-11.956 17.906-14.875 63.234-22.534 118.354-31.668 167.782-31.844 3.296-.01 6.568.027 9.813.094 41.23.845 78.467 7.92 113.22 18.47-6.096-14.093-13.064-27.765-20.75-40.75-7.927 6.703-18.15 10.75-29.283 10.75-25.014 0-45.5-20.47-45.5-45.47 0-14.39 6.782-27.255 17.313-35.594C322.4 33.214 290.277 18.47 257 18.47zm-30.47 29.218c25.014 0 45.5 20.467 45.5 45.468 0 25-20.484 45.438-45.5 45.438-25.013 0-45.5-20.437-45.5-45.438 0-25 20.488-45.47 45.5-45.47zm0 18.687c-14.923 0-26.81 11.89-26.81 26.78 0 14.893 11.888 26.75 26.81 26.75 14.925 0 26.814-11.857 26.814-26.75 0-14.89-11.888-26.78-26.813-26.78zm152.532.125c-14.924 0-26.812 11.858-26.812 26.75s11.89 26.78 26.813 26.78c14.923 0 26.78-11.888 26.78-26.78 0-14.892-11.856-26.75-26.78-26.75zm-71.437 102.094l63.063 79.22 24.406-69c-27.274-6.38-56.13-10.22-87.47-10.22zm-14.28.28c-30.34 1.115-63.008 5.835-98.783 15.22l55.282 68.062 43.5-83.28zm108.217 11.5l50.907 63.47c-3.408-17.608-8.288-35.338-14.5-52.688-11.876-4.022-23.982-7.667-36.408-10.78zM181 187.815c-10.21 2.95-20.68 6.272-31.406 10l19.062 31.717L181 187.813zm11.313 51.405l-31.407 29c12.806 15.688 27.42 28.98 43.188 39.936l-11.78-68.937zm226.468 22.374L399.44 337.03c5.223-1.993 10.246-4.236 15-6.717 17.763-9.276 31.938-21.72 41.25-37.188l-36.907-31.53zm-144.217 4.625l-54.844 51.81c23.976 13.818 49.92 22.772 75.718 27.19l-20.875-79zm77.593.56l-43.562 80.283c5.51.617 10.995 1.073 16.437 1.28 22.865.872 44.853-1.86 64.376-7.843l-37.25-73.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoldScarab;

impl IconShape for GoldScarab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.375 16.85c-23.61 23.413-25.858 60.333-6.746 86.322 3.767-5.196 8.21-9.834 13.184-13.78-11.825-18.498-9.592-43.096 6.72-59.273l-13.16-13.27zm94.705 0l-13.158 13.27c16.353 16.215 18.555 40.89 6.633 59.403 4.947 3.986 9.356 8.665 13.08 13.907 19.317-26.003 17.134-63.09-6.555-86.58zm-47.365 76.822c-26.81.002-49.127 22.936-49.127 51.996 0 .572.277 2.22.488 4.746l.045.53c13.05 5.81 29.927 9.52 47.06 9.88 17.555.37 35.25-2.72 49.56-9.28l.096-1.136c.213-2.527.488-4.144.488-4.74 0-29.156-21.795-51.994-48.605-51.996h-.005zm-125.97 12.11C89.104 131.18 59.02 176.25 59.02 257.987v9.344h76.572c2.31-6.463 5.042-12.702 8.158-18.69H77.904c2.018-70.906 26.967-105.015 64.24-126.704l-9.398-16.153zm252.18 0l-9.4 16.154c37.274 21.69 62.224 55.798 64.243 126.705h-66.082c3.115 5.988 5.848 12.227 8.16 18.69h76.808v-9.344c0-81.736-30.085-126.807-73.728-152.203zm-190.302 58.35c-22.655 11.32-35.68 27.848-35.68 44.534 0 8.485 2.916 16.418 8.948 24.04l3.665 4.632c25.47 13.425 56.948 21.68 88.804 27.752 29.126-3.376 57.303-15.203 86-28.36l3.185-4.025c6.033-7.622 8.945-15.553 8.945-24.04 0-16.67-13.054-33.065-35.728-44.358-19.17 11.306-42.908 15.686-65.975 15.2-22.74-.477-44.964-5.612-62.164-15.374zm160.445 89.173c-27.678 12.757-56.164 25.115-87.045 29.67v161.83c57.948-5.264 104.043-59.22 104.043-125.618 0-24.385-6.208-46.76-16.998-65.882zm-192.843.252c-10.702 19.068-16.858 41.352-16.858 65.63 0 66.37 46.056 120.307 103.97 125.61V282.002c-30.427-6.124-60.91-14.45-87.112-28.445zM35.568 292.09v9.344c0 55.27 14.616 114.355 47.99 159.775l15.06-11.067c-28.5-38.785-42.464-90.177-44.046-139.366h72.352c.337-6.353 1.033-12.594 2.105-18.687H35.567zm352.836 0c1.073 6.093 1.77 12.334 2.106 18.687h71.33c-1.582 49.19-15.546 100.58-44.045 139.366l15.06 11.066c33.373-45.42 47.99-104.505 47.99-159.776v-9.344h-92.44zM87.03 337.988v9.344c0 34.454 16.72 67.14 40.255 92.555 23.536 25.414 54.022 43.91 84.088 49.18l3.225-18.41c-24.705-4.328-52.526-20.71-73.602-43.47-18.76-20.257-32.003-45.286-34.703-70.51h24.904c-1.495-6.09-2.638-12.327-3.398-18.69H87.03zm302.605 0c-.76 6.362-1.904 12.6-3.4 18.688h25.144c-2.7 25.225-15.946 50.254-34.706 70.512-21.076 22.758-48.897 39.14-73.602 43.47l3.227 18.408c30.065-5.268 60.55-23.765 84.087-49.18 23.536-25.414 40.254-58.1 40.254-92.554v-9.344h-41.005z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GoldShell;

impl IconShape for GoldShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.902 21.777c-57.656 0-110.49 20.826-151.41 55.34l-.02.018C89.573 88.44 76.664 102.23 66.358 117.883c-28.625 38.948-45.555 87.01-45.555 138.994 0 60.03 22.573 114.835 59.67 156.406l-.428.428c2.47 2.472 4.99 4.866 7.545 7.2 42.715 43.82 102.358 71.065 168.31 71.065 129.73 0 235.1-105.367 235.1-235.098 0-129.73-105.37-235.1-235.1-235.1zm18.557 19.485c110.923 9.397 197.856 102.235 197.856 215.615 0 93.92-59.656 173.746-143.185 203.725 21.783-10.06 42.125-23.996 59.99-41.86 83.66-83.66 81.477-221.553-4.095-308.117-27.37-34.46-66.12-59.47-110.566-69.363zm-70.942 21.244c50.418 0 94.77 25.548 120.845 64.426-23.568-22.81-55.268-36.417-87.088-37.588-1.74-.064-3.482-.09-5.222-.08-26.108.163-51.995 8.817-73.223 27.744-37.01 33-47.4 93.67-11.256 132.697 24.97 26.964 70.172 34.654 98.377 6.775 9.363-9.253 15.098-21.745 16.107-34.748 1.01-13.002-3.07-26.867-13.68-36.925l-.002-.002c-6.717-6.365-15.495-10.193-24.725-10.723-9.23-.53-19.322 2.714-26.187 10.797-4.127 4.858-6.432 10.902-6.52 17.382-.087 6.48 2.615 13.847 8.807 18.47l.01.008.008.006c3.53 2.623 7.546 3.958 12.13 3.813 4.585-.147 10.325-2.614 13.293-7.69v-.003c1.62-2.77 2.21-5.36 1.828-8.705-.383-3.344-2.986-8.217-7.56-9.988-2.477-.96-3.87-1.053-6.464-.467-.617.14-1.33.36-2.078.7.265-.494.487-1.06.797-1.427 2.8-3.297 6.35-4.495 10.865-4.236 4.515.26 9.583 2.45 12.94 5.63 6.232 5.91 8.547 13.58 7.9 21.913-.647 8.334-4.617 16.978-10.607 22.9-19.7 19.47-52.966 13.852-71.52-6.183-28.257-30.51-19.83-79.463 9.98-106.043 43.082-38.41 110.765-25.763 147.365 17.128 16.63 19.486 26.923 44.188 29.785 69.752l.168-.02c-5.076 75.787-67.978 135.512-145.07 135.512-80.42 0-145.414-64.99-145.414-145.412 0-29.5 8.753-56.917 23.796-79.818 9.884-13.34 21.267-25.497 33.9-36.23 24.37-18.436 54.745-29.366 87.718-29.366zm223.74 162.908c13.955 63.703-3.07 131.83-51.354 180.113-74.77 74.77-197.125 74.596-276.945.438-33.938-35.717-55.775-83.033-59.03-135.432C57.754 360.206 136.866 427.8 231.775 427.8c108.034 0 195.612-87.576 195.612-195.61 0-2.27-.053-4.526-.13-6.776z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooExplosion;

impl IconShape for GooExplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.906 18.5c-14.948 0-26.875 11.925-26.875 26.875S318.96 72.25 333.907 72.25c14.947 0 26.875-11.928 26.875-26.875S348.854 18.5 333.907 18.5zm-231.937.22c29.583 37.7 52.166 72.266 66.468 100.936 8.118 16.275 13.732 30.693 16.687 43.188 2.955 12.495 3.61 23.21-.375 32.47-3.986 9.257-14.202 15.07-24.906 14.874-10.705-.196-22.65-4.38-37.22-12.157-26.083-13.923-60.59-40.088-104.686-81.155v87.22c17.217.47 33.334 1.874 48.28 4.093 6.49-6.09 15.193-9.844 24.72-9.844 16.02 0 29.742 10.606 34.468 25.125.34.135.694.267 1.03.405 29.738 12.147 50.185 28.877 55.095 50.28 2.456 10.703.282 22.157-6.093 32.283-6.374 10.125-16.616 19.196-30.687 27.437-26.885 15.746-68.287 28.618-126.813 36.906v120.97H40c30.353-48.064 58.883-82.285 83.97-105.094 25.865-23.52 47.85-35.416 66.436-37 9.794-.834 19.75 1.757 27.188 8.5 7.436 6.743 12.01 16.822 14.03 29.5 3.723 23.354-.613 56.84-15.25 104.094H246.5c-1.138-26.128 1.06-49.335 5.97-67.188 2.77-10.076 6.276-18.543 10.905-25.187 4.63-6.644 10.912-12.056 19.094-12.844 8.387-.806 15.275 3.7 21.186 9.5 5.912 5.804 11.454 13.664 17.094 23.408 10.504 18.145 21.15 43.102 31.375 72.312h37.53c-31.368-41.546-53.334-78.49-65.217-107.656-6.656-16.336-10.304-30.176-10.188-42.03.058-5.93 1.087-11.484 3.78-16.408 2.696-4.924 7.307-8.932 12.69-10.875 8.4-3.03 17.73-1.85 28.342 1.75 10.612 3.6 22.802 9.9 37.032 19.126C421.09 351.864 452.794 377.842 491 414v-94.313c-5.02-.2-9.91-.48-14.72-.78-9.716 12.95-25.184 21.374-42.53 21.374-23.575 0-43.66-15.557-50.563-36.905-3.77-1.22-7.396-2.503-10.843-3.844-30.306-11.79-49.777-29.047-51.563-51.374-1.784-22.326 14.164-43.95 43.47-64.28 28.192-19.56 70.115-38.664 126.75-56.282V18.72h-46.72c-25.482 53.29-51.333 94.012-75.124 121.968-24.602 28.91-46.417 45.424-67.47 45.75-10.524.163-20.573-5.326-26.467-14.407-5.895-9.08-8.614-21.047-9.095-36.03-.89-27.712 6.29-66.52 23.22-117.28h-34.94c2.344 37.833 1.71 68.807-1.81 91.53-1.92 12.386-4.58 22.43-8.47 30.375-3.89 7.944-9.516 14.6-17.875 16.5-8.36 1.9-16.53-1.977-23.188-8.063-6.657-6.085-12.917-14.847-19.437-26.687-12.414-22.543-25.64-56.773-39.438-103.656H101.97zm137.718 182c20.268.125 42.61 25.397 52.093 60.53 10.465 38.767 1.316 74.878-20.405 80.656-21.72 5.778-47.786-20.983-58.25-59.75-10.464-38.767-1.346-74.878 20.375-80.656 2.036-.542 4.09-.794 6.188-.78zm-148.75 16.31c-9.787 0-17.532 7.746-17.532 17.532 0 9.787 7.745 17.5 17.53 17.5 9.788 0 17.533-7.713 17.533-17.5 0-9.786-7.746-17.53-17.532-17.53zm342.812 35.626c-19.142 0-34.438 15.327-34.438 34.47 0 19.14 15.296 34.468 34.438 34.468 19.142 0 34.47-15.327 34.47-34.47 0-19.14-15.328-34.468-34.47-34.468zM40.72 269.594c-12.37 0-22.19 9.82-22.19 22.187 0 12.37 9.82 22.19 22.19 22.19 12.367 0 22.186-9.82 22.186-22.19 0-12.367-9.82-22.186-22.187-22.186zm362.655 153c-11.4 0-20.438 9.036-20.438 20.437 0 11.403 9.038 20.47 20.438 20.47 11.4 0 20.438-9.07 20.438-20.47 0-11.398-9.04-20.436-20.438-20.436z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooSkull;

impl IconShape for GooSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.313 20.313c-75.614 0-136.907 61.323-136.907 136.937 0 46.158 22.847 86.95 57.844 111.75-15.582 15.662-28.663 29.187-32.375 34.156-5.435 7.278-2.287 19.75 6.125 26.03 8.227 6.144 21.526 6.04 27.25-1.623 4.064-5.44 14.078-23.306 25.25-43.97 4.615 1.93 9.364 3.64 14.22 5.063-7.324 22.19-13.396 41.497-14.532 47.875-1.593 8.942 6.82 18.67 17.156 20.5 10.107 1.8 21.947-4.27 23.625-13.686 1.172-6.58 2.1-26.513 2.81-49.53 3.15.215 6.33.342 9.532.342 3.207 0 6.38-.127 9.532-.344.71 23.02 1.608 42.95 2.78 49.532 1.68 9.415 13.55 15.485 23.657 13.687 10.338-1.83 18.72-11.558 17.126-20.5-1.137-6.38-7.203-25.7-14.53-47.905 4.854-1.423 9.603-3.1 14.218-5.03 11.173 20.663 21.217 38.527 25.28 43.967 5.725 7.663 19.024 7.768 27.25 1.625 8.413-6.28 11.56-18.753 6.126-26.03-3.712-4.97-16.793-18.495-32.375-34.157 34.997-24.8 57.844-65.592 57.844-111.75 0-75.614-61.294-136.938-136.908-136.938zm-51.375 160.53c17.635 0 31.906 14.303 31.906 31.938 0 17.637-14.27 31.907-31.906 31.907S173 230.417 173 212.78c0-17.634 14.302-31.936 31.938-31.936zm102.78 0c17.636 0 31.907 14.303 31.907 31.938 0 17.637-14.27 31.907-31.906 31.907-17.637 0-31.94-14.27-31.94-31.906 0-17.634 14.303-31.936 31.94-31.936zm-51.624 28.876c2.947 32.89 20.875 30.354 20.875 49.405 0 9.56-10.61 17.594-20.876 17.594-10.498 0-20.47-8.108-20.47-17.19 0-18.29 18.117-16.972 20.47-49.81zM132.874 299c-37.946 14.59-57.852 15.18-73.093 12.563-8.57-1.458-17.046-3.85-25.468.28-15.173 7.446-21.568 26.105-14.124 41.282 7.443 15.177 25.89 21.1 41.062 13.656 7.588-3.723 11.408-10.67 15.344-17.436 7.84-13.49 20.302-29.372 56.28-50.344zm246.876 0c35.98 20.972 48.44 36.854 56.28 50.344 3.937 6.767 7.757 13.713 15.345 17.437 15.173 7.445 33.62 1.522 41.063-13.655 7.443-15.177 1.048-33.836-14.125-41.28-8.422-4.133-16.928-1.74-25.5-.283-15.24 2.617-35.116 2.028-73.063-12.562zm-194.72 47.875c-26.62 36.766-44.868 49.426-60.718 56.28-8.912 3.855-18.327 6.784-23.687 15.783-9.658 16.212-4.245 37.59 11.97 47.25 16.213 9.66 37.09 3.93 46.75-12.282 4.82-8.11 4.164-16.925 3.718-25.656-.886-17.405 1.086-39.823 21.968-81.375zm142.314 0c20.882 41.552 22.886 63.97 22 81.375-.447 8.73-1.103 17.547 3.72 25.656 9.66 16.213 30.503 21.942 46.717 12.28 16.215-9.66 21.628-31.036 11.97-47.248-5.36-9-14.775-11.928-23.688-15.782-15.85-6.855-34.098-19.515-60.718-56.28zm-72.5 7.344c-3.325 46.384-13.114 66.658-22.78 81.155-4.855 7.275-9.908 14.53-9.908 23.97 0 18.872 15 34.436 33.875 34.436 18.877 0 34.44-15.563 34.44-34.436 0-10.473-6.568-17.846-12.25-25.72-10.11-14-19.325-34.192-23.376-79.405z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooSpurt;

impl IconShape for GooSpurt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.22 19.97c-55.872.782-107.155 22.6-138.345 76.25 70.746-35.597 126.136-16.29 156.97 39-9.19-32.183-15.546-61.18 15.342-43.345 99.626 57.518 82.717 175.182 93.157 288.125 6.47 69.99 73.38 113.886 126.625 100.53 51.757-12.98 89.914-78.05 62.75-136.405-39.485-84.82-106.24-150.306-169.595-223.844-26.82-31.13 37.58-16.983 87.72 6.314C348.42 68.75 254.338 20.817 169.624 19.97c-1.81-.02-3.604-.027-5.406 0zm113.967 134.843c39.97 42.606 64.192 101.616 63.032 177.968-.426 27.78 12.714 60.507 31.405 77.19 29.71 26.514 65.718 27.143 92.78-4.75-20.674 36.025-59.665 68.922-112.593 35.936-23.882-14.883-41.382-51.668-40.125-83 1.71-42.56 9.185-146.958-34.5-203.344zm-77.718 13.03c-12.77.383-21.4 16.095-19.595 36.813 1.926 22.1 15.008 41.518 29.187 43.344 14.18 1.826 24.114-14.62 22.188-36.72-1.926-22.098-15.008-41.486-29.188-43.31-.886-.115-1.742-.152-2.593-.126z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooeyDaemon;

impl IconShape for GooeyDaemon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M266.78 18.313c-68.048 0-127.277 27.268-162.092 65.343C80.53 76.33 63.895 56.038 59.438 23c-25.998 37.61-19.67 83.373 17.437 106.5-2.58 7.738-4.23 15.62-4.844 23.563-2.707 35.132-8.182 136.093 9.626 136.093 19.603 0 17.328-66.96 49.625-32.72 21.764 23.074 33.943 79.104 22.782 95.19-2.73 3.935-13.435 14.822-13.437 25.718 0 11.106 9.707 23.344 23.97 23.344 13.312 0 23.936-10.442 23.936-23.344 0-12.69-12.333-21.686-14.593-25.72-8.563-18.99-6.78-51.177 18.688-52.562 29.17-1.588 42.75 83.47 25.688 108.063-4.534 6.534-23.375 26.674-23.375 46.125 0 19.87 15.246 41.47 39.718 41.47 24.948 0 39.72-24.09 39.72-41.47 0-16.96-20.186-39.434-23.938-46.125-16.237-28.945-16.605-112.295 21.75-119.28 29.234-5.328.435 102.186 30.156 102.186 35.964 0-12.588-126.686 41.344-126.686 42.254 0-8.23 87.354 22.375 90.625 42.572 4.55-6.924-90.94 24.78-90.94 17.33 0 24.814 42.414 14.688 79.25h-.03c-2.467 8.98-15.156 24.6-15.156 43.22 0 21.245 14.657 31.563 29.187 31.563 14.532 0 29.783-13.116 29.783-31.563 0-17.436-13.363-34.452-16.344-43.22-14.397-42.347 8.27-102.557 21.28-140.155 11.683-33.76 11.757-62.707 3.375-87 21.43-24.834 21.923-61.223.563-92.125-3.173 23.514-12.518 40.563-26.344 51.094-36.776-37.514-100.65-55.78-165.063-55.78zM192.907 97c26.34-.544 68.91 27.705 81.188 64.344-43.674 5.63-105.783 5.352-102.656-43.844.893-14.063 9.496-20.253 21.468-20.5zm214.625.188l23.44 37.53c.202-.092.39-.187.592-.28-10.917 32.222-62.78 31.796-100.718 26.906 11.602-34.62 50.242-61.73 76.687-64.156zm9.408 84.968L430.5 195.03l-39.625 41.814-5.094 5.375-6.405-3.75-31.25-18.314-39.97 37.47-6.25 5.843-6.374-5.72-34.31-30.78-35.908 21.905L219 252.72l-5.188-5.25-49.375-49.72 13.25-13.156 44.188 44.5 35.53-21.72 5.94-3.624 5.155 4.656 33.125 29.72 38.813-36.376 5.093-4.78 6.033 3.53 30.875 18.094 34.5-36.438zM83.688 311.312c-12.09 0-21.876 9.787-21.876 21.875 0 12.09 9.787 21.875 21.876 21.875 12.088 0 21.874-9.786 21.874-21.875 0-12.088-9.786-21.875-21.874-21.875zm218.812 96.97c-9.583 0-17.344 7.76-17.344 17.343s7.76 17.344 17.344 17.344c9.583 0 17.344-7.762 17.344-17.345 0-9.583-7.76-17.344-17.344-17.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooeyEyedSun;

impl IconShape for GooeyEyedSun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.75 22.156c-17.335.085-32.11 13.28-33.813 30.907-1.01 10.464 2.8 20.284 9.625 27.25l10.313 25.874-3.72 38.72-6.53 10.155c-18.054.746-34.962 5.93-49.656 14.5l-10.282-4.78-35.5-45.595-3.5-18.593c1.68-7.84.025-16.34-5.282-23.156-5.653-7.263-14.174-10.978-22.72-10.813-5.845.113-11.717 2.038-16.686 5.906-12.23 9.523-14.428 27.177-4.906 39.407 5.307 6.818 13.143 10.522 21.156 10.813l17.22 7.97 35.405 45.5L177 187.5c-9.233 9.476-16.74 20.644-22 33l-11.03 2.406L88.25 208l-13.938-12.625c-3.39-7.27-9.836-13.05-18.187-15.28-2.808-.752-5.616-1.05-8.375-.94-11.955.484-22.747 8.647-26 20.814-4.003 14.973 4.9 30.37 19.875 34.374 8.453 2.26 17.028.392 23.625-4.344l18.156-3.938 55.72 14.875 8.25 7.5c-.614 4.652-.907 9.4-.907 14.22 0 14.202 2.753 27.74 7.75 40.156l-6.032 8.937-38.313 21.094-35.78 1c-4.75-1.87-9.86-2.84-15-2.813-6.47.037-13 1.632-19.064 4.97-19.405 10.682-26.493 35.094-15.81 54.5 10.68 19.406 35.092 26.463 54.5 15.78 10.816-5.953 17.784-16.17 20-27.405l19.81-29.438 38.626-21.28 11.28-.313c10.212 13.403 23.482 24.33 38.783 31.75l1.75 11.47-18.376 54.655-13.406 13.03c-7.494 2.914-13.678 9-16.438 17.22-4.935 14.692 2.963 30.595 17.656 35.53 14.694 4.935 30.627-2.994 35.563-17.688 2.788-8.303 1.446-16.993-2.876-23.875l-2.78-18.28 18.342-54.688 8.53-8.283c6.162 1.09 12.502 1.657 18.97 1.657 6.773 0 13.39-.647 19.813-1.844l8.717 8.47 25.594 76.217-1.75 11.563c-3.5 5.666-4.566 12.788-2.28 19.594 4.078 12.14 17.234 18.67 29.375 14.594 12.14-4.078 18.672-17.234 14.594-29.375-2.278-6.78-7.383-11.81-13.564-14.22l-8.812-8.593-25.47-75.72 1.845-12c12.603-6.298 23.81-15 33-25.5l12.467 1.376 45.282 30.03 14.25 25.502c1.122 9.742 6.376 18.942 15.186 24.78 15.845 10.502 37.187 6.158 47.688-9.687 10.5-15.844 6.188-37.216-9.656-47.717-5.942-3.938-12.684-5.778-19.313-5.72-3.266.03-6.506.534-9.625 1.47l-26.22-2.907-47.31-31.344-6.22-11.125c6.47-13.832 10.094-29.25 10.094-45.53 0-1.99-.05-3.973-.156-5.938l10.28-8.19 56.626-11.31 18.03 5.124c6.26 5.044 14.63 7.387 23.126 5.687 15.2-3.04 25.073-17.83 22.03-33.03-2.66-13.3-14.32-22.506-27.374-22.563-1.865-.008-3.756.152-5.656.532-8.525 1.705-15.384 7.12-19.22 14.218l-14.655 11.687-56.5 11.313-12.813-3.657c-3.345-9.405-7.913-18.224-13.593-26.218l4.124-12.406 41.22-40.25 17.748-5.437c8.06.885 16.434-1.738 22.688-7.845 11.09-10.83 11.297-28.597.47-39.688-5.754-5.89-13.467-8.71-21.095-8.437-6.73.24-13.395 2.893-18.594 7.97-6.237 6.09-9.017 14.377-8.342 22.436l-5.875 17.625-41.282 40.314-12 3.656c-12.1-9.6-26.326-16.648-41.842-20.344l-4.438-11.187 3.78-39.19 14.783-22.968c8.045-5.524 13.674-14.426 14.687-24.906 1.817-18.8-11.95-35.526-30.75-37.343-1.175-.114-2.344-.162-3.5-.157zM253.53 212.22c.92-.017 1.833-.017 2.75 0 29.392.494 57.826 16.55 81.25 44.78l4.97 6-4.97 5.97c-25.895 30.954-54.887 47.158-84.06 46.81-29.175-.346-56.753-17.266-79.814-47.092l-4.47-5.813 4.564-5.72c23.272-29.172 51.33-44.46 79.78-44.936zm13.095 19.75c13.107 4.84 22.47 17.46 22.47 32.25 0 13.52-7.83 25.205-19.19 30.81 15.592-4.102 31.748-14.45 47.876-32.06-16.222-17.543-33.73-27.82-51.155-31zm-24.156.124c-16.672 3.24-33.372 13.162-49.157 31 15.107 17.754 30.93 28.328 46.843 32.25-11.698-5.48-19.78-17.354-19.78-31.125 0-14.66 9.166-27.193 22.093-32.126z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooeyImpact;

impl IconShape for GooeyImpact {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.428 20.486c-21.447 48.03-44.188 75.236-77.115 79.91-28.136 3.99-64.568-29.074-105.614-75.998 23.366 46.372 31.96 83.573 16.204 92.762-18.627 10.866-55.943-1.943-111.203-25.144v10.615c38.017 24.128 73.04 47.683 66.5 56.442-5.742 7.687-31.92 6.356-66.5 1.682v27.383c50.014 25.265 77.116 51.172 77.116 75.437 0 20.872-41.68 63.48-77.115 97.233v16.207c31.98-10.475 71.2-14.545 84.382 8.94 13.445 23.952 4.417 57.878-12.853 107.292h29.618c31.378-42.384 61.21-76.374 77.113-74.88 11.266 1.066 6.004 35.664-1.675 74.88h8.942c27.94-77.643 62.367-125.236 113.437-123.498 44.812 1.533 87.334 46.643 134.113 78.793-24.452-29.92-69.5-72.534-59.793-80.466 10.208-8.352 53.968 6.926 99.47 23.47v-14.53c-29.854-20.367-57.317-39.94-50.294-46.94 6.313-6.296 25.576-7.315 50.293-5.588v-29.058c-53.67-21.397-85.278-41.364-94.998-73.203-7.98-26.144 16.097-60.923 61.47-102.82-47.4 25.978-82.294 43.625-96.116 18.997-12.413-22.108 1.488-63.554 23.467-117.908H371.63c-17.527 27.747-32.458 48.79-38 43.588-4.828-4.536-4.882-20.853-2.792-43.588h-32.412l.002-.008zm7.265 32.06c-5.53 42.43-16.73 95.59-9.834 102.063 5.165 4.85 26.22-34.356 42.462-59.31-18.34 46.248-35.978 81.03-27.082 96.878 7.03 12.525 24.87 3.69 48.985-9.524-23.083 21.316-35.483 38.987-31.424 52.285 8.057 26.395 45.79 36.738 113.22 60.353-34.623-4.49-82.283-13.5-90.288-5.518-5.37 5.358 28.182 25.277 47.38 39.08-29.005-10.13-65.573-25.36-72.41-19.77-4.938 4.04 17.957 25.693 30.396 40.92-23.8-16.357-45.59-39.233-68.39-40-33.52-1.14-52.724 39.145-69.282 100.686 4.352-29.214 17.456-74.98 8.045-75.858-13.35-1.256-45.605 46.34-69.728 81.836 16.846-51.048 32.15-80.128 21.9-98.387-9.252-16.482-43.968-6.46-59 2.3 17.71-16.713 55.245-50.34 55.245-64.498 0-20.606-37.184-43.794-105.752-63.314 41.22 6.498 94.365 18.422 100.57 10.115 4.85-6.494-35.124-29.052-59.45-45.055 42.82 18.364 69.956 30.773 82.087 23.697 8.015-4.675 3.556-23.55-8.332-47.144 20.882 23.872 39.604 40.68 53.918 38.647 30.2-4.283 43.242-44.233 66.765-120.482z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooeyMolecule;

impl IconShape for GooeyMolecule {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.248 15.242c-6.71.062-13.772 2.19-21.44 5.856-16.522 7.9-22.95 30.435-5.84 54.898 27.473 39.282 51.255 33.15 86.434 73 7.825 8.864 13.88 34.267 5.84 42.05-10.477 10.145-33.53 10.34-74.754-16.353-25.01-16.193-22.335-44.923-43.802-58.984-13.122-8.598-36.792-8.48-44.385 5.253-7.592 13.734-1.066 39.194 13.434 48.475 19.786 12.66 37.92 2.57 64.243 19.27 65.212 41.377 71.546 91.154 9.343 147.175-26.21 23.603-48.852 11.47-75.338 30.37-16.913 12.066-16.822 33.317-9.343 43.8 7.313 10.252 23.652 23.224 41.465 10.513 27.766-19.81 29.837-46.434 57.233-67.164 15.618-11.818 35.334-7.048 45.555 5.256 12.872 15.5 6.642 70.79-22.78 134.908C172.84 448.53 203.8 404.843 230.47 384.94c29.958-22.36 55.635 18.38 71.833 56.376-4.353-44.678-14.81-87.855 25.113-73.896 8.857 3.097 20.136 11.22 30.953 19.855 38.628 30.837 26.928 63.923 56.066 94.612 15.505 16.332 44.323 20.74 56.648 8.76 12.325-11.976 12.08-35.586-4.672-51.393-27.728-26.168-66.728-37.086-92.275-64.242-49.604-52.724 55.685-50.42 119.138-44.967-85.866-25.572-130.043-45.688-140.746-70.082-6.116-13.934-.508-45.57 26.28-61.322 40.682-23.923 51.81-9.098 91.106-27.45 24.732-11.546 29.933-38.4 22.777-53.73-7-14.99-26.512-32.02-52.562-19.855-41.783 19.51-34.94 63.352-74.753 85.266-37.618 20.708-54.327-32.963-43.217-157.1-24.59 109.814-39.16 140.04-77.09 145.42-11.75 1.668-40.537-9.848-50.81-28.032-25.562-45.252-16.246-65.546-44.97-106.29-10.194-14.462-20.86-21.225-32.704-21.608v-.002c-.444-.015-.89-.02-1.338-.016zm129.318 173.996c8.76 0 17.52 3.34 24.202 10.024 4.848 4.848 7.93 10.79 9.257 17.03-3.76-.48-7.692.713-10.58 3.6-4.953 4.954-4.953 12.987 0 17.94 4.954 4.953 12.984 4.953 17.938 0 4.37-4.37 4.878-11.134 1.537-16.068 9.924-4.267 21.866-2.356 29.97 5.748 10.62 10.62 10.62 27.836 0 38.455-4.044 4.044-9.045 6.544-14.275 7.508 16.35 20.97 14.897 51.312-4.386 70.595-20.874 20.872-54.715 20.87-75.587-.002-12.096-12.095-17.166-28.544-15.243-44.302-9.945 5.362-22.618 3.848-31.017-4.55-10.253-10.254-10.253-26.877 0-37.13 10.253-10.253 26.876-10.253 37.13 0 3.61 3.612 5.945 8.015 7.012 12.65.682-.764 1.384-1.518 2.118-2.252 2.03-2.03 4.19-3.848 6.44-5.48.793 1.74 1.886 3.377 3.317 4.808 3.807 3.807 9.016 5.333 13.963 4.618-2.76 7.186-2.212 15.347 1.645 22.144-5.824-1.045-12.046.67-16.547 5.172-7.304 7.305-7.304 19.148 0 26.453 7.306 7.304 19.15 7.304 26.454 0 5.37-5.372 6.777-13.192 4.25-19.862 9.095 3.12 19.575 1.058 26.832-6.2 10.15-10.148 10.148-26.603-.002-36.753-7.753-7.753-19.183-9.577-28.674-5.485.49-4.744-1.077-9.66-4.713-13.295-6.408-6.408-16.798-6.408-23.207 0-2.47 2.47-3.976 5.53-4.543 8.727-2.683-1.5-5.208-3.388-7.49-5.67-13.365-13.365-13.365-35.035 0-48.4 6.683-6.683 15.44-10.024 24.2-10.024z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GooeySword;

impl IconShape for GooeySword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.977 20.63c78.967 153.842 60.076 197.813-140.143 27.124v71.185C48.22 134 72.317 147.707 92.607 160.23c-23.095.797-27.865 26.2 6.827 50.518 34.105 23.908 59.087 13.718 54.964-6.256 75.656 67.92-15.78 85.644-134.564 105.58v62.512c125.702-58.524 142.942-36.168 37.998 123.324h58.27c100.945-258.564 155.41-177.483 125.953 0h33.115c8.185-107.59 37.76-129.26 60.62 0h45.493c-141.196-219.314-28.308-204.87 113.828-140.215V309.8c-239.157-11.635-236.9-101.798 0-133.443V85.813c-72.386 39.545-74.392 15.146-7.327-65.182h-30.396c-141.87 206.317-167.428 173.33-114.166 0H297.82c-26.108 98.248-72.014 80.678-90.902 0h-46.94zm-21.49 55.854c-12.85-.12-17.734 15.212-.45 35.832 27.02 32.236 54.07 12.942 27.088-19.246-9.712-11.586-19.428-16.518-26.637-16.586zM293.226 90.48c2.17.067 4.405.65 6.636 1.866 17.85 9.735-.25 40.7-18.1 30.963-15.646-8.534-3.72-33.294 11.465-32.83zm-52.766 12.207c9.52 0 17.24 7.72 17.24 17.24 0 5.46-2.544 10.315-6.5 13.473l5.82 41.4 49.345-6.94 6.96 49.476-18.51 2.6-4.354-30.967-20.23 2.844c14.463 68.143 18.467 141.156 9.012 201.95-25.853-55.827-42.906-127.008-47.84-196.49l-19.964 2.808 4.355 30.97-18.506 2.602-6.96-49.478 48.19-6.776-5.93-42.144c-5.558-2.86-9.368-8.644-9.368-15.328 0-9.523 7.718-17.24 17.24-17.24zm202.01 23.862c.564.007 1.116.028 1.655.057 8.632.48 13.786 3.577 15.94 6.46 2.156 2.882 2.776 5.828-.133 11.367-2.91 5.538-10.27 12.996-23.912 19.81-13.666 6.827-25.43 9.032-34.06 8.553-8.63-.48-13.785-3.578-15.94-6.46-2.156-2.884-2.775-5.834.134-11.372 2.91-5.538 10.27-12.995 23.91-19.807 12.81-6.4 23.952-8.736 32.407-8.61zM182.167 293.11c.517.002 1.022.02 1.518.05 4.754.292 8.485 1.81 10.763 3.774 3.038 2.62 4.42 5.677 3.496 10.87-.923 5.194-4.94 12.75-14.824 21.057-19.795 16.637-35.19 14.16-40.83 8.855-2.822-2.653-4.21-6.063-3.21-11.46 1-5.395 4.96-12.846 14.28-20.775 10.906-9.276 21.052-12.416 28.806-12.37zm186.98 47.52c-25.603.182-26.42 26.004 20.002 60.106 72.344 53.145 114.972 20.073 42.516-33.146-25.997-19.098-48.157-27.064-62.52-26.96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GothicCross;

impl IconShape for GothicCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.635 19.707L235.02 57.67h45.228l-22.613-37.963zm-105.03 56.658v23.703H362.67V76.365H152.604zm41.375 42.4c18.588 20.862 30.24 45.644 38.967 72.128 4.876-1.883 10.014-3.222 15.344-3.952v-50.57h18.69v50.567c5.24.716 10.297 2.02 15.1 3.85 8.63-26.39 20.246-51.114 39.008-72.023H193.98zM78.898 150.21V360.25h23.657V150.21H78.898zm333.823 0V360.25h23.657V150.21H412.72zm-18.695 41.31c-20.847 18.572-45.605 30.22-72.064 38.945 1.89 4.88 3.24 10.02 3.974 15.357h50.498v18.69h-50.48c-.713 5.252-2.014 10.318-3.847 15.13 26.352 8.627 51.038 20.234 71.92 38.967V191.52zm-272.775.01v127.075c20.888-18.737 45.58-30.343 71.938-38.97-1.832-4.81-3.132-9.874-3.844-15.123h-50.506v-18.69h50.523c.736-5.334 2.083-10.474 3.972-15.35-26.465-8.725-51.23-20.37-72.082-38.94zm136.408 13.532c-27.628 0-50.226 22.598-50.226 50.227 0 27.627 22.598 50.224 50.226 50.224s50.225-22.597 50.225-50.225c0-27.63-22.597-50.227-50.225-50.227zm0 18.69c17.528 0 31.535 14.01 31.535 31.537 0 17.526-14.007 31.534-31.535 31.534-17.527 0-31.537-14.008-31.537-31.535 0-17.53 14.01-31.538 31.538-31.538zm-197.455 8.762l-38.03 22.654 38.03 22.652v-45.306zm394.87.004v45.298l38.023-22.648-38.024-22.65zM232.907 319.56c-8.72 26.427-20.358 51.154-38.902 71.98h127.056c-18.717-20.87-30.32-45.54-38.943-71.872-4.815 1.84-9.883 3.148-15.138 3.865v50.43h-18.687V323.53c-5.346-.732-10.498-2.078-15.387-3.97zm-80.304 90.674v23.704h210.068v-23.704H152.604zm82.4 42.4l22.63 37.993 22.634-37.994h-45.264z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Grab;

impl IconShape for Grab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M243.512 23.29c-27.105 18.337-53.533 32.92-82.274 45.337-2.843 17.364-3.948 34.497-4.05 51.584 28.913 15.41 56.096 32.85 83.33 49.634l7.045 4.344-3.432 7.482c-12.12 26.572-24.33 47.087-46.245 70.3l-5.184 5.512-6.46-3.904c-32.974-19.974-74.472-38.724-113.373-53.95l6.826-17.374c36.79 14.4 75.11 32.32 108.153 51.504 15.396-17.198 25.326-33.354 34.713-52.89-43.44-26.91-86.13-53.51-134.69-70.632-23.012 20.357-37.705 45.243-51.942 70.74 8.324 25.495 6.596 53.376-6.596 77.46 48.58-.593 97.994 2.23 150.666 10.26l5.658.837 1.787 5.44c8.85 26.46 11.79 54.41 8.325 83.588l-.987 8.432-8.466-.187c-40.508-.864-80.175-2.138-118.17.234 1.634 15.94-2.31 30.972-7.724 45.025 13.427 28.54 27.38 55.8 48.29 79.39 41.27-19.05 73.564-31.288 115.93-42.85-3.407-13.72-6.918-26.36-11.097-33.62-5.122-8.9-10.207-13.057-17.85-15.256-15.284-4.4-44.533 2.293-92.894 19.454l-6.243-17.594c48.907-17.354 79.702-26.894 104.283-19.82 9.133 2.628 16.884 8.004 23.066 15.46 14.487-7.627 28.415-16.79 42.053-26.996 12.34-45.92 37.29-81.42 66.626-112.107-7.226-13.52-13.208-27.204-20.563-40.613l-3.394-6.168 5-4.965c23.275-23.13 47.34-40.157 71.87-52.487l8.395 16.716c-20.952 10.53-41.503 25.913-61.795 45.152 12.41 23.91 22.263 45.5 39.457 64.826 37.488-27.124 74.943-51.39 116.84-74.938-13.96-30.473-31.345-58.357-56.286-79.462-32.2 13.38-62.527 17.39-92.61 12.29-14.223 13.25-30.094 22.23-48.756 23.337-29.017 1.722-60.74-15.74-99.174-57.672l6.858-6.295.017-.028.006.006 6.88-6.314c36.702 40.043 63.74 52.87 84.32 51.65 18.514-1.1 35.03-14.95 51.684-35.406-28.827-31.81-64.174-59.94-97.822-84.465zM39.324 277.884c-6.06.022-12.104.098-18.142.223 1.673 26.288 5.512 51.288 14.052 73.732 45.88-5.82 93.308-4.96 141.15-3.87 1.518-21.27-.253-41.69-6.058-61.212-45.528-6.565-88.59-9.03-131.002-8.873z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Grapes;

impl IconShape for Grapes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M277.28 18.094c2.42 33.67-.094 66.692-8.967 99.187-.552-2.168-1.15-4.308-1.813-6.436-9.355-30.034-29.53-55.765-61.313-75.313-21.642-16.548-60.26-23.695-113.437-8.343 2.25 22.26 45.452 24.822 60.156 26.844C123.012 60.4 91.11 85.214 48.53 90.25c39.324 20.744 92.66 4.396 129.064-11.688-1.873 17.715-13.69 29.033-24.53 59.594 47.832-11.062 70.85-37.418 72.155-62.562 11.173 12.212 18.763 25.81 23.436 40.812 3.505 11.25 5.34 23.392 5.594 36.344 3.873 4.97 6.9 10.635 8.813 16.78 5.315-3.01 11.198-5.134 17.437-6.155 6.107-14.92 12.983-27.09 20.53-36.156 14.88-17.87 30.967-24.548 53.5-20.19l.033-.155c32.603 22.698 24.114 60.97 12.25 89.375 21.587-6.676 33.4-19.928 33.437-42.97 17.947 11.77 25.423 31.093 30.563 52.064 7.22-21.503 5.772-44.784-12.782-64.844l43.345 16.5c-27.924-33.363-54.318-68.923-105.28-68.688-26.457-4.45-49.91 4.967-67.376 24.563 7.41-31.25 9.436-62.938 7.28-94.78h-18.72zM212.53 150.97c-19.002 0-34.218 15.184-34.218 34.186 0 6.81 1.963 13.127 5.344 18.438 3.66-.807 7.452-1.25 11.344-1.25 13.056 0 25.03 4.807 34.28 12.72 10.44-5.836 17.44-17.008 17.44-29.908 0-19.002-15.186-34.187-34.19-34.187zm-58.405 18.686c-19.003 0-34.22 15.185-34.22 34.188 0 15.977 10.75 29.295 25.47 33.125 4.004-10.795 11.44-19.943 20.97-26.126-4.267-7.615-6.72-16.384-6.72-25.688 0-5.082.74-9.997 2.094-14.656-2.44-.544-4.984-.844-7.595-.844zm134.906 11.688c-19.002 0-34.217 15.185-34.217 34.187 0 3.495.51 6.866 1.468 10.032 4.125-1.04 8.44-1.593 12.876-1.593 16.203 0 30.745 7.38 40.47 18.936 8.274-6.225 13.593-16.133 13.593-27.375 0-19-15.186-34.186-34.19-34.186zM195 221.03c-19.003 0-34.22 15.218-34.22 34.22S176 289.47 195 289.47s34.22-15.218 34.22-34.22-15.217-34.22-34.22-34.22zm147.156 7.032c-.594 0-1.195.002-1.78.032-3.13 12.737-10.908 23.675-21.407 30.937 2.01 5.575 3.092 11.566 3.092 17.814 0 4.15-.523 8.182-1.437 12.062 5.863 4.74 13.34 7.563 21.53 7.563 19.004 0 34.22-15.218 34.22-34.22s-15.216-34.188-34.22-34.188zm-73 14.594c-8.17 0-15.644 2.82-21.5 7.53.16 1.673.25 3.352.25 5.064 0 12.203-4.18 23.462-11.187 32.438 4.49 13.63 17.23 23.375 32.436 23.375 19.003 0 34.22-15.217 34.22-34.22 0-19.002-15.217-34.187-34.22-34.187zm-144.25 11.094c-19.003 0-34.187 15.216-34.187 34.22 0 11.956 6.024 22.397 15.218 28.5 4.38-20.14 20.305-36.045 40.437-40.44-2.357-5.47-3.817-11.402-4.188-17.624-5.063-2.95-10.953-4.656-17.28-4.656zm32.72 39.72c-19.004 0-34.22 15.184-34.22 34.186 0 19.003 15.217 34.22 34.22 34.22 19 0 34.186-15.217 34.186-34.22 0-7.704-2.484-14.777-6.718-20.47-10.17-1.946-19.338-6.793-26.563-13.686-.3-.008-.603-.03-.905-.03zM222 300.686c-4.825 2.887-10.135 5.02-15.78 6.25 2.737 6.375 4.28 13.366 4.28 20.72 0 10.833-3.3 20.933-8.938 29.343 6.227 6.618 15.09 10.72 24.97 10.72 19.002 0 34.218-15.218 34.218-34.22 0-1.527-.122-3.028-.313-4.5-16.79-2.815-30.95-13.604-38.437-28.313zm91.03 5.657c-7.686 11.375-19.688 19.607-33.592 22.375 5.016 12.622 17.287 21.467 31.78 21.467 19.003 0 34.22-15.185 34.22-34.187 0-.313-.024-.627-.032-.938-1.075.066-2.16.094-3.25.094-10.745 0-20.76-3.25-29.125-8.812zm-38 48.125c-4.6 10.558-12.534 19.36-22.467 25.03 3.98 14.483 17.154 25 32.968 25 19.004 0 34.19-15.185 34.19-34.188 0-.71-.022-1.425-.064-2.125-2.75.445-5.567.688-8.437.688-13.967 0-26.708-5.495-36.19-14.406zm-86.31 15.936c-5.773 4.222-12.433 7.27-19.626 8.875-.816 2.942-1.28 6.036-1.28 9.25 0 19.004 15.184 34.19 34.186 34.19 19.002 0 34.22-15.186 34.22-34.19 0-1.006-.042-2.015-.126-3-3.103.575-6.3.876-9.563.876-14.775 0-28.19-6.147-37.81-16zm-61.282.625c-2.582 4.822-4.032 10.332-4.032 16.22 0 19.002 15.217 34.188 34.22 34.188.992 0 1.966-.044 2.936-.125-7.16-9.024-11.437-20.424-11.437-32.782 0-2.914.26-5.77.72-8.56-8.234-1.228-15.854-4.355-22.407-8.94zm122.968 38.72c-1.208 2.733-2.647 5.342-4.28 7.813 10.19 8.923 16.945 21.68 17.968 35.968 17.506-.66 31.472-14.26 32.75-31.592-3.65.802-7.43 1.25-11.313 1.25-13.452 0-25.763-5.1-35.124-13.438zm-17.094 21.313c-8.777 6.49-19.612 10.343-31.312 10.343-6.638 0-12.98-1.245-18.844-3.5-3.78 5.503-6 12.167-6 19.406 0 19.003 15.185 34.22 34.188 34.22 19.002 0 34.22-15.217 34.22-34.22 0-10.61-4.755-19.998-12.25-26.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Grapple;

impl IconShape for Grapple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M337.6 24.24l-86 87.96 61.3-21.32c2.2 27.22 4.6 54.42 6.8 81.82l-18.6 1.6c-8.5 8.3-17 16.9-25.5 25.4l25.8 25.8 25.2-25.1 2.4-17.6c29.2 3.8 57.9 7.9 87.1 11.5l-19.7 44.5 94.9-68c-38.3-8-76.6-15.6-114.9-23.3l3.7-18.3 22.9 4.6 16.2-57.25-53.3 19.56 3.3 28.09-18.6 2.2-3.8-32.96c-3-23.07-6.1-46.13-9.2-69.2zm-106 103.96L183.1 211l66-42.7 24.4 7 25.6-25.5-.3-3-67.2-18.6zm117.5 76.1l-19.2 19.2 4.5 11-49.3 73.6 90.3-55.2-17-47.4zM270 220.6c-2.7 43.5-37.2 77.4-79.1 77.3-54.3 0-98.09 45.8-98.08 101.6 0 43.5-31.73 78.7-72.07 82.5v13.1h25.9c37.86-14.2 64.85-51.8 64.85-95.6 0-46.1 35.6-82.9 79.4-82.9 46.9 0 85.9-34.2 95.7-79.5-5.5-5.5-11-11-16.6-16.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GraspingClaws;

impl IconShape for GraspingClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.156 36.156c-6.48-.048-13.395 1.184-20.47 3.625-16.957 5.854-33.577 18.887-43.467 36.157 77.39 68.916 107.53 126.832 108.06 219.25 43.458-77.778 36.565-167.55-17.217-248.218-6.928-7.206-16.306-10.736-26.907-10.814zm93.78 35.375c-6.478-.047-13.393 1.185-20.467 3.626-2.493.86-4.982 1.902-7.44 3.063 14.802 31.958 23.134 65.038 24.75 97.936 32.99 45.06 46.945 91.825 47.314 154.375 43.432-77.787 36.5-167.58-17.313-248.25-6.92-7.15-16.28-10.67-26.842-10.75zm70.783 49.564c-.51-.004-1.018.02-1.533.03 19.362 45.11 25.912 92.202 19.032 137.75 18.285 35.42 26.38 73.767 26.655 121.22 43.436-77.79 36.502-167.58-17.313-248.25-6.92-7.15-16.282-10.672-26.843-10.75zM86.905 235.064c-9.708.257-19.153 2.586-27.125 6.467-14.347 6.987-22.985 17.96-22.81 30.595 8.884 44.736 21.04 77.706 40.718 100.688 16.145 18.856 37.66 31.635 68.406 39.156-39.886-58.353-46.966-90.635-41.688-175.033-4.366-1.084-8.854-1.69-13.312-1.843-1.394-.05-2.8-.068-4.188-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GreaseTrap;

impl IconShape for GreaseTrap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.535 21.3l-9.03 33.848c-10.657 39.96-25.893 69.12-38.827 93.19-12.935 24.07-24.328 43.162-24.328 64.254 0 39.893 32.407 72.474 72.185 72.474 39.778 0 72.186-32.582 72.186-72.474 0-21.092-11.393-40.174-24.325-64.238-12.933-24.065-28.167-53.222-38.83-93.206l-9.03-33.85zm-.39 68.688c-5.008 47.814-20.54 90.294-16.987 109.873 3.727 20.527 23.308 34.156 43.738 30.447 12.198-2.215 21.937-10.11 27.014-20.48.077.936.12 1.86.12 2.765 0 29.838-23.864 53.787-53.495 53.787-29.63 0-53.498-23.95-53.498-53.788 0-13.773 9.087-31.185 22.104-55.408 9.702-18.053 21.152-39.86 31.006-67.196zM56.642 251.658L20.243 354.725 200.2 418.988c-.24-8.912 1.54-18.022 5.607-26.607 7.022-14.824 19.55-25.363 33.914-30.204l-24.445-53.87-19.11 54.108-32.997-72.717-19.11 54.11-32.997-72.717-19.956 56.514-34.463-75.946zm399.79 0l-34.463 75.946-19.957-56.514-32.998 72.717-19.11-54.11-32.998 72.717-19.11-54.11-31.97 70.458c-2.28-.526-4.582-.837-6.877-.924-14.764-.56-29.253 7.772-36.25 22.543-9.33 19.696-1.384 42.648 17.475 51.665 18.86 9.017 41.51.767 50.838-18.928 1.13-2.384 2-4.815 2.635-7.263l199.183-71.13L456.43 251.66zM256.406 398.906c9.678 0 17.52 7.846 17.52 17.522 0 9.676-7.844 17.52-17.52 17.52-9.676 0-17.52-7.842-17.52-17.52s7.842-17.522 17.52-17.522z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Grenade;

impl IconShape for Grenade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.713 25.463l-4.16 15.523C147.833 33.02 69.483 164.754 40.46 273.08l11.374 57.45C105.83 169.524 184.77 82.474 254.436 83.35l136.16 36.486 14.424-53.828-151.307-40.543zm164.695 62.78l-4.836 18.05 24.246 6.498c-1.23 1.64-2.35 3.376-3.353 5.175-5.413 9.698-8.35 22.035-8.35 35.55 0 13.513 2.937 25.85 8.35 35.548s14.18 17.628 25.46 17.628c11.278 0 20.043-7.93 25.456-17.627 5.414-9.7 8.352-22.035 8.352-35.55 0-13.512-2.938-25.848-8.35-35.546-4.145-7.425-10.26-13.8-17.956-16.387l.05-.19L418.41 88.24zm-162.88 14.017c-16.805 5.265-33.33 14.11-48.827 26.033l43.484 11.652c8.062-12.484 16.437-23.367 24.978-32.424l-19.635-5.26zm40.638 10.888c-8.584 7.96-17.527 18.798-26.414 32.04l66.496 17.818c-1.075-15.91-3.4-29.77-6.855-40.953l-33.227-8.905zm163.758 5.877c2.23 0 5.697 1.883 9.14 8.05 3.44 6.166 5.98 15.744 5.98 26.44 0 10.694-2.54 20.274-5.98 26.44-3.443 6.166-6.91 8.05-9.14 8.05-2.23 0-5.7-1.884-9.14-8.05-3.442-6.166-5.98-15.746-5.98-26.44 0-10.697 2.538-20.277 5.98-26.443 3.44-6.166 6.91-8.047 9.14-8.047zm-109.528 8.655c2.87 12.113 4.678 25.725 5.418 40.568l48.528 13.004c-7.46-18.074-17.346-33.997-29.266-46.96l-24.68-6.612zm-160.75 15.392c-18.056 17.506-34.11 39.42-46.763 64.79l66.03 17.695c9.335-25.593 19.883-48.854 31.226-68.955l-50.495-13.53zm69.762 18.694c-11.404 19.538-22.43 42.79-32.164 68.703l103.178 27.643c4.528-27.308 6.605-52.958 6.498-75.58l-77.512-20.767zm96.778 25.93c-.228 23.08-2.723 48.5-7.436 75.33l71.076 19.044c1.728-28.298-1.217-55.304-8.1-79.492l-55.54-14.88zm-221.15 37.413c-4.475 10.84-8.35 22.21-11.522 34.048-2.768 10.33-4.893 20.618-6.416 30.797l68.04 18.23c2.17-10.04 4.624-20.227 7.385-30.533 3.164-11.807 6.598-23.282 10.254-34.392l-67.74-18.15zm85.93 23.023c-3.733 11.077-7.225 22.543-10.39 34.355-2.762 10.308-5.183 20.513-7.29 30.56l106.593 28.56c3.198-9.752 6.204-19.8 8.966-30.108 3.165-11.813 5.877-23.488 8.183-34.947l-106.065-28.42zm124.247 33.293c-2.39 11.45-5.15 23.103-8.315 34.91-2.76 10.305-5.73 20.357-8.87 30.137l73.085 19.582c3.77-9.577 7.072-19.547 9.84-29.877 3.173-11.84 5.5-23.623 7.043-35.25l-72.783-19.502zm-230.256 27.3c-2 25.508-.197 50.033 4.86 72.49L173.51 395.6c.822-21.46 3.467-44.693 7.943-69.057l-66.498-17.818zm84.8 22.723c-4.306 24.693-6.634 48.122-7.153 69.267l82.693 22.158c10.122-18.572 19.82-40.026 28.437-63.564l-103.976-27.86zm122.28 32.763c-8.305 23.338-17.63 44.783-27.646 63.78l58.74 15.737c15.605-16.92 29.43-37.258 40.45-60.347l-71.543-19.17zM125.65 402.125c7.774 23.043 19.257 43.167 33.743 58.918l19.636 5.262c-3.55-15.012-5.47-32.33-5.76-51.42l-47.62-12.76zm66.998 17.953c.63 20.52 3.166 38.184 7.387 51.856l33.217 8.9c10.492-9.73 21.52-23.758 32.326-41.215l-72.93-19.542zm92.31 24.733c-9.796 16.388-20.118 30.428-30.698 41.653l24.68 6.613c20.423-6.398 40.43-18.082 58.683-34.152l-52.666-14.113z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GrimReaper;

impl IconShape for GrimReaper {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.53 21.03c-62.334.34-123.514 15.678-165 39.44l-6.155 2.06c19.528 58.267 48.163 98.687 80.938 132.376l-1.72 67.47 64.5 30.437c-19 58.985-34.515 128.892-50.405 197.656h191.125c-10.308-47.13-20.516-94.494-32.157-138.72 23.774 28.113 46.51 61.63 67.063 104.313l16.842-8.094c-22.568-46.87-47.938-83.34-74.312-113.626l31.125-24.28-47.47-104.377 48.22-33.75c-18.963-35.457-37.446-71.306-72.28-92.656-32.51 19.993-52 56.712-72.22 92.5l-29.22 34.69c-28.89-25.67-54.975-53.34-76.093-90.532C192.195 60.42 315.858 47.172 419.656 72.56 373.43 35.602 309.392 20.69 246.53 21.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GroundSprout;

impl IconShape for GroundSprout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.83 19.52c-28.898.023-61.718 16.366-86.002 55.16 70.773-24.38 69.905 19.077 130.02 36.95 12.785 18.24 21.513 41.086 27.45 72.214 1.056 9.14 1.425 18.935 1.495 29.078.16 23.53-1.74 48.726-3.072 69.72v.008c-.405 6.982 2.976 17.98 9.282 29.364 2.745 4.956 6.048 9.978 9.584 14.9 2.945-59.286 1.044-113.128 11.27-161.432 7.12-19.412 16.723-35.71 28.833-49.156 67.6-14.804 59.14-58.506 140.966-33.137-32.607-39-72.186-55.092-104.357-54.516-43.914.786-74.014 32.628-53.743 79.654-11.398 13.628-20.738 29.502-27.87 47.6-5.473-19.157-12.575-35.512-21.55-49.703 14.37-51.287-19.7-86.736-62.307-86.704zm35.234 169.918l-75.488 1.767-69.416 94.99 72.125 67.22 89.992-8.677-89.04 36.268-57.38-54.893 37.702 84.155 110.41 28.816-99.382-4.197 5.566 12.425L294.17 494.85 422 423.97v-.01l-31.676-45.116-94.816 42.367 99.135-72.116 28.097 41.947 1.78-79.19-66.54-78.248-55.644-12.608-24.406 36.445 6.95 26.154-9.353 14.8c-.525 15.73-1.216 31.995-2.38 48.768l23.2 32.524-36.1 41.71 15.515 31.862-37.116-35.465 33.95-39.223-11.094-15.55-4.88-5.268c-10.016-10.814-19.717-23.594-26.968-36.682-4.9-8.843-8.81-17.798-10.6-26.716l-18.118-36.536L216.27 217.8l.554-.048-14.76-28.315z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Groundbreaker;

impl IconShape for Groundbreaker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.785 16.48L203.56 67.027l75.544 159.854L359.057 34.18 267.785 16.48zm-126.988 1.965L95.7 27.595l157.327 213.89-112.23-223.04zm-96.57 9.842L17.865 65.135l207.877 180.478L44.227 28.287zm383.63 29.95L366.324 88.56l-56.822 144.817L453.72 98.367l-25.863-40.13zm54.235 44.972l-64.012 83.163 74.236-38.38-10.224-44.784zm-452.2 45.636l-11.35 58.642 195.21 58.627L112.5 184.158l-13.242 30.9-69.365-66.212zM493 188.518l-81.836 38.34 23.11 53.92-13.274 51.67 72 8.835V188.518zM19.863 234.83l.9 39.863 104.135-1.816L19.863 234.83zm25.45 63.164L28.81 342.65l171.92-41.332-155.416-3.324zm335.36 48.334l-42.708 46.11 33.232 35.515-97.865 2.7 12.658 62.208h207.008V360.114l-112.326-13.785zM133.85 356.783L19.697 410.266v82.595h107.51l45.453-87.233-38.81-48.844zm65.158 38.686l.015.007-50.744 97.384h118.64l-15.916-78.208-51.996-19.183z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GroupedDrops;

impl IconShape for GroupedDrops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.18 23.01c50.773 35.662 91.356 76.39 126.09 114.9 15.712 7.966 31.16 15.66 46.236 23.158 70.055 34.845 132.168 65.335 176.383 101.315 11.834-7.294 21.912-16.734 28.385-27.945h.002c21.716-37.61.99-95.137-34.04-115.36C377.433 78.776 241.073 77.803 104.18 23.01zM54.69 59.322c54.132 74.474 92.96 150.218 125.718 217.496 39.944 82.037 71.7 151.4 110.4 190.104 4.584 4.582 10.223 8.635 16.647 12.115 19.253 13.242 42.552 21.006 67.63 21.006 35.297 0 67.07-15.37 88.99-39.764.15-.146.302-.288.448-.434 8.423-8.423 14.915-18.703 19.547-30.088 6.85-15.06 10.67-31.78 10.67-49.373 0-21.644-5.777-41.964-15.87-59.5l-.007-.01c-5.087-10.377-11.434-19.62-18.847-27.033-40.63-40.636-110.23-75.453-191.832-116.04-66.27-32.963-140.4-70.142-213.493-118.48zm-32.493 51.916c65.29 140.548 59.79 276.762 98.48 343.778 19.21 33.254 83.92 50.075 122.38 27.873 8-4.62 14.782-10.983 20.316-18.47-35.87-43.368-64.494-106.976-99.768-179.42-8.823-18.12-18.076-36.82-27.878-55.867-37.73-33.986-77.67-72.304-113.53-117.895zm379.1 7.5c7.485-.1 15.752 1.51 24.002 4.86-6.418.384-11.73 2.948-14.42 7.61-5.412 9.372 1.8 23.665 16.102 31.923 14.304 8.26 30.285 7.357 35.696-2.015.135-.234.255-.473.375-.713 2.4 7.59 2.116 15.02-1.44 21.178-9.05 15.676-35.78 17.185-59.705 3.37-23.924-13.813-35.983-37.72-26.933-53.395 4.807-8.328 14.606-12.66 26.322-12.817zm-28.203 155.774c8.974-.12 18.76 1.522 28.638 4.97-9.448.138-17.347 3.635-21.226 10.354-7.312 12.665 2.43 31.978 21.762 43.14 19.33 11.16 40.928 9.94 48.24-2.726 2.553-4.423 3.022-9.656 1.734-15.07 14.86 17.575 23.807 40.32 23.807 65.205 0 55.87-45.093 100.967-100.964 100.967-38.8 0-72.395-21.75-89.307-53.752 17.13 15.03 39.58 24.146 64.16 24.146 47.412 0 86.9-33.9 95.562-78.783-17.104 10.354-45.526 8.41-71.56-6.62-33.183-19.16-49.908-52.316-37.356-74.058 6.668-11.55 20.257-17.554 36.508-17.773z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct GuardedTower;

impl IconShape for GuardedTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71.604 21.99v111.12l61.156 75.814v188.654H93.408l-28.7 92.836h151.1l-6.103-92.613h.043l-1.17-119.35-18.687.185.848 86.545h-22.92c-13.43-71.44 4.462-150.097 60.967-158.86-9.133-11.458-15.006-27.38-15.006-45.02 0-34.844 22.177-62.962 49.413-62.962 1.703 0 3.466-.262 5.123 0h.002c24.873 3.23 44.29 30.293 44.29 62.96 0 18.09-6.196 34.244-15.74 45.755 51.727 9.73 76.564 84.763 61.333 158.127h-24.616l.85-86.545-18.688-.184-1.115 113.64-7.323 98.324h146.54l-28.702-92.836H385.79V208.924l61.155-75.813V21.99H382.52v52.414h-39.213V21.99h-65.123v52.414H239.67V21.99h-65.125v52.414h-38.512V21.99h-64.43zm180.652 326.62v142.245h18.69V348.61h-18.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Guillotine;

impl IconShape for Guillotine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.375 30.72v94.186l205.25-51.062V30.72h-205.25zm-45.125.06v448.47h27.78V30.78h-27.78zm266.53 0v448.47h27.783V30.78H380.78zm-16.155 61.25l-205.25 51.064v45.062l205.25-51.656V92.03zm-205.25 279.69v45.217h67.72c3.82-17.578 18.53-30.687 36.093-30.687 17.56 0 32.24 13.11 36.062 30.688h65.375v-44.22l-205.25-1zm0 62.874v43.875h205.25v-43.876h-65.25c-3.668 17.8-18.48 31.125-36.188 31.125-17.708 0-32.52-13.326-36.187-31.126h-67.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Guitar;

impl IconShape for Guitar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M491.938 18.813l-17.72 2.375-89.374 11.968-6.22.844-1.562 6.094-18.5 72.156-136.187 137.28c-2.094-4.4-4.324-8.708-6.875-12.843-7.317-11.86-18.338-22.357-34.844-25.687-6.457-1.303-12.664-1.702-18.53-1.28-17.602 1.26-32.182 9.775-41.69 22.5-10.95 14.654-15.87 34.054-15.31 54.405-36.16 4.516-66.336 31.382-80.657 64.313-15.608 35.885-11.856 80.956 24.655 111.156 43.28 35.8 88.28 31.622 119.875 11.22 28.593-18.467 47.778-48.14 50.813-74.752 18.615-2.81 38.424-9.03 56.375-17.968 20.474-10.195 38.536-23.433 48.406-40.063l7.625-12.874-14.908-1.22c-34.56-2.818-53.76-12.87-66.406-26.217l146-147.22 18.938 1.375 6.156.438 2.813-5.5 6.125-11.907 25.03 11.906L464 132.438l-24.53-11.656 7.655-14.874 25.844 12.28 8.03-16.874-25.313-12.03L464 73.155 491.03 86l8.033-16.875L472.53 56.53l11.22-21.81 8.188-15.907zm-124.532 111l13.22 13.093-200.22 201.875c-1.556-1.983-3.227-3.898-5.062-5.717-2.65-2.628-5.493-4.96-8.47-7l200.532-202.25zm-235.47 210.093c10.914-.046 21.837 4.094 30.25 12.438 16.834 16.69 16.938 43.576.25 60.406-16.685 16.83-43.573 16.94-60.405.25-16.83-16.69-16.936-43.576-.25-60.406 8.345-8.415 19.245-12.64 30.157-12.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Gunshot;

impl IconShape for Gunshot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M33.385 18.482l179.818 179.82c15.992-12.5 32.854-21.332 49.008-25.884 6.11-1.722 12.21-2.827 18.142-3.232L129.646 18.482h-96.26zM18.1 94.508v22.414l143.933 143.933c2.284-4.853 4.898-9.714 7.87-14.544L18.1 94.51zm0 48.844v21.718l133.513 133.514c.357-6.05 1.454-12.282 3.192-18.527L18.1 143.352zm267.76 44.308c-5.534-.06-11.76.824-18.58 2.746-18.187 5.125-39.366 17.645-58.06 36.338-18.693 18.693-31.214 39.874-36.34 58.06-5.124 18.187-2.865 32.154 4.983 40.003 7.848 7.848 21.816 10.107 40.002 4.982 2.79-.787 5.657-1.767 8.57-2.897-4.446 35.305 2.834 81.353 22.27 137.377 7.042-107.06 40.21-77.135 84.346 18.867-25.618-105.636 50.953-72.313 151.733 8.195-82.658-96.046-104.87-162.764 10.524-134.658-113.18-40.95-130.87-81.878-33.092-84.97-63.505-23.373-114.68-32.166-153.004-27.345 1.2-3.05 2.23-6.05 3.054-8.97 5.124-18.186 2.867-32.155-4.98-40.003-4.906-4.905-12.203-7.627-21.425-7.727zm-15.63 20.928c7.007.084 13.038 2.182 17.358 6.502 7.242 7.242 8.227 19.295 3.96 32.7-32.244 8.713-52.945 29.435-61.653 61.358-13.234 4.11-25.11 3.073-32.274-4.09-13.822-13.824-4.888-45.17 19.956-70.013 17.08-17.08 37.233-26.642 52.653-26.457z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Halberd;

impl IconShape for Halberd {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.03 28.875l-56.718 24.72 104.75 104.75c20.144 20.136 20.144 53.105 0 73.25-20.142 20.142-53.11 20.14-73.25 0l-104.437-104.44-20.688 51.782C113.004 210 131.48 257.957 135 307.375c1.212 17.01.622 34.248-2.094 50.97 149.04-19.577 267.116-137.07 285.531-283.47-17.79 3.418-36.113 4.446-54.156 3.406-49.99-2.88-98.137-21.155-129.25-49.405zm258 12.344c-16.42 13.404-35.253 22.85-55.217 28.905-16.75 160.278-146.32 289.245-309.063 307.563 0 .002-.03-.003-.03 0-5.427 19.857-14.23 38.525-27 54.625 77.81-1.162 148.893-22.316 208.5-58.688l106.655 6.563L419 273.625c46.883-64.243 73.995-144.145 74.03-232.406zm-289.405 64.124l-46.875 46.75 44.406 44.406 46.875-46.75-44.405-44.406zM90.155 218.53L19.97 288.563v88.782l93.25-93.063c-4.38-23.864-12.445-46.66-23.064-65.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HalberdShuriken;

impl IconShape for HalberdShuriken {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M491.094 26.142L252.386 90.54c31.89 10.63 59.996 24.876 84.25 43.577-9.27 42.608-46.607 74.566-91.996 74.566-52.386 0-94.903-42.517-94.903-94.903 0-25.446 9.823-48.803 26.148-65.85-35.796 10.842-69.043 30.307-97.323 58.586-28.28 28.28-48.228 62.013-59.07 97.807 17.094-16.605 40.637-26.63 66.334-26.63 26.194 0 49.64 10.905 66.818 28.082 17.176 17.177 28.083 40.625 28.083 66.82 0 52.385-42.517 94.902-94.903 94.902-25.695 0-49.24-10.025-66.335-26.632 10.842 35.802 30.303 70.008 58.586 98.29 28.283 28.284 62.49 47.747 98.29 58.588-16.604-17.093-26.63-40.638-26.63-66.335 0-52.386 42.516-94.903 94.902-94.903 26.194 0 49.64 10.907 66.82 28.084 17.178 17.175 28.083 40.624 28.083 66.818 0 25.697-10.024 49.24-26.63 66.335 35.795-10.843 69.526-30.793 97.806-59.07 28.28-28.28 47.744-61.53 58.587-97.324-17.048 16.322-40.403 26.147-65.85 26.147-52.387 0-94.904-42.517-94.904-94.903 0-45.17 31.762-82.017 74.08-91.512 18.417 24.114 33.132 51.887 44.063 83.766L491.09 26.14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HalfHeart;

impl IconShape for HalfHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M367.844 23.563c-1.25-.007-2.497 0-3.75.03-39.558 1.014-80.216 21.152-108.656 61.938-35.39-50.06-91.964-68.935-140.938-58.905C61.602 37.46 17.574 83.133 19.844 154.188c2.375 74.366 56.072 131.622 109.844 179.968 26.885 24.173 54.033 46.28 75.468 67 21.435 20.72 36.758 40.126 41.313 57.125l9.03 33.69 9-33.69c3.988-14.88 19.58-34.12 41.594-55.03 22.014-20.91 49.996-43.803 77.47-68.78 54.944-49.96 109.165-108.878 106.905-180.876-2.19-69.696-45.2-115.576-96.75-127.125-8.46-1.896-17.126-2.865-25.876-2.907zm-227.97 19.125c39.622-.274 81.748 20.09 107.532 64.75l7.75 13.437V239.75c-1.484-.18-2.968-.28-4.5-.28-20.714 0-37.53 16.784-37.53 37.5 0 20.715 16.816 37.5 37.53 37.5 1.533 0 3.016-.104 4.5-.283v117.657c-8.78-15.032-21.796-29.428-37-44.125-1.05-1.015-2.117-2.047-3.187-3.064 13.682-2.09 24.186-13.89 24.186-28.156 0-15.744-12.788-28.5-28.53-28.5-15.304 0-27.784 12.052-28.47 27.188-13.032-11.32-26.6-22.92-39.97-34.938-52.87-47.538-101.56-101.075-103.655-166.656-2.022-63.343 34.622-99.42 79.72-108.656 7.047-1.444 14.288-2.2 21.625-2.25zm40.75 41.75c-20.713 0-37.5 16.785-37.5 37.5 0 4.616.85 9.04 2.376 13.124-.136-.002-.27 0-.406 0-12.153 0-22 9.848-22 22 0 12.154 9.847 22 22 22 12.152 0 22-9.846 22-22v-.125c4.197 1.624 8.76 2.5 13.53 2.5 20.715 0 37.5-16.783 37.5-37.5 0-20.716-16.785-37.5-37.5-37.5zm26.314 83.687c-10.834.55-19.438 9.53-19.438 20.5 0 11.325 9.176 20.5 20.5 20.5s20.5-9.175 20.5-20.5-9.176-20.5-20.5-20.5c-.354 0-.713-.018-1.063 0zm-33.844 52.438c-14.362 0-26 11.636-26 26 0 14.363 11.638 26.03 26 26.03s26.03-11.67 26.03-26.03c0-14.364-11.668-26-26.03-26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HalfTornado;

impl IconShape for HalfTornado {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.156 40.938c-46.454-.08-96.45 19.73-137.47 58.812C39.464 146.653 15.052 209.82 18.627 267c9.67-40.365 31.79-80.226 65.56-112.406C162.24 80.224 272.514 74.9 330.346 142.72c5.225 6.127 9.85 12.63 13.875 19.436-46.88-21.615-109.684-9.01-157.22 36.28-38.973 37.136-58.27 87.135-55.438 132.408 7.657-31.96 25.136-63.49 51.875-88.97C239.012 188.923 315.226 180.17 363.313 218c.042.304.085.602.125.906.042-.24.085-.478.125-.72 5.293 4.19 10.24 8.958 14.782 14.283 4.636 5.437 8.65 11.236 12.094 17.343-35.916-13.992-82.265-3.594-117.72 30.187-30.336 28.904-45.357 67.82-43.156 103.063 5.96-24.877 19.56-49.45 40.375-69.282 41.144-39.2 96.825-47.264 134.375-22.624.08.544.178 1.08.25 1.625.077-.438.147-.872.22-1.31 6.167 4.108 11.846 9.102 16.874 15 5.932 6.954 10.594 14.685 14.03 22.967-28.21-13.206-66.125-5.706-94.81 21.625-23.427 22.322-35.047 52.38-33.345 79.594 4.604-19.21 15.115-38.153 31.19-53.47 37.144-35.39 89.632-37.932 117.155-5.655 4.622 5.422 8.245 11.444 10.906 17.908-21.254-8.385-48.76-2.248-69.78 17.78-17.93 17.084-26.803 40.08-25.5 60.907 3.523-14.702 11.574-29.216 23.875-40.938 28.43-27.09 68.59-29.015 89.656-4.312 6.714 7.872 10.696 17.402 12.064 27.75 3.046-17.547-.535-34.938-11.406-47.688-3.694-4.33-7.977-7.816-12.688-10.5.04-17.47-5.24-34.025-16.25-46.937-3.854-4.52-8.207-8.355-12.938-11.5.146-22.794-6.676-44.415-21.03-61.25-4.852-5.69-10.323-10.493-16.25-14.5-1.593-25.722-10.332-49.84-26.75-69.094-4.257-4.99-8.856-9.486-13.782-13.47-1.945-32.638-12.992-63.268-33.813-87.686-26.816-31.447-65.042-46.992-106.03-47.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HammerDrop;

impl IconShape for HammerDrop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.5 12.28c88.718 14.188 164.126 68.854 216.78 159.314C191.738 127.057 146.123 88.34 94.626 61.75c32.85 23.08 62.377 54.866 90.844 94.656C134.237 105.183 81.956 62.756 18.187 41.28v35.314c60.134 16.64 118.398 62.562 163.968 129.312l-.125.063 22.19 38.405 157.936-91.188-22.187-38.406-.064.032c-38.38-69.37-83.042-95.124-106.72-102.53H190.47c62.75 22.53 105.37 69.704 133.78 142.28-50.118-70.19-122.52-123.542-202.656-142.28H19.5zm153.97 40.47c52.194 21.552 97.93 66.563 110.843 121.594L173.47 52.75zM348.5 182.656l-111.97 64.656L321.25 394l111.97-64.656-84.72-146.688zm72.97 33.563l-24 13.843 19.78 34.28 24-13.874-19.78-34.25zm-168.345 97.186L83.47 411.344l19.81 34.312 169.626-97.97-19.78-34.28zM465.53 332.22l-157.936 91.186 22.22 38.47 157.936-91.188-22.22-38.47zM62.72 412.81l-35.94 20.75 28.907 50.063 35.938-20.75-28.906-50.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HammerNails;

impl IconShape for HammerNails {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M170.375 18.594c-1.155 0-2.32.014-3.47.03-25.176.37-49.134 5.08-68.78 13.94 84.13 7.937 156.965 61.77 119.28 122.53-2.017 3.254-4.033 6.445-6.03 9.625l.47.186c-.933 2.4-.566 5.203 2.343 9.53 2.908 4.33 8.322 9.22 14.75 12.97 6.427 3.752 13.838 6.392 20.28 7.22 5.992.768 10.808-.054 14-1.94 1.7-2.696 3.416-5.415 5.157-8.155 21.695-8.632 57.903 11.51 65.22 29.22 1.34-14.225 6.522-29.91 15.342-45.188 6.697-11.598 14.627-21.517 23.157-29.25-20.304 7.277-30.037-6.764-38.563-34.187-8.197-26.38-36.394-47.365-58.155-59.844-31.287-17.92-69.206-26.65-105-26.686zm239.03 121.937c-4.01-.034-9.278 1.558-15.592 5.564-9.622 6.103-20.325 17.327-28.688 31.812-8.363 14.486-12.713 29.366-13.188 40.75-.474 11.385 2.692 17.85 6.688 20.156 3.996 2.307 11.222 1.823 20.844-4.28 9.62-6.104 20.323-17.297 28.686-31.782s12.713-29.365 13.188-40.75c.474-11.385-2.693-17.88-6.688-20.188-.998-.576-2.206-.973-3.594-1.156-.52-.068-1.083-.12-1.656-.125zm-210.81 44.282C80.93 367.197 4.35 418.813 21.937 462.875c8.065 20.204 31.467 36.36 55.218 28.78 49.34-15.74 59.974-94.006 173.094-278.124-1.138-.075-2.278-.198-3.406-.343-9.516-1.22-18.924-4.76-27.313-9.656-8.387-4.895-15.804-11.11-20.874-18.655-.016-.024-.046-.04-.062-.063zM492 256.97l-110.438 22.436 51.313 15.53 31.47 148.94 18.31-3.845-31.467-148.81L492 256.97zm-200.125 15.874l-80 79.375 51.438-15.19 68.093 67.564L308.28 489.5l18.064 4.906 20.312-74.656 24.72 24.5L384.53 431l-32.217-31.97 14-51.5 52.125-12.56-108.97-28.75 38.75 36.56-11.187 41.095-60.467-60 15.312-51.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hand;

impl IconShape for Hand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M309.752 35.514c-3.784.046-7.807.454-12.004 1.082-27.198 61.067-49.85 122.007-65.45 182.775-9.293-4.313-18.634-8.57-27.962-12.845-3.95-53.137 1.876-103.13 5.33-153.757-6.696-5.06-17.54-8.82-28.596-8.98-11.573-.166-22.304 3.33-28.537 9.513-5.44 70.22-5.258 147.354 1.133 217.475 21.926 29.733 45.877 59.903 52.305 103.64l-18.49 2.716c-4.24-28.837-17.583-51.34-33.238-73.51l-7.582-10.55c-5.01-6.862-10.134-13.79-15.185-20.945-21.397-28.51-44.094-51.49-62.155-59.22-9.81-4.196-17.273-4.385-24.632-.442-6.486 3.474-13.52 11.49-20.043 25.387 53.41 51.674 70.576 104.044 82.718 138.664 5.79 16.507 11.08 31.523 21.274 47.025 15.614 23.746 49.446 42.91 84.066 49.51 34.62 6.598 68.69.712 86.87-19.833 14.36-16.227 41.232-41.87 56.195-57.787 24.524-26.085 59.485-54.964 88.597-77.248 14.556-11.142 27.62-20.598 37.197-27.178 4.79-3.29 8.68-5.848 11.612-7.625.197-.12.34-.182.527-.294 1.31-9.873-.448-20.663-4.804-29.375-4.358-8.718-10.787-14.658-17.763-17.015-35.707 21.283-70.62 44.438-103.877 75.438-5.745-7.274-11.933-14.06-18.5-20.424 30.747-58.815 69.992-107.75 114.28-150.41-1.56-9.55-7.76-19.814-16.114-27.32-8.4-7.55-18.526-11.7-25.852-11.623-45.615 46.382-85.864 96.907-117.5 154.463-6.918-4.36-14.023-8.513-21.27-12.51 18.893-64.715 42.99-126.426 73.5-184.392-12.757-15.245-25.477-23.335-42.347-24.324-1.205-.07-2.44-.096-3.7-.08z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Handcuffs;

impl IconShape for Handcuffs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.406 20.03c-1.046-.002-2.094.05-3.156.157-4.238.433-8.576 1.774-12.656 4.125-.008.005-.023-.004-.03 0l-29.783 17.22c-7.858 4.534-12.662 12.15-13.874 19.78-1.212 7.63.62 15.126 4.22 21.47.11.197.227.397.343.593l-11.72 40.22c-1.79 1.224-3.467 2.613-5 4.124-5.196 5.117-9.01 11.83-9.844 19.56-.835 7.732 1.923 16.39 8.406 22.876L98.626 194.5c6.633 6.63 15.296 9.602 23.188 9.03 4.63-.333 8.935-1.755 12.78-3.905l7.095 6.688c-2.305 2.97-4.1 6.49-5.157 10.437l-1.624 6.03 18.063 4.845 1.624-6.063c1.06-3.953 2.712-5.37 5.125-6.437 1.205-.533 2.67-.867 4.28-.938 1.61-.07 3.366.126 5.063.594 3.393.938 6.375 2.963 7.968 5.157 1.594 2.195 2.284 4.266 1.282 8l-1.625 6.032 18.063 4.843 1.625-6.032c2.35-8.762.32-17.56-4.22-23.81-4.537-6.253-11.093-10.28-18.124-12.22-3.514-.97-7.204-1.417-10.905-1.25-1.67.075-3.34.28-5 .625l-10.344-9.75c2.06-3.75 3.42-7.944 3.75-12.438.586-7.917-2.42-16.574-9.093-23.25l-24.343-24.312c-4.677-4.68-10.516-7.357-16.313-8.156l6.157-21.095c.177.072.353.15.532.22 7.25 2.806 16.336 2.394 24.28-2.19l29.813-17.186c6.104-3.528 10.526-8.694 12.968-14.345l21.095 5.938c-.88 3.745-1.122 7.688-.5 11.687 1.194 7.683 6.06 15.35 14 19.938l29.813 17.218c3.8 2.195 7.813 3.47 11.78 3.97L255 140.78c-2.735 1.553-5.224 3.477-7.438 5.657-5.195 5.12-8.977 11.833-9.812 19.563-.835 7.73 1.89 16.39 8.375 22.875l4.22 4.22 13.218-13.22-4.22-4.22c-2.893-2.893-3.314-5.032-3.03-7.655.283-2.623 1.867-5.78 4.375-8.25 2.507-2.47 5.77-4.06 8.468-4.344.337-.035.68-.052 1-.062 2.252-.07 4.17.544 6.563 2.937v.032l4.217 4.188 13.188-13.188-4.188-4.218c-4.76-4.763-10.75-7.442-16.656-8.188l-3.25-18.28c4.92-2.895 8.87-7.066 11.658-11.845 3.74-6.412 5.516-14.137 4.03-21.936-1.484-7.8-6.637-15.374-14.812-20.094l-29.78-17.188c-3.93-2.27-8.145-3.506-12.282-3.812-4.137-.306-8.206.305-11.813 1.688-4.304 1.65-8.01 4.21-11.093 7.343l-29.093-8.186c-.762-3.026-1.937-5.915-3.47-8.594-3.684-6.445-9.47-11.856-16.968-14.47-2.81-.98-5.862-1.488-9-1.5zm-.187 18.564c1.063.03 2.05.252 3.03.593 2.614.912 5.225 3.153 6.906 6.094 1.682 2.942 2.312 6.365 1.78 9.126-.528 2.756-1.805 5.11-5.717 7.375-.01.006-.024-.004-.032 0l-29.782 17.19c-3.545 2.044-5.726 1.89-8.187.936-.648-.25-1.318-.603-1.97-1.03l.094-.345-.906-.25c-1.53-1.183-2.977-2.804-4.063-4.718-1.737-3.06-2.425-6.634-2-9.312.425-2.678 1.4-4.598 4.75-6.53v-.032l29.78-17.188h.032c2.02-1.166 3.688-1.72 5.188-1.875.375-.038.74-.04 1.094-.03zM226.5 62.22c.31-.02.618-.024.938 0 1.276.09 2.637.53 4.312 1.5v.03l29.813 17.188c4.04 2.332 5.294 4.686 5.812 7.406.518 2.72-.138 6.105-1.844 9.03-1.705 2.927-4.343 5.174-7 6.095-2.654.92-5.316 1.02-9.25-1.25L219.47 85c-3.544-2.048-4.47-3.985-4.876-6.594-.406-2.608.28-6.09 2.062-9.125 1.783-3.034 4.532-5.435 7.063-6.405.948-.364 1.85-.598 2.78-.656zM98.344 136.624c2.246-.065 4.14.575 6.53 2.97l24.345 24.31c3.296 3.3 3.89 5.896 3.686 8.657-.204 2.762-1.688 5.865-4.094 8.25-2.405 2.386-5.54 3.892-8.343 4.094-2.805.203-5.415-.415-8.626-3.625L87.53 156.97c-2.89-2.895-3.313-5.065-3.03-7.69.283-2.622 1.867-5.778 4.375-8.25 2.508-2.47 5.773-4.06 8.47-4.343.336-.035.678-.053 1-.062zM320 149.875l-62.094 62.094 48.844 48.843 26.938-26.938.343.344c.976-1.104 1.977-2.196 3.033-3.25 27.69-27.693 72.59-27.693 100.28 0 27.205 27.203 27.684 71.022 1.438 98.81-.004.014-.025.02-.03.033-1.03 2.514-1.372 4.965-1.28 7.343.18 4.757 2.415 9.505 5.936 13.063 3.52 3.556 8.17 5.75 12.875 5.936 3.614.144 7.41-.73 11.47-3.625 37.58-42.338 36.114-107.29-4.438-147.842-29.2-29.2-71.177-37.894-108.062-26.563l-5.375 1.656-3.97-3.968L320 149.875zm-11.75 40.688l18.313 18.312-13.22 13.22-18.312-18.314 13.22-13.218zm-186.53 48l-17.876 66.78 36.78 9.844-.124.47c1.445.292 2.9.612 4.344 1 37.828 10.135 60.26 49.015 50.125 86.843-9.962 37.175-47.675 59.485-84.876 50.625-2.695.375-4.986 1.326-7 2.594-4.03 2.533-7.024 6.796-8.344 11.624-1.32 4.828-.908 9.988 1.28 14.156 1.686 3.206 4.35 6.085 8.907 8.156 55.445 11.366 110.96-22.407 125.813-77.78.003-.01-.003-.022 0-.032 10.673-39.878-2.783-80.572-31.03-106.844l-4.126-3.844 1.437-5.437 9.5-35.44-84.81-22.717zm159.655 23.28c-6.083 33.48 3.736 69.08 29.72 95.063 36.204 36.205 91.507 41.554 133.06 15.625-5.342-2.01-10.13-5.214-14.06-9.186-5.135-5.186-8.89-11.79-10.47-19.156-26.67 13.713-60.22 9.406-82.563-12.938-14.735-14.735-21.633-34.33-20.687-53.625l-3 3-6.625 6.625-6.594-6.625-18.78-18.78zm-131.656 4.094l18.06 4.844-6.686 25.033-18.063-4.844 6.69-25.033zm-59.47 17.938c-32.02 11.48-57.93 37.8-67.438 73.28-13.252 49.46 9.77 100.012 53 123.033-.936-5.626-.568-11.36.907-16.75 1.923-7.036 5.783-13.63 11.374-18.688C62.872 428.512 49.82 397.34 58 366.812c5.395-20.134 18.935-35.924 36.125-44.75L90 320.97l-9.03-2.44 2.405-9.03 6.875-25.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HangingSpider;

impl IconShape for HangingSpider {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.625 14.656v141.53c-27.713 6.03-48.875 38.405-48.875 77.47 0 15.552 3.366 30.034 9.156 42.22-3.25-3.28-6.404-6.91-9.406-10.97-33.54-45.34-33.54-121.904 0-167.25l-15-11.125c-39.288 53.12-39.292 136.387 0 189.5 2.543 3.44 5.202 6.67 7.97 9.69-55.29-22.365-93.407-72.152-93.407-129.408H77.374c0 61.73 38.437 115.01 94.438 141.938-21.208 7.248-40.477 17.198-57 29.344-36.29 26.675-59.594 64.432-59.594 106.5h18.686c0-35.19 19.332-67.448 51.97-91.438 16.31-11.99 35.903-21.796 57.75-28.594-2.178 2.024-4.292 4.167-6.345 6.407-42.477 46.365-42.477 120.787 0 167.155L191.063 475c-32.263-35.218-35.342-90.954-9.25-130.094 4.213 13.518 16.883 23.438 31.72 23.438 3.25 0 6.396-.49 9.374-1.375.453 1.81 1.043 3.564 1.78 5.25-4.572 6.227-7.28 13.926-7.28 22.25 0 14.788 8.532 27.58 20.938 33.717-.826-4.1-1.28-8.56-1.28-13.25 0-19.7 8.013-35.687 17.905-35.687 9.89 0 17.905 15.987 17.905 35.688 0 4.69-.456 9.15-1.28 13.25 12.404-6.14 20.936-18.93 20.936-33.72 0-8.215-2.657-15.814-7.124-22 .776-1.73 1.402-3.54 1.875-5.406 2.88.824 5.904 1.282 9.033 1.282 14.87 0 27.566-9.965 31.75-23.53 26.16 39.143 23.102 94.94-9.188 130.186l13.78 12.625c42.48-46.368 42.48-120.79 0-167.156-2.05-2.24-4.166-4.384-6.342-6.408 21.845 6.798 41.438 16.604 57.75 28.594 32.637 23.99 51.968 56.25 51.968 91.438h18.69c0-42.068-23.305-79.825-59.595-106.5-16.524-12.146-35.792-22.096-57-29.344 56-26.93 94.438-80.208 94.438-141.938h-18.688c0 57.256-38.118 107.043-93.406 129.407 2.765-3.02 5.424-6.25 7.967-9.69 39.292-53.11 39.292-136.38 0-189.5l-15 11.126c33.542 45.345 33.54 121.913 0 167.25-2.987 4.04-6.14 7.64-9.375 10.906 5.77-12.18 9.125-26.627 9.125-42.156 0-39.065-21.162-71.44-48.875-77.47V14.657h-18.687zm9.47 281.5c8.137 0 14.53 6.398 14.53 14.53 0 8.135-6.393 14.533-14.53 14.533-8.14 0-14.5-6.398-14.5-14.533 0-8.133 6.366-14.53 14.5-14.53zm-41.564 24.438c8.14 0 14.532 6.398 14.532 14.53 0 8.134-6.393 14.532-14.53 14.532-8.14 0-14.532-6.396-14.532-14.53s6.398-14.532 14.53-14.532zm82.782 0c8.138 0 14.532 6.398 14.532 14.53 0 8.134-6.394 14.532-14.53 14.532-8.14 0-14.533-6.396-14.533-14.53s6.4-14.532 14.533-14.532zm-41.218 23.875c8.138 0 14.53 6.397 14.53 14.53s-6.392 14.53-14.53 14.53c-8.138 0-14.5-6.395-14.5-14.53 0-8.133 6.367-14.53 14.5-14.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HappySkull;

impl IconShape for HappySkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.924 26.24l-27.717 43.752 27.717 93.643L286.64 69.99l-27.716-43.75zm-134.69 36.1l-2.13 51.748 70.828 67.24-22.82-94.955-45.878-24.033zm267.284 0l-45.883 24.033-22.817 94.955 70.827-67.24-2.127-51.748zM75.234 166.02l-51.75 2.126 24.032 45.88 94.957 22.82-67.24-70.826zm365.282 0l-67.24 70.826 94.958-22.82 24.032-45.88-51.75-2.126zM257.68 184.906c-44.552 0-73.683 19.55-93.12 48.89-18.467 27.874-27.254 65.027-28.097 101.13 26.087 13.015 41.985 26.69 49.12 41.693 6.084 12.788 4.095 26.367-2.94 37.03 5.2 4.41 11.51 8.304 18.59 11.582l8.21-18.51 17.086 7.573-7.7 17.363c8.863 2.48 18.362 4.098 28.06 4.756v-21.13h18.686v21.18c9.763-.62 19.366-2.233 28.4-4.84l-7.18-18.013 17.358-6.92 7.287 18.277c6.542-3.192 12.524-7.025 17.728-11.488-3.267-4.238-5.804-8.768-7.098-13.78-2.07-8.03-.64-16.824 3.782-24.55 8.258-14.428 25.677-26.786 53.043-40.146-.854-34.222-9.458-71.365-27.842-99.715-19.39-29.902-48.53-50.384-93.373-50.384zm-83.043 94.502h.002c37.05 3.798 58.884 24.694 63.356 49.32-27.388-17.367-49.047-14.653-65.633 2.395-18.615-15.848-12.507-33.47 2.274-51.715zm169.384 0h.003c14.78 18.244 20.888 35.867 2.272 51.715-16.586-17.048-38.245-19.762-65.633-2.396 4.472-24.625 26.308-45.52 63.36-49.32zm-89.07 59.703c9.183 16.556 16.467 33.107 20.083 49.66-9.877 7.357-27.558 8.426-40.166 0 4.887-16.553 10.766-33.104 20.084-49.66zm-77.315 94.42l-17.99 29.09c42.795 39.326 137.24 44.524 191.84-.485l-17.56-28.535c-4.854 3.413-10.036 6.395-15.466 8.968l6.208 15.577-17.36 6.92-6.312-15.83c-11.373 3.404-23.373 5.337-35.42 5.972v20.828H246.89v-20.88c-12.305-.692-24.432-2.694-35.802-6.038l-7.217 16.276-17.085-7.575 6.754-15.23c-5.655-2.614-10.99-5.628-15.905-9.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HarpoonChain;

impl IconShape for HarpoonChain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.094 18.156V31.75l6.78 6.813c-2.67 4.788-4.186 10.295-4.186 16.124C20.688 72.98 35.706 88 54 88c5.832 0 11.34-1.515 16.125-4.188l14.25 14.25c-2.672 4.786-4.188 10.294-4.188 16.126 0 18.293 15.02 33.312 33.313 33.312 5.83 0 11.336-1.517 16.125-4.188l13.78 13.75c-2.67 4.786-4.186 10.294-4.186 16.125 0 18.294 15.017 33.344 33.31 33.344 5.834 0 11.34-1.54 16.126-4.218l14.75 14.782c-2.67 4.79-4.187 10.295-4.187 16.125 0 18.292 15.017 33.31 33.31 33.31 5.83 0 11.337-1.516 16.126-4.186l14.906 14.906c-16.72 11.7-38.614 12.733-56.28 3.156 34.39 49.475 187.846 52.137 28.687 137.094l259.5 78.813-78.845-259.47c-84.275 157.888-87.562 8.106-135.906-27.874 8.852 17.46 7.534 38.734-3.94 55.06l-14.967-14.967c2.58-4.72 4.062-10.128 4.062-15.844 0-18.294-15.05-33.345-33.344-33.345-5.716 0-11.124 1.483-15.843 4.063l-14.875-14.907c2.575-4.722 4.032-10.126 4.032-15.843 0-18.293-15.02-33.312-33.313-33.312-5.716 0-11.124 1.456-15.843 4.03l-13.906-13.874c2.58-4.718 4.064-10.126 4.064-15.843 0-18.293-15.05-33.312-33.344-33.312-5.717 0-11.125 1.456-15.844 4.03L83.28 70.532c2.576-4.718 4.032-10.126 4.032-15.843 0-18.293-15.018-33.343-33.312-33.343-5.717 0-11.125 1.483-15.844 4.062l-7.25-7.25H18.094zM54 40.03c8.194 0 14.625 6.464 14.625 14.657 0 8.194-6.432 14.626-14.625 14.626-8.194 0-14.625-6.432-14.625-14.626 0-8.193 6.43-14.656 14.625-14.656zm59.5 59.532c8.194 0 14.656 6.432 14.656 14.626 0 8.193-6.463 14.624-14.656 14.624-8.194 0-14.625-6.43-14.625-14.625 0-8.193 6.43-14.624 14.625-14.624zm59.03 59c8.196 0 14.626 6.432 14.626 14.625 0 8.194-6.432 14.657-14.625 14.657s-14.624-6.463-14.624-14.656c0-8.194 6.43-14.625 14.625-14.625zm60 60c8.196 0 14.657 6.463 14.657 14.657 0 8.192-6.463 14.624-14.656 14.624-8.193 0-14.624-6.432-14.624-14.625 0-8.195 6.43-14.657 14.625-14.657zm174.22 80.657l37.344 122.686-95.03-95.03c29.376 7.006 50.25-4.847 57.686-27.657zm-81 50.78l95.313 95.313-122.938-37.47c22.854-7.453 34.712-28.386 27.625-57.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HarpoonTrident;

impl IconShape for HarpoonTrident {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M15.156 20.188v31.53l184.25 184.25c-41.923 39.194-88.97 72.054-140.78 98.97 36.513 36.514 75.78 66.42 115.06 88.937l-12.78 18.188c30.91 17.08 63.24 26.78 94.47 29.062l-6.75 18.438c45.523 11.287 89.863 6.127 124.093-13.407-62.906-12.69-145.827-62.325-221.283-137.78L218 271.812l51 38.875-15.53 15.53 78.655 41.282-11.875 11.875 110.438 57.97c.036-.038.088-.058.125-.095.036-.037.057-.088.093-.125l-57.97-110.438-12.436 12.438-41.313-78.656-14.937 14.936-38.844-50.97 66.563-66.56c75.934 75.934 125.71 159.42 138 222.468 21.26-34.686 27.21-80.535 15.53-127.656l-18.344 6.687c-2.28-31.238-11.977-63.578-29.062-94.5l-20.97 14.75c-22.483-39.11-52.267-78.206-88.624-114.563-27.512 52.326-60.066 98.53-97.344 138.938L47.876 20.187h-32.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Harpy;

impl IconShape for Harpy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M70.25 25.156c-9.534.026-19.4.69-29.594 2.063 37.04 18.14 77.455 39.872 103.656 77.093-42.086-18.35-90.85-15.685-124.187 6.812 38.56 4.19 82.368 10.888 113 45.313C89.588 159.524 49.492 182.046 29.78 215c37.55-12.856 81.306-25.936 124.626-5.844-34.405 19.978-56.927 56.212-57.47 90.97 23.575-27.027 44.39-42.424 87.94-51.188-13.29 32.114-14.62 66.87 1.343 95.53 4.972-25.352 11.62-53.844 32.78-74.218 15.704 34.76 17.93 62.692 9.906 93.406-.007.043-.024.083-.03.125-.998 6.035-2.967 11.853-5.69 17.345-.012.03-.016.063-.03.094-.126.252-.246.497-.375.75-10.12 21.077-38.94 45.172-62.686 37.342-30.43-10.034-10.885-61.85 34.5-30.78 5.253-5.17 9.495-11.027 12.344-17.063-38.38-32.647-85.48-12.166-91.125 18-14.53 77.672 99.637 84.122 143.656-5.94 19.15-39.18 27.615-72.167 29.53-112.686 20.68 20.33 27.264 48.52 32.188 73.625 15.963-28.662 14.6-63.418 1.312-95.533 43.55 8.765 64.364 24.162 87.938 51.188-.542-34.757-23.064-70.99-57.47-90.97 43.32-20.09 87.077-7.01 124.626 5.845-19.71-32.954-59.807-55.475-103.344-58.563 30.632-34.424 74.44-41.122 113-45.312-33.337-22.497-82.1-25.16-124.188-6.813C389.264 67.093 429.68 45.36 466.72 27.22c-10.196-1.375-20.06-2.038-29.595-2.064-66.735-.178-117.07 30.86-148.438 67.47-26.07 30.428-19.924 66.023 3.157 71.968C323.5 172.43 323.967 203.41 296.97 232c-.007.012-.027.02-.033.03-7.724 17.173-23.107 29.345-41.718 29.345-16.34 0-30.196-9.374-38.564-23.28-33.125-30.134-35.02-65.104-1.094-73.5 23.08-5.946 29.196-41.54 3.125-71.97-31.367-36.608-81.702-67.647-148.437-67.47zM255.22 170.75c-14.788 0-28.407 15.146-28.407 35.97 0 20.82 13.62 35.968 28.406 35.968 14.785 0 28.405-15.147 28.405-35.97 0-20.822-13.62-35.968-28.406-35.968zM368.5 339c-3.884.01-7.718.44-11.438 1.28l38.188 28.595c-18.614.916-38.706 9.088-55.438 25.03 26.763-6.42 67.554-9.593 85.97 23.25 1.065 3.78 1.57 7.564 1.624 11.283.19 13.188-5.824 26.105-14.344 34.625-11.354 11.355-34.622 13.454-63.468 4.656-28.268-8.623-60.507-27.193-87.875-52.314-3.757 4.937-7.836 9.736-12.126 14.25 29.224 26.708 63.134 46.362 94.53 55.938 32.224 9.828 63.248 9.598 82.157-9.313 11.968-11.965 20.086-29.24 19.814-48.092-.045-3.06-.343-6.15-.875-9.25.672-45.095-40.392-80.024-76.72-79.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HarryPotterSkull;

impl IconShape for HarryPotterSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.16 15.822c-74.685 0-124.825 36.292-157.865 90.487C66.36 158.692 51.637 228.053 50.68 294.954c44.44 12.795 73.834 28.683 90.46 50.123 15.804 20.383 18.445 45.188 12.157 71.963 23.635 7.218 62.826 11.32 100.986 10.905 38.28-.416 76.213-5.67 96.373-13.44-4.608-25.936-.182-50.215 16.983-70.07 17.928-20.738 48.197-36.53 93.4-49.488-.972-63.406-15.24-132.688-46.868-185.92-20.367-34.277-47.386-61.936-82.97-77.972-62.555 14.347-113.232 44.996-143.62 84.12 25.38 8.96 46.088 21.593 65.35 34.583l10.742 7.244-10.266 7.906c-26.884 20.705-46.28 43.707-65.26 67.48 28.468 22.27 47.56 52.2 29.02 65.186-33.572 23.518-170.713 1.396-119.002-78.754 6.006-9.31 15.307-13.314 26.2-13.496 14.635-.244 32.144 6.414 48.4 16.37 17.11-21.452 35.198-43.144 59.1-63.32-18.538-11.88-37.98-22.425-61.975-29.265l-12.29-3.503 7.066-10.65c28.184-42.48 75.737-75.727 134.613-94.523-13.362-3.012-27.71-4.612-43.118-4.612h-.002zm126.594 189.502c10.892.182 20.19 4.187 26.197 13.496 51.712 80.15-85.427 102.272-119 78.754-31.496-22.06 45.603-93.04 92.804-92.25zM252.2 309.057c13.922 0 38.53 68.05 30.277 79.51-6.48 8.996-54.935 8.617-60.555 0-7.197-11.034 16.31-79.51 30.277-79.51zM354.71 433.13c-10.557 3.91-23.223 6.832-37.17 8.952l5.94 48.89h53.416l-22.185-57.84zm-207.888 1.57l-18.5 56.273h47.092l5.914-48.684c-12.764-1.877-24.484-4.38-34.506-7.59zm152.17 9.667c-13.13 1.28-26.996 1.98-41.078 2.21v44.396h46.74l-5.662-46.606zm-99.107.14l-5.647 46.466h44.99V446.6c-13.444-.204-26.714-.894-39.343-2.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hatchets;

impl IconShape for Hatchets {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M210.344 37.688C143.984 44.13 79.87 60.181 25.406 82.28c34.89 96.964 53.863 196.424 58.625 298.283 11.597-16.34 22.7-32.904 33.282-49.75-11.147-47.785-18.01-95.617-22.75-147.282-.032-.205-.03-.387-.062-.593-2.006-13.367.3-24.896 5.938-33.406 5.722-8.64 14.723-13.84 24.093-14.874 16.566-1.828 33.768 9.877 39 30.625 11.84-.146 24.04.525 36.72 2.25 10.272-25.918 19.5-52.398 27.625-79.468-4.062-17.09-9.867-33.89-17.53-50.374zm33.062 63.25C211.936 202.874 165.2 296.67 104.812 383.406c20.268-6.85 40.233-14.247 59.907-22.25 20.403-47.25 44.55-91.493 73.093-137.687.103-.197.24-.34.343-.532 6.43-11.87 15.17-19.72 24.78-23.125 9.77-3.462 20.08-2.185 28.19 2.625 14.333 8.503 21.04 28.18 12.75 47.906 9.522 6.987 18.858 14.834 27.937 23.812 20.263-13.157 40.12-27.132 59.593-41.937l7.094-5.407 2.28 2.718c7.482-16.733 13.267-34.34 17.22-52.905-56.9-34.774-117.79-60.575-174.594-75.688zm152 151.593c-98.643 73.604-207.298 126.464-325 161.376 2.707 25.087 9.24 40.237 30.03 54.406 70.145-52.36 138.253-87.52 218.283-120.125.19-.078.37-.17.56-.25v.032c12.2-5.808 23.878-7.014 33.658-4.095 9.93 2.964 17.533 10.085 21.25 18.75 6.57 15.317.383 35.172-17.938 46.22 6.7 21.078 11.115 44.2 11.75 70.56 46.653-10.584 88.176-30.81 123.906-62.842-25.487-61.64-59.505-118.334-96.5-164.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Haunting;

impl IconShape for Haunting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.375 17.75c-3.073.063-6.2.27-9.344.594l-.467.062c-50.047 5.388-85.223 42.445-81.25 80.875 2.455 23.772 18.7 43.2 43.312 54.095l1.97.875 1.374 1.625 16.81 19.813 71.75-5.72 8.376-22.905 1-2.72 2.344-1.655c21.862-15.694 33.8-38.044 31.344-61.813-3.736-36.142-41.12-64.063-87.22-63.125zm46.5 48.656c13.252 0 24 10.717 24 23.97 0 13.25-10.748 24-24 24s-24-10.75-24-24c0-13.253 10.748-23.97 24-23.97zm-86.47 9.5c13.253 0 24 10.717 24 23.97 0 13.25-10.747 24-24 24-13.25 0-24-10.75-24-24 0-13.253 10.75-23.97 24-23.97zm41.407 35.438l23.907 38.875-41.5 3.06 17.592-41.936zm-164.468 7.22c-53.418-.164-65.813 17.017-89.844 27.342 7.457 62.138 33.86 128.37 17.5 232.438 19.145-14.237 59.438-96.563 59.438-96.563l-7.626 82.064 51.313-92 4.906 45.78 28.845-45.187c-1.093 24.925-4.462 51.423-21.25 74.782C114.293 400.553 99.5 477.06 99.5 477.06l46.72-50.5-20.44 66.844c37.762-30.703 55.564-65.578 66.907-102.187l6.5 101.03 26.594-60.156L261 491.656c-.13-24.413-3.5-47.555 5.75-70.094 8.515 29.13 55.87 51.816 80.406 42.657-40.048-39.82-69.453-161.727 9.906-204.408 2.53 22.436-3.683 44.846-18.843 67.282 26.68-11.406 44.907-27.785 54.78-50.688l-9.97 114.813c23.782-37.54 43.916-82.23 45.22-114.19 10.45 28.937 8.05 75.348 5.375 110.283 50.06-53.433 50.658-106.84 53.813-220.375-33.91-26.452-73.682-40.823-117.844-43.907-6.46 12.55-16.095 23.77-28 32.845l-9.563 26.156-.874 2.376 2.72 32.28-18.626 1.564-2.47-29.22-21.03 1.69 2.53 30.218-18.592 1.562-2.563-30.313-18.906 1.5 2.593 30.782-18.594 1.56-2.75-32.468-1.845-2.156-18.72-22.03c-20.886-9.807-37.6-25.673-46.218-45.5-24.256-3.692-43.582-5.266-59.343-5.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HawkEmblem;

impl IconShape for HawkEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M43.66 18.375l77.942 83.28-103.56-52.25v20.933l110.624 55.814-110.623-18.687v18.955l104.29 17.615-104.29 12.373v18.82L126.19 162.4 18.042 204.95v20.083l113.16-44.525L19.496 256.43l-1.453-.793v21.217c65.806 34.34 132.51 46.543 179.203 32.154 3.824 12.527 9.197 23.717 15.95 33.09l-98.87 151.527h22.315l86.89-133.172-51.378 133.172h20.032l47.38-122.8-16.668 122.8h18.86l16.707-123.1 16.707 123.1h18.857l-16.666-122.8 47.38 122.8h20.033L293.527 360.8l86.666 132.825h22.313l-98.83-151.47c6.884-9.366 12.474-20.595 16.433-33.208 45.343 13.82 109.376 2.79 173.2-29.29v-24.466L383.425 180.51l109.887 43.236v-20.082l-104.87-41.264 104.87 12.442v-18.82l-101.013-11.985 101.014-17.062V108.02l-104.84 17.71 104.84-52.664V52.152L388.42 104.838l80.92-86.463h-25.596l-87.07 93.033 10.346 9.684 1.197 3.215c2.333 6.264 3.502 11.874 3.502 18.347 0 27.94-22.42 53.896-57.76 67.795-14.693-15.965-20.836-32.194-19.682-40.395.63-4.474 2.12-6.77 6.56-8.858 4.442-2.087 12.65-3.236 24.878-1.088l10.978 1.93-.014-11.147c-.03-20-4.383-35.828-14.752-46.682-10.37-10.852-25.516-15.307-43.395-15.79h-.005c-21.498-.587-47.89 4.298-80.78 12.54l-12.01 3.01 6.185 10.72c17.82 30.892 20.35 45.607 18.635 57.835-1.41 10.04-6.747 20.57-11.127 36.323-33.276-14.21-54.31-39.248-54.31-66.194 0-5.457 1.75-11.222 4.128-17.884l2.77-7.768c4.31-5.594 3.082-4.444 4.31-5.594l-87.07-93.033zm231.328 88.69c1.032-.002 2.043.01 3.03.037h.004c15.15.41 24.503 3.856 30.39 10.02 4.566 4.78 7.734 12.16 8.965 23.27-9.47-.514-17.64.672-24.49 3.89-7.2 3.385-12.52 9.362-15.278 16.282-8.773-10.16-11.91-19.657-13.213-30.957-30.474 13.652-38.452-12.414-13.153-20.542 8.877-1.28 16.82-1.978 23.744-2zm.412 64.958c-.395 14.73 6.987 30.445 19.77 45.592-27.713 8.296-55.653 9.176-78.88.162 3.84-15.15 9.727-25.68 12.27-39.562 12.53 3.915 33.24 3.23 46.84-6.192zm-131.336 22.34L77.098 281.68c-12.686-4.224-25.63-9.41-38.614-15.56zm226.5 0L477.04 266.73c-13.155 6.165-26.255 11.33-39.08 15.508zm-213.287 13.48l-29.925 85.85c-9.986-1.393-20.393-3.487-31.086-6.298zm200.077.005l61.345 79.988c-10.8 2.753-21.3 4.773-31.35 6.066zm-185.18 14.04l-1.494 73.176c-7.553.735-15.648.887-24.176.463zm170.28 0l25.67 73.637c-8.555.31-16.65.02-24.183-.857zm-151.665 3.776c3.903 1.71 7.927 3.273 12.052 4.678l5.54 1.887-1.448 53.043-7.024 2.942c-3.268 1.368-6.77 2.548-10.473 3.547zm133.07 1.133l1.312 64.123c-2.69-.806-5.263-1.713-7.71-2.723L307.288 284c-3.073-.493 1.872-51.797 1.872-51.797l5.438-1.87c3.153-1.083 6.238-2.27 9.26-3.536z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HazardSign;

impl IconShape for HazardSign {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.97 34.75c-30.48-.167-59.02 22.12-79.532 62.156-.075.146-.176.26-.25.406L43.063 326.783l-.22.343C18.5 365.413 13.377 401.515 28.47 428.03c15.08 26.498 48.627 40.126 93.5 37.908H387.063c44.887 2.227 78.445-11.404 93.53-37.907 15.09-26.51 9.956-62.595-14.375-100.874l-.22-.375L335.28 98.064c-.06-.12-.124-.225-.186-.344-20.948-40.263-49.626-62.803-80.125-62.97zm.06 18.844c13.576.13 26.453 6.93 38.126 18.343 11.606 11.347 22.554 27.453 33.406 48.344.063.122.125.224.188.345l115.22 201.563c.033.053.058.102.092.156l.125.22c12.92 20.274 21.395 38.06 25.282 53.967 3.91 16.01 3.063 30.648-3.845 42.408-6.908 11.76-19.222 19.533-34.78 23.906-15.444 4.34-34.508 5.656-57.408 4.5H137.625c-24.845 1.258-44.73-.32-60.405-5.125-15.78-4.84-27.68-13.45-33.72-25.69-6.04-12.237-5.862-26.797-1.5-42.436 4.333-15.535 12.815-32.608 24.875-51.53l.22-.377L183.562 120c.08-.157.17-.28.25-.438C194.51 98.644 205.32 82.6 216.875 71.376c11.642-11.307 24.58-17.913 38.156-17.78zm47.657 62.093l-28.53 224.032h-41.844L204.438 120.5c-1.404 2.556-2.81 5.205-4.22 7.97l-.093.218-.125.218-116.938 202.97-.093.187-.126.187C71.28 350.346 63.598 366.226 60 379.125c-3.598 12.9-3.108 22.322.25 29.125 3.358 6.803 9.925 12.28 22.47 16.125 12.542 3.845 30.67 5.547 54.405 4.313l.25-.032h234.313l.25.03c21.85 1.138 39.308-.28 51.875-3.81 12.566-3.533 19.822-8.827 23.687-15.407 3.865-6.58 4.978-15.545 1.813-28.5-3.166-12.958-10.732-29.374-23.094-48.72l-.126-.188-.125-.218-115.658-202.28-.093-.158-.064-.187c-2.5-4.828-4.99-9.326-7.47-13.532zM231.28 361.875h43.907v43.906H231.28v-43.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Headshot;

impl IconShape for Headshot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M364.656 17.125l7.22 27-58.188 14.625c3.298 5.667 6.192 11.376 8.625 17.094l54.406-13.688 7.56 28.313 78.533-60.376-98.157-12.97zm-130.5 7.22c-.89-.005-1.776-.002-2.656.03-5.235.19-10.23 1.107-14.594 2.906.073.114-1.306 1.3-4.47 3.126-13.95 8.048-22.286 23.685-23.5 42.032l30.814-8.25c5.387-1.447 10.49-2.095 15.25-1.97 4.76.127 9.176 1.01 13.125 2.626 7.897 3.23 13.85 9.614 15.938 17.28 2.086 7.668.163 16.203-5.063 22.97-5.226 6.767-13.5 11.933-24.344 14.844l-28.687 7.687c9.082 12.388 20.716 21.374 32.78 26.75L255.875 162l-16.406 9.094c-13.034 7.208-20.893 17.79-25.72 31.844-4.827 14.052-6.2 31.546-5.063 50.687 2.098 35.29 12.573 75.595 22 110.78l33.22-9 11-3 .75 11.408 8.5 128.812h100.78l9.157-165.53.375-6.75 6.56-1.75 36.376-9.69c-9.556-37.034-19.253-81.292-35.75-114.936-8.91-18.17-19.682-32.927-32.72-42-13.035-9.076-28.278-13.115-49.03-9.44l-16.125 2.876 5.75-15.344c6.438-17.216 1.314-40.236-13.717-64.843-15.132-24.773-38.14-39.68-58.97-40.814-.9-.05-1.796-.06-2.687-.062zm.313 56.56c-2.74-.07-6.023.28-9.876 1.314l-103.78 27.874-33.19-18.813-71.874 19.25 46.5 26.845-26.844 46.5 71.313-19.125 20.374-35.28 102.72-27.595c7.8-2.094 12.25-5.398 14.405-8.188 2.153-2.79 2.286-4.91 1.81-6.656-.474-1.745-1.714-3.53-5-4.874-1.64-.672-3.822-1.18-6.56-1.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartBottle;

impl IconShape for HeartBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.875 24.25l-11.53 42.906 141.218 37.875 11.5-42.905L252.875 24.25zm.78 65.563l-6.843 25.468-18.375-4.936c-42.78-11.464-87.073 13.496-98.562 56.375L80 352.843c-11.49 42.88 14.12 87.232 57 98.72l143.438 38.436c42.88 11.49 86.63-14.376 98.093-57.156l49.876-186.156c11.462-42.78-13.752-86.44-56.53-97.907v-.03l-19.032-5.094 6.812-25.437-18.03-4.845-9.25 34.5-2.407 9 .124.03c-9.833 28.888 56.393 96.208 82.312 64.69.418 6.612-.198 13.437-2.03 20.28l-2.75 10.22h-45.72c9.88 13.787 13.913 32.493 7.656 53.155-9.313 30.756-36.22 45.28-62.687 58.125-26.467 12.846-53.43 24.8-70.28 47.97L222.687 430.5 219.78 407c-3.545-28.56-21.868-51.723-38.78-75.813-8.456-12.044-16.508-24.29-21.406-37.968-4.487-12.53-6.085-26.434-2.563-41.126h-30.686l21.594-80.563c8.87-33.105 42.48-52.054 75.687-43.155l27.406 7.344 9 2.436 2.44-9.03 9.25-34.47-18.064-4.844zM217.47 220.188c-17.402.35-34.707 10.976-41.44 33.25-3.707 12.27-2.716 22.65 1.157 33.468 3.874 10.817 10.928 21.855 19.125 33.53 13.337 18.998 29.728 39.8 37.782 65.69 19.37-18.71 43.527-29.34 64.594-39.563 25.93-12.587 46.112-23.974 53-46.72 7.507-24.79-2.893-40.962-19.344-49-16.45-8.037-39.098-6.47-56.156 10.5l-11.907 11.844-3.81-16.375c-5.908-25.504-23.357-36.304-41.314-36.625-.56-.01-1.126-.01-1.687 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartDrop;

impl IconShape for HeartDrop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M145.25 56.72c-61.374.112-120.404 46.204-122.844 121.093-4.38 134.45 178.216 168.506 234.72 302.718 53.49-134.2 231.247-176.35 235.437-302.717 4.18-126.053-147.904-156.787-221.438-70.657-7.116 15.426-7.685 30.843-5.406 39.344 21.644 80.778 64.56 103.038 64.56 167.375 0 36.398-35.61 62.72-73.092 62.72-36.658 0-74.563-28.165-74.563-66.5 0-67.058 43.713-80.063 66.188-163.94 2.656-9.91-1.38-32.71-14.563-50.968-.03-.032-.063-.06-.094-.093-25.38-26.418-57.45-38.433-88.906-38.375zm128.344 195.06c8.576 8.258 13.937 19.843 13.937 32.69 0 25.066-20.337 45.374-45.405 45.374-4.06 0-8.005-.533-11.75-1.53 5.736-4.15 9.594-11.757 9.594-20.44 0-13.13-8.817-23.75-19.657-23.75s-19.625 10.62-19.625 23.75c0 4.104.864 7.976 2.375 11.345 6.368 23.624 27.828 40.905 53.53 40.905 30.76 0 55.5-24.74 55.5-55.5 0-24.82-16.12-45.704-38.5-52.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartInside;

impl IconShape for HeartInside {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M303.25 20.813c-19.18.348-39.962 9.117-56.5 25.656-22.422 22.42-30.52 52.633-22.75 76.093-65.983-30.33-59.733-32.19-123.344-73-10.072-6.463-19.472-9.42-27.844-9.813-.872-.04-1.743-.045-2.593-.03-12.75.2-22.962 6.374-29.532 14.936C29.474 69.27 28.334 90.84 51.656 109.094c31.026 24.285 58.81 41.01 79 59.437 20.19 18.43 32.648 40.622 28.344 70.064-3.158 21.608-13.658 37.998-26.438 51.47-12.78 13.47-27.778 24.454-41.468 36.655-27.38 24.4-50.33 51.783-45.063 114.28 3.328 39.483 34.19 55.117 59.69 52.375 12.748-1.37 23.477-7.368 29.374-17.5 5.896-10.132 7.696-25.406-1.03-47.72-7.595-19.415 3.133-40.834 18.374-57.092 15.24-16.26 36.798-28.82 58.843-25 6.177 1.07 11.454 4.72 15.064 9.156 3.61 4.434 5.964 9.587 7.937 15.217 3.948 11.262 6.27 24.706 9.126 38.594 5.712 27.78 13.663 55.97 33.063 68.47 37.963 24.468 75.257 17.39 91.905.438 8.324-8.477 11.914-18.828 9.125-31.125-2.79-12.298-12.677-27.19-34.25-41.875-23.664-16.11-32.655-48.258-33.844-80.094-1.19-31.836 5.287-64.078 20.125-84.03 6.88-9.25 17.516-13.15 29.626-17.44 12.11-4.288 26.207-8.474 40.75-14.686 29.086-12.426 59.667-32.198 79.156-76.782 17.078-39.068 3.342-64.286-15.312-73.47-9.327-4.59-20.13-5.16-30.438-.655-10.307 4.507-20.43 14.22-27.437 31.782-13.14 32.934-39.188 51.677-70.406 56.407-8.096 1.225-16.526 1.577-25.22 1.155 7.504-4.07 14.71-9.367 21.25-15.906 29.4-29.402 34.242-72.228 10.844-95.626-10.237-10.237-24.176-15.053-39.094-14.782zm-87.688 129.343c15.512-.115 31.634 10.905 35.813 30.75 28.278-25.368 67.325-2.347 56.72 33.906-10.762 36.783-76.172 43.73-88.064 61.97 1.293-23.756-45.864-63.673-34.655-102.063 4.877-16.708 17.335-24.468 30.188-24.564z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartOrgan;

impl IconShape for HeartOrgan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M289.188 22.72c-6.5.162-12.792 2.26-17.594 7.124-.483.488-.916.983-1.344 1.5l-.188-.188c-17.848 22.67-35.71 51.21-45.718 83.094-11.197 35.67-12.8 74.75 5.687 114.78l-16.968 7.845c-14.305-30.974-17.807-61.916-14.53-90.97-8.475 4.99-16.412 11.178-23.688 18.314-22.368-29.2-49.978-56.593-76.5-76-1.404-1.4-2.996-2.655-4.813-3.69-3.378-1.922-6.98-2.86-10.624-3.03-.38-.018-.745-.032-1.125-.03-.38 0-.774.016-1.155.03-5.33.203-10.67 1.93-15.438 4.563-8.72 4.816-16.545 12.77-22.5 22.937-5.954 10.168-9.036 20.86-8.906 30.78.132 9.922 3.896 20.06 12.907 25.19.368.208.753.375 1.126.56l-.126.25c27.298 16.83 63.364 39.376 86.626 67.626-6.582 22.99-7.837 46.735-2.625 67.406 15.303 60.707 62.425 115.8 113.03 150.657 25.304 17.427 51.403 29.785 74.22 35.5 22.816 5.713 41.874 4.546 53.906-2.658 27.152-16.25 45.328-45.636 56.312-80.53-6.824 4.01-14.074 7.32-21.625 9.874-35.777 12.102-78.105 8.732-113.624-10.062-35.52-18.794-64.105-53.724-70.53-103.22l18.53-2.405c5.673 43.69 29.907 72.772 60.75 89.092 30.844 16.32 68.41 19.18 98.875 8.875 30.465-10.304 53.67-32.64 59.033-68.906 4.434-29.985-3.865-70.527-33.844-121.374-19.14 2.18-38.67 6.368-56.626 11.563l-5.188-17.94c12.73-3.682 26.192-6.87 39.875-9.28 2.63.22 5.328.024 8.033-.72 1.02-.28 1.996-.63 2.937-1.03.032-.005.062-.027.094-.03-.005-.008.004-.025 0-.032 8.222-3.55 13.437-11.472 15.906-20.032 2.76-9.57 2.698-20.724-.28-32.125-2.98-11.4-8.362-21.14-15.47-28.06-5.33-5.193-12.214-9.005-19.53-9.44-2.236-.13-4.497.065-6.783.626l-.093-.406c-16.036 5.84-33.733 13.757-51 24.125-8.947 11.378-15.964 22.483-20.5 33.375-7.047 16.92-8.512 33.12-2.438 51.438l-17.72 5.906c-7.46-22.5-5.505-44.333 2.908-64.53 7.425-17.828 19.73-34.594 34.656-51.376l-.156-.157c.622-.507 1.232-1.036 1.812-1.624 7.286-7.377 8.24-18.11 5.844-27.78-2.395-9.67-8.032-19.274-16.313-27.657l-.062-.032c-8.27-8.358-17.777-14.095-27.375-16.532-2.404-.61-4.868-.992-7.344-1.125-.464-.024-.942-.055-1.406-.06-.435-.007-.88-.012-1.313 0zm.656 18.624c.36 0 .755 0 1.156.03 1.07.084 2.28.308 3.656.657 5.51 1.4 12.564 5.332 18.72 11.564 6.154 6.23 10.07 13.385 11.468 19.03 1.398 5.647.36 8.778-1 10.157-1.362 1.38-4.27 2.37-9.78.97-5.512-1.4-12.565-5.362-18.72-11.594-6.155-6.23-10.07-13.385-11.47-19.03-1.398-5.647-.36-8.747 1-10.126.895-.905 2.445-1.648 4.97-1.656zm-208.156 58.78c1.09.03 1.962.298 2.593.657 1.685.96 3.395 3.504 3.47 9.19.075 5.684-1.918 13.503-6.344 21.06-4.426 7.56-10.314 13.22-15.406 16.032-5.092 2.813-8.378 2.615-10.063 1.657-1.684-.96-3.393-3.504-3.468-9.19-.076-5.684 1.916-13.535 6.343-21.093 4.426-7.557 10.314-13.187 15.406-16 2.545-1.406 4.643-2.064 6.31-2.25.418-.046.794-.072 1.157-.062zm109.937 1.282c-13 .075-26.444 5.487-34 14.125 6.848 7.143 13.47 14.445 19.78 21.876 7.846-5.784 16.262-10.73 25.19-14.594 1.14-4.79 2.448-9.514 3.905-14.156.432-1.375.887-2.73 1.344-4.094-4.97-2.18-10.548-3.188-16.22-3.156zm203.125 15.78c.272-.02.57-.02.875 0 1.826.14 4.258 1.214 7.313 4.19 4.072 3.966 8.222 10.9 10.437 19.374 2.215 8.474 2.018 16.63.406 22.22-1.61 5.588-4.068 7.798-5.936 8.31-1.87.514-4.865-.095-8.938-4.06-4.072-3.968-8.223-10.902-10.437-19.376-2.216-8.474-2.02-16.63-.408-22.22 1.612-5.588 4.07-7.798 5.938-8.31.234-.066.478-.106.75-.126z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeartTower;

impl IconShape for HeartTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M67.813 23.03v111.126l61.156 75.813v188.655H89.624l-28.72 92.813h389.158l-28.72-92.813H382V209.97l61.156-75.814V23.03H378.72v52.407h-39.19V23.032h-65.124v52.407h-38.53V23.032H170.75v52.407h-38.5V23.032H67.812zm132.343 143.907c20.707-.04 41.94 10.97 55.156 35.782 32.476-55.953 118.296-42.723 116.094 26.218-2.067 64.67-89.716 86.23-116.094 154.906-27.862-68.683-117.91-86.106-115.75-154.906 1.203-38.326 30.33-61.943 60.594-62zm113.78 20.657c-5.106 0-9.948 1.022-14.373 2.844 12.334 1.777 25.138 10.802 33.28 24.906 7.318 12.674 9.206 26.573 6.157 37.656 7.633-6.842 12.406-16.793 12.406-27.938 0-20.81-16.657-37.468-37.47-37.468z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Heartburn;

impl IconShape for Heartburn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.53 18.063c-23.24.42-47.45 10.39-67.124 31.218 54.09-11.145 69.053 9.38 78.844 43.22 16.83 58.176-66.19 70.523-60.156-10.53-25.37 15.966-34.08 52.878 0 85.28 22.675 21.555 13.393 52.563-13.406 52.563-44.735.186-107.775-75.315-59.594-139.594-35.413 13.593-59.442 25.662-67.72 59.593-7.1-29.47 6.47-55.563 31.532-68.344-101.978 7.38-74.16 112.918-.594 134.31 65.69 19.1 4.9 108.815-49.062 29.782-5.833 112.267 64.145 131.99 136.094 181.063 31.776 21.673 46.344 34.713 46.344 55.25 0 35.486 52.656 35.953 52.656-3.156 0-21.18 18.167-34.655 53.406-56.783 57.705-36.23 102.22-91.155 102.22-130.218 0-69.113-42.904-90.754-107.158-118.658 53.15 59.41-40.205 83.995-57.718 42.282-15.19-36.18 6.475-59.857 33.656-61.406 69.004-3.936 92.73-81.274 43.03-116.844C371.78 48.09 366.377 70.98 347.94 87.22c-8.468-43.942-42.84-68.846-80.157-69.157-.746-.007-1.5-.014-2.25 0zm193.595 48.312c-69.183 65.477 18.182 64.61-2 159.625 84.92-109.75-14.143-112.042 2-159.625zm-140.53 177.063c1.255-.01 2.5.026 3.75.093 3.396.185 6.76.636 10.06 1.376 26.422 5.92 48.41 29.86 49.5 64.656 1.15 36.58-25.886 65.358-52.06 89.157-13.09 11.898-26.29 22.706-36.47 32.374-10.18 9.668-16.868 18.497-18.25 23.656l-9.03 33.688-9-33.688c-1.71-6.376-8.278-15.138-18.158-24.688-9.88-9.55-22.696-19.988-35.5-31.5-25.607-23.023-52.243-51-53.437-88.406-1.135-35.56 21.576-59.654 48.594-65.187 23.2-4.753 49.572 3.38 67.47 24.624 14.32-17.327 33.69-26.03 52.53-26.156zm-20.064 65.687c-11.997.282-24.43 6.9-32.5 20.875-19.384-33.576-68.84-24.852-67.56 15.28 1.333 41.796 61.125 66.135 67.56 90.158 5.894-21.984 68.665-50.103 67.408-90.157-.736-23.43-17.37-36.567-34.907-36.155z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeatHaze;

impl IconShape for HeatHaze {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M328.094 16.28c-418.547 189.59 58.108 230.146-86.313 473.533C566.646 247.035 59.723 256.837 328.095 16.28zm10.844 32.44C154.714 186.1 475.226 253.64 369.717 409.06 561.48 253.028 248.215 203.768 338.94 48.72zM141 102.25c-174.244 135.025 104.332 215.754 61.063 367C307.03 285.77 42.887 268.31 141 102.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyArrow;

impl IconShape for HeavyArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M60.344 17.594l4.75 45.718-45.063-2.874 41.157 49.812-11.406 243.156c-.03.02-.06.043-.093.063-.03.02-.06.04-.093.06-37.928 26.657-38.036 71.926-19.844 103.44 24.263 42.024 72.83 42.51 87.25 4.75-24.33 12.43-43.486 1.97-55-17.97-11.764-20.378-8.908-43.704 26.438-56.063C134.162 371.7 225.256 440.334 311.75 428l-11.875-55.344c-83.384 34.902-166.713-51.397-223.063-32.53l-.468.155c-2.46.97-4.918 1.967-7.344 3.033L79.063 127.47l32.687-5.907 196.563 207.906 1.218 1.28 26.75 124.438 1.283 5.906 5.875 1.25 136.375 29.344 14.156 3.03-3.064-14.156-29.312-136.343-1.28-5.908-5.908-1.28-124.5-26.75-1.53-1.5-205.563-195.688L129 78.814l213.47-9.626c-.25.52-.51 1.036-.75 1.562-.04.085-.087.165-.126.25-.885 2.202-1.71 4.482-2.5 6.844-18.86 56.333 68.363 138.695 33 222.594l56.03 12c11.78-85.565-57.487-177.073-41.437-222.97 12.36-35.345 35.654-38.203 56.032-26.437 19.94 11.513 30.4 30.674 17.967 55 33.042-12.617 37.266-51.432 9.532-77.186-3.96-3.682-9.025-7.03-14.283-10.063-12.983-7.495-28.3-11.89-43.687-11.81-19.84.1-39.804 7.626-55.03 25.53-1.293 1.813-2.548 3.646-3.783 5.5L113.5 60.813l-53.156-43.22zM328.28 329.03l97.126 20.876-47.25 25.063-2.53 1.342-1.345 2.532-25.124 47.344-20.875-97.157zm117.626 31.158l23.72 110.187-110.22-23.688 30.03-56.53 56.47-29.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyFall;

impl IconShape for HeavyFall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.25 19.03v53.25c64.79 65.858 124.522 170.327 154.156 274.5l-49.78-65.655C97.592 216.785 60.5 158.113 21.25 114v28.906c27.632 34.17 53.875 75.99 75.813 121.47l29.156 125.25-83.064-44.72L90 436.5l-63.188-5.688 56.094 55.407H173.5l-28.625-41.814 49.094 12.938 1.718-64.594 40.468 46.5 40.47-80.97-.845 90.44 41.345-31-29.375 68.5h138.125l66.72-100.126-85.19 23.437 52.533-104.374-104.375 32.656 57.312-193.843-128.78 158.436C260.76 197.538 207.368 90.266 150.81 19.03h-24.218c41.91 49.386 83.752 122.4 112.75 199.97l-8.25 41.125c-35.752-93.2-90.41-180.8-139.938-241.094H21.25zm369.656 49.126l-60 56.03-2.125 78.533 49.345-74.25 12.78-60.314zm103.688 241.406l-34.438 56.657 34.438-16.94v-39.717z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyHelm;

impl IconShape for HeavyHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M211.094 18.22l17.78 206.718c1.396 4.615 4.75 8.424 10.282 11.437 5.727 3.118 13.512 4.998 21.313 5.094 7.8.094 15.58-1.622 21.28-4.657 5.534-2.947 8.975-6.744 10.5-11.907L312.438 18.22H211.094zM85.25 63.062c-40.11 30.075-64.656 70.49-64.656 115.187 0 31.222 11.98 60.44 32.843 85.47L80.5 185.686C68.655 167.852 62 147.913 62 126.907c0-23.173 9.034-44.668 23.25-63.844zm341.625 0c14.216 19.176 23.25 40.67 23.25 63.843 0 19.982-6.033 39-16.813 56.156l27.438 79.063c20.204-24.675 31.813-53.31 31.813-83.875 0-44.694-25.58-85.112-65.688-115.188zm-224.906 67.25c-35.98 34.695-59.156 62.41-73.782 94.937-21.686 48.224-26.258 110.186-26.407 225.625 40.794 21.668 83.415 34.732 126.032 39.313L240.845 337c-30.494-1.353-61.36-6.13-93.78-14.813l-10.283-2.75 4.032-9.843 10.22-24.906 3.124-7.594 7.938 2.125c64.732 17.335 129.757 16.785 192.437 0l8.126-2.19 3 7.876 9.53 24.906 3.72 9.688-10.03 2.688c-30.79 8.245-60.544 13.044-90.313 14.625L292 490.655c44.065-4.092 87.078-17.352 126.906-39.625-.21-109.113-6.404-168.732-29.03-217.655-14.74-31.87-37.205-60.405-70.313-95.656l-8.813 90.06-.063.782-.218.75c-2.947 10.986-10.776 19.12-19.94 24-9.162 4.88-19.768 6.973-30.28 6.844-10.512-.128-21.015-2.466-30.03-7.375-9.017-4.908-16.738-12.812-19.595-23.468l-.22-.812-.06-.813-8.376-97.375zm-98.532 46.28L62.5 294.657l26.188 12.094c4.09-35.45 10.974-63.666 22.437-89.156 5.163-11.48 11.203-22.296 18.25-32.875l-25.938-8.126zm307.843 0l-27.655 8.657c9.077 13.12 16.76 26.313 23.22 40.28 10.882 23.532 18.13 48.933 22.842 79.532l22.563-10.406-40.97-118.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyLightning;

impl IconShape for HeavyLightning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.517 14.64v112.715l44.386 28.033-44.97 78.26 96.948 49.056-9.343 32.705 78.843 35.04-32.122 96.947 174.623 46.14-112.714-69.5 22.778-50.226 257.55 113.885-282.08-203.82 29.2-90.525 47.89 52.562 83.515-40.88-44.386 87.016 164.693 108.628-106.292-126.148 22.778-40.296 74.754 56.648-84.68-151.26-71.837 27.45L227.263 14.64H20.52zm77.09 161.19l42.633 26.865-14.6 50.81-52.56-34.458 24.528-43.217z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyRain;

impl IconShape for HeavyRain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M50.656 22.125c24.862 31.888 280 358.568 341.063 411.72 76.902 66.936 132.718-3.814 73-73-52.197-60.47-369.484-308.088-408.814-338.72h-5.25zm188.656 0c45.33 61.388 132.53 178.237 165.25 206.72 53.745 46.78 93.142-3.023 51.407-51.376C429.4 146.69 326.902 69.273 263.25 22.124h-23.938zm131.375 0C385.11 38.203 397.84 51.793 404 57.155c41.042 35.724 71.142 1.755 46.125-35.03h-79.438zM17.375 132.5v54.313c42.702 54.933 87.407 110.516 108.03 128.468 53.748 46.783 93.143-2.456 51.407-50.81-21.41-24.807-95.776-83.243-159.437-131.97zm0 165.844V355c45.978 54.937 90.37 107.056 106.28 120.906 47.652 41.476 81.973-2.693 44.97-45.562-16.444-19.05-84.786-76.927-151.25-132z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyThornyTriskelion;

impl IconShape for HeavyThornyTriskelion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M237.834 13.717l-40.846 29.52c-23.934-7.692-50.298-9.083-77.023-1.923-5.382 1.442-10.62 3.103-15.705 4.963L65.012 17.79l.308 49.112c-39.727 29.366-59.55 77.5-42.646 140.57 2.513 9.37 6.41 17.367 11.277 24.09l-13.128 52.764 52.282-26.793c36.802 9.035 77.35-11.2 67.5-49.672-.614-4.86-2.157-9.735-4.71-14.118-7.56-12.984-20.91-16.713-29.81-8.328-8.57 8.073-9.89 24.43-3.23 37.225-18.462-2.822-33.808-20.554-37.75-46.087-.98-6.36-1.378-12.445-1.278-18.26l46.028-12.03-35.25-28.41c13.075-22.536 36.64-36.615 63.04-40.87l18.493 38.75 19.867-38.085c12.308 2.39 24.46 6.903 35.767 13.663 7.216 4.314 13.948 9.286 20.185 14.81l-8.715 35.077 30.506-10.736c11.034 15.565 19.234 33.475 24.21 52.76-4.846.373-9.845 1.096-14.89 2.094-83.534-4.835-131.693 77.346-123.427 154.793l-44.816 27.498 52.705 7.532c6.627 18.74 17.08 36.274 31.745 51.086 8.308 8.39 18.798 15.997 30.83 22.62l-8.412 42.667 41.815-28.12c56.9 19.33 129.987 20.13 178.236-10.47l47.01 16.807-17.87-42.94c26.17-32.11 26.375-64.496 12.934-87.705l15.65-43.764-42.866 17.838c-7.22-3.753-15.16-6.234-23.475-7.17-49.566-5.578-96.453 39.226-57.68 86.63-6.475-35.262 24.55-61.392 46.998-45.497 21.584 15.283 20.68 52.725-9.707 69.507-14.853 8.203-32.247 13.43-50.603 15.83l-22.14-46.39-12.136 47.663c-32.19-1.678-64.39-11.253-88.893-27.992l24.217-49.978-50.202 25.457c-8.848-11.906-14.673-25.712-16.314-41.33-1.278-12.164-1.077-23.8.393-34.883l48.313 1.133-39.988-33.4c9.364-23.903 24.996-44.312 44.11-60.72 1.672 3.497 3.39 6.748 5.228 9.85 14.5 36.474 50.215 57.068 89.613 63.127l5.11 27.3 26.464-25.515c43.328-1.636 85.566-19.82 104.637-52.923 21.68-37.63 28.823-98.665 8.97-146.484l22.116-49.756-45.06 13.88c-.064-.066-.125-.135-.188-.202-27.5-28.858-70.672-17.828-98.254 10.703l-46.083-6.61 25.05 39.64c-3.6 9.712-5.463 20.1-5.074 30.78-.15 5.91.564 12.176 2.26 18.504 6.73 25.115 26.296 41.693 43.7 37.03 17.403-4.664 26.057-28.804 19.328-53.918-1.937-7.232-4.946-13.746-8.656-19.256-13.543 8.343-19.248 20.646-20.756 36.363-5.15-25.078-1.298-39.476 18.092-50.612l.02-.012c12.22-7.95 24.733-10.52 33.86-3.832 31.646 23.18 33.057 72.366 12.888 111.14l-38.9-2.99 12.69 36.247c-11.066 9.36-24.205 16.267-39.107 19.37-24.11 5.02-52.627 1.885-78.157-8.307 5.45-6.928 9.17-15.153 11.613-23.705 22.52-63.04-7.424-128.015-58.726-161.71l5.664-46.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HeavyTimer;

impl IconShape for HeavyTimer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.563 18.344C111.623 205.977 310.53 404.92 498.219 491 412.14 303.367 213.25 104.405 25.56 18.344zm233.218.312c-10.107 20.728-14.86 46.41-14.28 71.813-15.772 1.7-31.34 5.638-46.188 11.843 5.73 4.408 11.444 8.887 17.125 13.437 9.92-3.34 20.137-5.587 30.438-6.75 1.915 14.952 5.78 29.334 11.53 42.03.66.582 1.312 1.17 1.97 1.75 6.285-13.29 10.402-28.54 12.375-44.405 16.632 1.05 33.113 4.906 48.688 11.594-6.722 15.56-11.044 31.775-12.125 47.25 13.05-8.806 25.095-20.867 35.312-34.72 8.055 5.35 15.706 11.58 22.813 18.688 5.105 5.105 9.738 10.51 13.937 16.125-14.324 10.39-26.802 22.724-35.844 36.125 16.357-1.143 33.54-5.89 49.908-13.282 7.71 15.614 12.458 32.306 14.28 49.25-17.628 1.644-34.678 5.926-49.374 12.813.753.84 1.5 1.687 2.25 2.53 14.29 6.336 30.652 10.278 47.53 11.813-.937 12.132-3.4 24.164-7.343 35.812 4.543 5.688 9.04 11.39 13.44 17.125 7.026-16.736 11.175-34.384 12.467-52.22 23.276-.292 46.424-5.053 65.407-14.31-19.094-9.313-42.4-14.07-65.813-14.314-1.95-19.638-7.352-39.006-16.28-57.062 20.534-11.98 38.688-27.967 50.75-45.844-21.718 1.517-44.895 9.384-65.688 21.375-4.918-6.693-10.386-13.106-16.437-19.156-8.01-8.01-16.624-15.04-25.72-21.064C366.3 95.8 374.454 72.146 376 50c-18.6 12.55-35.16 31.694-47.28 53.25-17.77-7.727-36.628-12.197-55.658-13.406.488-25.2-4.255-50.63-14.28-71.188zM109.564 191.062c-6.392 15.302-10.39 31.39-12 47.657-1.793-.055-3.58-.095-5.376-.095-24.04 0-48.083 4.783-67.687 14.344 20.957 10.22 46.978 14.954 72.656 14.25 1.352 18.746 5.878 37.285 13.563 54.78-22.225 12.198-42.04 29.117-54.907 48.188 22.76-1.583 47.09-10.154 68.624-23.125 5.965 8.947 12.892 17.454 20.782 25.343 5.925 5.927 12.205 11.285 18.75 16.125-12.562 21.234-20.848 45.084-22.407 67.408 18.357-12.387 34.734-31.193 46.812-52.407 17.742 8.846 36.757 14.286 56.063 16.376.04 23.938 4.824 47.856 14.343 67.375 9.438-19.348 14.222-43.02 14.345-66.75 18.31-1.175 36.447-5.383 53.625-12.592-5.738-4.4-11.467-8.864-17.156-13.407-12.14 4.104-24.692 6.595-37.344 7.44-1.77-17.947-6.252-35.266-13.47-50.064-7.132 14.626-11.594 31.715-13.405 49.438-16.742-1.95-33.215-6.794-48.625-14.5 6.94-15.83 11.4-32.36 12.5-48.125-12.898 8.7-24.798 20.598-34.938 34.25-5.53-4.154-10.84-8.748-15.875-13.783-7.034-7.034-13.217-14.597-18.53-22.562 13.182-9.96 24.66-21.578 33.124-34.125-14.906 1.037-30.498 5.075-45.53 11.375-6.7-15.384-10.63-31.677-11.813-48.125 15.835-2.107 31.014-6.356 44.188-12.78-13.07-6.375-28.114-10.595-43.813-12.72 1.105-10.857 3.42-21.618 6.938-32.063-4.55-5.68-9.03-11.394-13.438-17.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HelmetHeadShot;

impl IconShape for HelmetHeadShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73.98 19.324l36.696 67.596L20.3 33.506v.058L122.427 139.94 20.298 93.67v.3l53.856 60.932-53.855-4.072v.014l196.608 95.675-68.502 34.29 76.547 18.104-42.896 55.227 72.892-11.634c5.323-8.462 9.98-16.897 13.958-25.48-18.586-11.336-30.994-31.8-30.994-55.165 0-35.66 28.91-64.57 64.572-64.57 22.323 0 41.986 11.335 53.58 28.556l36.55 2.15 35.013-37.644-59.405 9.334 23.363-78.582-63.15 59.25L306.935 67.96l-21.354 110.425-48.256-53.547 6.737 61.11L74.498 19.325h-.52zm231.106 222.244c-2.274 61.787-26.61 106.513-68.617 156.828l75.126 82.96 41.545-116.155c-6.507 2.467-13.803 3.007-20.984 1.083-18.23-4.885-29.204-23.86-24.32-42.086.206-.77.444-1.522.7-2.265l1.452-22.514 77.674-3.506h.004l65.41 41.467-11.62 24.1c-5.448 17.396-23.93 27.675-41.698 22.915-6.818-1.827-12.62-5.626-16.957-10.618l-22.757 119.707L464.55 459.52c-13.598-67.112-8.595-114.53 21.227-169.622l-83.105-42.59-97.586-5.74zm35.48 75.85c-6.786.15-12.81 4.683-14.668 11.62-2.265 8.455 2.62 16.913 11.098 19.185 8.48 2.272 16.937-2.61 19.203-11.067 2.265-8.456-2.62-16.913-11.098-19.185-1.06-.283-2.12-.455-3.168-.523-.46-.03-.915-.04-1.368-.03zm67.604 18.11c-6.786.15-12.81 4.682-14.67 11.618-2.266 8.456 2.618 16.914 11.098 19.186 8.48 2.272 16.937-2.61 19.203-11.066 2.267-8.456-2.617-16.914-11.097-19.186-1.06-.284-2.12-.456-3.166-.523-.458-.03-.915-.04-1.367-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hidden;

impl IconShape for Hidden {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.375 17.22v94.28l20.47 14.25 6.374-32.063 50.468 33.22L71.844 37.03l29.53 14.032L91.22 17.22H16.374zm119.72 0l19.843 42.03-42.032 46.72H155l4.656 39.718L180.686 120l10.408 61.938 38.75-56.72 25.22 32.657 24.186-91.156 33.78 21.124.595-50.78 47.656 24.436-3.03 67.5 28.438-41.813 12.78 22.126 60.157-64.25 1.188 44.187 33.875-42.625V17.22H136.094zM85.468 186.03c-16.63.038-34.107 1.616-52.345 4.376l-7.906 1.188-.064 7.97c-.35 40.24 4.84 67.31 16.125 85.936 11.287 18.627 29.17 27.313 48.626 29.938 6.937.935 14.17 1.266 21.656 1.218v-92.47c-18.67 4.285-32.593 20.996-32.593 40.97 0 12.76 5.68 24.195 14.655 31.906-.407-.048-.817-.102-1.22-.156-16.03-2.162-26.822-7.34-35.155-21.094-7.72-12.74-12.852-34.287-13.313-67.968 14.533-1.918 28.44-3.073 41.47-3.094 25.72-.042 48.403 3.894 67.593 12.78 27.768 12.86 49.145 36.087 63.406 75.626-23.567-1.313-45.838.293-65.906 1.97 7.748-7.628 12.563-18.238 12.563-29.97 0-20.04-14.044-36.785-32.813-41v91.75c29.98-2.004 63.35-7.024 98.438-3.187l13.968 1.53-4-13.47c-15.143-51.256-42.066-83.663-77.812-100.217-22.342-10.347-47.66-14.594-75.375-14.532zm347.624 0c-27.716-.06-53.034 4.186-75.375 14.532-35.748 16.555-62.67 48.962-77.814 100.22l-3.97 13.468 13.94-1.53c35.57-3.89 69.386 1.335 99.687 3.28v-92.125c-19.397 3.735-34.063 20.795-34.063 41.28 0 11.726 4.822 22.344 12.563 29.97-20.063-1.682-42.327-3.31-65.875-2 14.26-39.522 35.645-62.737 63.406-75.594 19.19-8.886 41.87-12.822 67.594-12.78 13.038.022 26.924 1.173 41.468 3.094-.46 33.68-5.624 55.228-13.344 67.97-8.333 13.753-19.093 18.93-35.125 21.092-.41.056-.832.107-1.25.156 8.984-7.71 14.688-19.137 14.688-31.906 0-19.525-13.332-35.927-31.375-40.656v92.156c7.04.004 13.86-.335 20.406-1.22 19.458-2.623 37.37-11.31 48.656-29.936 11.287-18.627 16.443-45.695 16.094-85.938l-.062-7.968-7.875-1.188c-18.24-2.76-35.747-4.338-52.376-4.375zm37.937 139.19l-2.717 35.124-80.407-4.063 78.375 66.25-39.874 9.44 68.28 27.03.002-105.406-23.657-28.375zm-131.124 12.03L274.5 422.53l-12.28-42.06-29.19 96.936-50.218-67.72-14.593 85.845h257.53l-6.406-34.467-53.156 19.875-9.344-53.157-16.938 13.44V337.25zm-300.78 15.188l-22.75 19.843v123.25h130.06l-16.186-76.5-13.875 16.72-24.688-54.125-33.28 54.344-19.282-83.533z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighFive;

impl IconShape for HighFive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M126.254 16.098l23.18 134.29-131.55-20.595 94.78 110.596L28.2 318.08l108.71 24.42-39.797 88.447 71.364-19.014c7.904-20.18 13.607-40.676 16.42-60.008l-.05-.03h-.003c-1.802-1.04-2.872-2.744-4.06-6.74-1.19-3.997-1.868-9.5-3.942-15.412-7.033-20.052-17.384-51.137-48.155-81.834 3.305-6.314 6.61-9.692 9.186-11.074 3.247-1.742 6.19-1.775 11.293.422 9.35 4.025 22.63 17.193 35.174 33.816 3.368 5.048 6.267 10.15 8.683 15.31l16.918-7.927c-3.936-8.406-8.884-16.523-14.74-24.376l9.32-23.635-.418-90.175c2.948-2.112 7.593-3.54 12.92-3.43 5.064.107 10.178 1.73 13.52 3.673l-.794 88.818c7.553 3.465 15.125 6.91 22.62 10.44l37.04-106.385c5.665.22 10.842.688 15.03 2.063 4.6 1.51 8.553 3.855 12.53 8.248L275.595 251.41c6.797 3.69 13.394 7.6 19.693 11.84l66.916-91.31c3.036.616 7.123 2.416 10.7 5.632 4.143 3.726 7.06 8.725 8.054 13.123l-64.625 89.3c5.508 5.266 10.58 11.007 15.107 17.357l55.83-41.67c6.377 2.98 12.275 10.69 12.25 18.377-9.137 6.16-54.367 37.145-81.29 65.783-8.748 9.303-24.697 24.49-33.496 34.43v.003h-.002c-2.977 3.366-7 6.718-11.402 9.39l-18.947 101.192 39.596-62 63.627 56.252 4.73-121.537 134.604 11.57-76.7-95.417 64.414-92.664-90.34-12.062L435.23 51.324l-122.185 69.744-31.375-103.822-53.75 96.108-101.668-97.256z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HighShot;

impl IconShape for HighShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M492.656 20.406l-118.594 56.22L413.875 86l-86.97 86.97-305.5 259.374.69.687 104.75-47.467-46.376 105.843.905.906 272.5-319.875 73.22-73.218 9.342 39.81 56.22-118.624zm-473.25.063c-1.347 23.43 5 39.947 16.563 52.218l24.093 302.28 17.562-14.874-21.72-272.438c57.975 31.954 169.096 25.165 216.907 106.72l66.625-56.564 1.22-1.218C292.74 38.666 86.01 99.716 19.406 20.47zm359.531 151.56l-1.156 1.157-57.25 67.188c82.006 47.945 75.587 159.267 107.283 218.03l-272.157-24.5-14.812 17.408 301.562 27.125c12.48 12.283 29.4 19.084 53.688 17.687-79.95-67.2-18.36-275.754-117.156-324.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HollowCat;

impl IconShape for HollowCat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M198.313 56.688l-8.438 14.28-22.938 38.844c-18.317-4.358-35.37-5.354-55.375.126l-41.687-41.47-8.375-8.312-6.156 10.063C19.29 128.875 14.09 177.377 33.437 212.28c9.654 17.415 24.894 30.734 44.094 40.157-4.407 32.957.132 71.53 10.657 108.625l1.938 6.782h97.156c.022 13.4 3.196 26.253 8.72 37.875 18.2 38.29 59.696 64.798 98.625 67.624 42.657 3.095 79.943-12.74 110.156-36.438 30.215-23.696 53.762-55.214 70.533-84.937 27.083-48.002 23.293-97.405-.72-133.22-22.51-33.576-62.396-55.233-108.906-54.844-3.1.026-6.218.15-9.375.375-33.52 2.39-70.68 16.482-108.218 44.97-5.187-3.536-10.218-6.792-15.156-9.813 9.13-31.093 2.846-72.824-26.782-128.125l-7.844-14.624zM65.405 90.374l36.844 36.656 4.063 4.032 5.406-1.75c21.994-7.123 36.01-5.824 57.28.094l6.906 1.938 3.625-6.188 17.657-29.844c11.94 25.023 18.157 45.963 20.157 63.5-29.35-13.022-46.757 3.998-49.438 31.157 23.753 11.46 38.94 9.244 48.563-1.907-1.185 5.91-2.98 11.267-5.282 16.093-11.72 24.558-37.484 38.487-65.75 46.22-46.488-3.5-80.715-20.203-95.657-47.157-14.135-25.5-12.516-62.744 15.626-112.845zm26.875 63.97c-8.15-.045-17.81 2.947-28.874 9.81 7.008 29.103 23.402 43.218 59.47 25.814-2.045-20.708-12.664-35.53-30.595-35.626zm273.564 28.25c40.662-.374 74.304 18.35 93.22 46.56 20.174 30.093 24.05 70.946-.033 113.626-15.854 28.103-38.213 57.787-65.78 79.408-27.567 21.62-59.918 35.21-97.25 32.5-31.075-2.256-68.383-25.954-83.125-56.97-7.37-15.507-9.546-32.477-3.656-50.624 5.89-18.147 20.176-37.867 47.374-57.406 21.33-15.324 36.078-10.8 42.437-3.625 3.18 3.587 4.542 8.016 3.595 12.968-.947 4.953-4.324 10.816-12.625 16.283-25.07 16.512-36.64 35.432-35.5 53.312 1.14 17.88 15.07 31.54 32.53 37 34.927 10.922 86.795-8.394 110.314-77.75l-17.72-6c-3.582 10.567-7.777 19.537-12.343 27.313h-87.436c4.227-5.682 10.68-11.854 20.437-18.282 11.62-7.65 18.666-17.773 20.69-28.344 2.02-10.57-1.13-21.222-7.94-28.906-13.62-15.367-40.788-18.203-67.342.875-29.526 21.213-46.817 43.975-54.22 66.783-.85 2.62-1.538 5.236-2.124 7.843H104.5c-7.996-30.958-10.887-62.56-8.313-89.156 15.005 4.93 31.685 7.97 49.5 9.188l1.532.093 1.5-.374c30.016-7.953 60.795-22.987 76.936-52.062 5.58 3.466 11.348 7.264 17.344 11.5l5.72 4.03 5.5-4.343c37.01-29.482 72.603-42.928 103.405-45.124 2.77-.197 5.508-.287 8.22-.312zm-92.656 185.28h80.25c-20.555 21.655-44.696 24.956-60.844 19.906-11.815-3.693-18.643-11.213-19.406-19.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HolyGrail;

impl IconShape for HolyGrail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.125 102.188c-15.624 74.885 20.42 123.6 64.125 150.562-33.063-7.81-65.052-19.482-98.25-36.844 25.5 77.488 81.164 95.816 129.906 90.75-26.933 14.252-55.392 25.3-83.937 32.78 70.04 43.512 120.987 16.005 149-22.28-30.186-17.833-52.692-53.794-63.032-98.344-38-34.814-71.414-75.012-97.813-116.625zm402.938 0c-26.397 41.608-59.816 81.786-97.813 116.593-10.338 44.564-32.84 80.54-63.03 98.376 28.01 38.285 78.957 65.792 149 22.28-28.542-7.48-56.978-18.53-83.908-32.78 48.736 5.055 104.38-13.28 129.875-90.75-33.197 17.362-65.187 29.035-98.25 36.844 43.705-26.963 79.75-75.677 64.125-150.563zm-201.47 26.187c-23.56 0-44.93 3.576-61.218 9.844-8.145 3.133-15.045 6.906-20.438 11.81-5.392 4.907-9.5 11.53-9.5 19.157 0 .89.05 1.765.157 2.625 2.62 64.952 32.08 117.553 67.28 133.188l6.94 3.094-1.595 7.406c-8.645 40.282-20.575 63.61-40.94 77.03-11.193 7.378-14.184 13.215-14.374 15.126-.19 1.91.765 4.2 6.844 7.906 12.158 7.41 39.925 13.157 66.844 13.157 26.872 0 53.258-5.944 64.687-13.408 5.716-3.73 6.812-6.22 6.626-8.53-.186-2.312-2.937-7.934-13.094-15.22-19.326-13.862-31.327-36.107-39.843-76.062l-1.595-7.406 6.938-3.094c35.2-15.635 64.662-68.236 67.28-133.188h-.03c.106-.86.156-1.735.156-2.625 0-7.626-4.077-14.25-9.47-19.156-5.393-4.905-12.324-8.677-20.47-11.81-16.288-6.27-37.627-9.845-61.186-9.845zm0 18.688c21.617 0 41.154 3.47 54.47 8.593 6.657 2.562 11.708 5.563 14.593 8.188 2.886 2.625 3.375 4.28 3.375 5.344 0 1.063-.488 2.718-3.374 5.343-2.885 2.626-7.936 5.627-14.594 8.19-13.315 5.122-32.852 8.593-54.468 8.593-21.616 0-41.184-3.47-54.5-8.594-6.658-2.563-11.708-5.564-14.594-8.19-2.886-2.624-3.375-4.28-3.375-5.343 0-1.063.49-2.718 3.375-5.343 2.886-2.625 7.936-5.626 14.594-8.188 13.316-5.123 32.884-8.594 54.5-8.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HolySymbol;

impl IconShape for HolySymbol {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.47 23.406c-66.354 0-120.158 53.415-120.158 119.313 0 18.87 4.427 36.7 12.282 52.56h-.094l1.938 3.564c.212.395.408.795.625 1.187l45.343 84.19-89.53-47.595v214.5l61.343-32.625 77.405-162.125c-17.123-32.793-48.563-96.2-48.563-119.938 0-32.592 26.59-59 59.407-59 32.816 0 59.436 26.41 59.436 59 0 30.663-51.987 126.665-58.22 138.063L196.97 403.78l.436-.25-2.906 5.376-39.875 83.563h210.813l-47.907-88.94 89.564 47.595v-214.5l-61.688 32.78-96.594 166.658h41.907v18.687h-74.346l8.126-14.03 122.72-211.626 15.874-29.5 2.344-4.313h-.094c7.85-15.86 12.25-33.694 12.25-52.56 0-65.896-53.772-119.314-120.125-119.314zm0 72.78c-22.19 0-39.908 17.658-39.908 39.595 0 21.94 17.717 39.564 39.907 39.564 22.19 0 39.936-17.625 39.936-39.563 0-21.936-17.747-39.593-39.937-39.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Honeycomb;

impl IconShape for Honeycomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M451.47 49.25l-70.22.125-5.47-.03L373.064 54l-34.344 58.875-58.876.125-31.188-53.375-2.625-4.72-5.468-.06-70.218.124-5.5-.032-2.688 4.656-34 58.312-65.562.125-5.47-.03-2.718 4.656-35.093 60.188-2.688 4.656 2.78 4.688 31.126 53.28-33.75 57.938-2.718 4.656 2.782 4.688 35.125 60.094 2.593 4.75 5.5.03 67.812-.124 31.03 53.03 2.595 4.75 5.5.033 67.594-.125 31.187 53.375 2.626 4.718 5.47.064 70.218-.125 5.312.092 2.72-4.656 34.155-58.375 65.564-.124 5.312.094 2.688-4.656 35.28-60.25 2.688-4.656-2.78-4.688-35.126-60.094-2.594-4.72-5.5-.06-67.593.124-27.19-46.5 32.94-56.344 61.53-.125 5.313.095 2.687-4.656 35.25-60.25 2.72-4.657-2.783-4.688-35.125-60.094-2.593-4.718-5.5-.062zm-5.345 18.656l29.5 51.094-29.53 50.688-59.47.093L357 118.876l29.656-50.906 59.47-.064zM127.47 136.562l29.5 51.094-29.532 50.688-59.47.094-29.624-50.907L68 136.626l59.47-.063zm106.905 58l28.53 49.5-30.374 52.125-57.78.094-29.5-50.717 29.656-50.907 59.47-.094zm105.313 57.344l29.375 50.938-29.532 50.72-59.467.06-28.72-49.343L281.907 252l57.78-.094zm106.78 57.875l29.5 51.095-29.53 50.688-59.47.062-29.624-50.875L387 309.844l59.47-.063zm-214.53 5.19l29.406 50.967-29.53 50.688-59.47.063-29.625-50.907 29.56-50.717 59.657-.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Honeypot;

impl IconShape for Honeypot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M364 17.813c-.432-.006-.873.014-1.313.03-13.198.513-29.286 10.91-39.312 39.344-11.644 33.027-28.367 90.578-42.22 139.938h48.97c21.46-44.054 44.146-93.113 55.28-125.22 5.54-15.966 4.97-28.47 1.658-37.155-3.314-8.686-9.204-13.82-16.22-15.906-1.753-.522-3.615-.852-5.562-.97-.425-.025-.848-.056-1.28-.06zm-231.656 198c-16.26 0-28.594 12.7-28.594 26.875 0 13.975 11.863 25.413 28.188 25.687l16.218.28-8.375 13.908c-18.02 29.867-29.624 81.602-29.624 113.718 0 38.314 14.436 60.732 38.78 75.5 7.684 4.662 16.452 8.46 26.126 11.47-3.293-19.43-5.733-38.928-6.906-58.5-13.36-45.998-10.5-92.002-11.094-138h83.657c-9.532 37.813-15.867 75.656-17.907 113.47.77 30.555 4.657 61.25 10.406 92.092 5.025.212 10.15.313 15.343.313 39.902 0 75.31-6.074 99.656-20.844 24.345-14.768 38.78-37.186 38.78-75.5 0-32.042-11.652-83.854-29.625-113.75l-8.344-13.905 16.19-.25c16.318-.263 28.186-11.71 28.186-25.688 0-14.173-12.365-26.875-28.625-26.875H232.376c-6.61 17.393-3.29 34.82 5 52.25H162.75c-19.19-18.17-19.75-35.388-5.594-52.25h-24.812zm67.562 112.78c-6.417 31.022-10.93 62.043-13.187 93.063 1.222 22.06 4.177 44.204 8.218 66.47 6.093 1.15 12.454 2.052 19 2.75-6.922-38.418-10.998-77.052-9.72-115.876-2.874-15.466-3.93-30.943-4.312-46.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hood;

impl IconShape for Hood {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.375 32.03C139.957 87.197 42.343 247.886 17.5 367.75c71.742 0 124.22 22.845 162.094 63.03l10.47-11.436c-28.06-28.873-64.935-52.446-113.564-75.906 26.142-65.033 66.028-163.458 116.72-169.188 19.835-2.243 41.05 9.735 64.155 43.438 72.33-120.27 141.014 38.54 180.875 125.75-47.687 25.854-84.5 49.463-112.97 78.718l9.25 10.406c37.335-39.758 89.657-64.812 162.72-64.812C467.784 249.384 377.24 90.37 257.375 32.03zm-79.72 243.314c-15.3-.083-26.405 6.436-26.405 16.656 0 12.58 16.834 26.038 37.594 30.063 20.76 4.024 37.594-2.92 37.594-15.5s-16.835-26.038-37.594-30.063c-3.893-.755-7.657-1.137-11.188-1.156zm156.345 0c-3.53.02-7.295.4-11.188 1.156-20.76 4.025-37.593 17.483-37.593 30.063 0 12.58 16.833 19.524 37.592 15.5 20.76-4.025 37.594-17.484 37.594-30.063 0-10.22-11.105-16.74-26.406-16.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hoof;

impl IconShape for Hoof {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M142.813 19.97c.048 56.36-28.065 101.353-64.188 136.81l39.47 4.564 14.936 1.72-8.186 12.655-33.563 51.843c30.768 3.768 54.396-1.36 88.25-14.97l12.626-5.062.22 13.595.718 44.906c20.064-13.115 36.285-30.203 50.28-50.124l4.94-7.062 7.436 4.375 54.594 32.03 10.156-30.375 3.938-11.844 10.25 7.126c30.46 21.155 66.024 31.13 102.218 34.125l-51.937-57.56-14.408-15.97 21.532.375 31.437.563c-17.77-17.895-35.47-39.554-49.56-62.97-16.887-28.06-28.705-58.756-27.97-88.75H142.812zm191.656 212.06l-10.064 30.064-3.625 10.937-9.967-5.842-40.907-24c10.515 32.963 18.264 78.16 24.563 123.843 6.117 44.372 10.706 88.847 14.31 121.814 14.294-4.76 27.926-11.046 40.408-18.594-.672-36.365-8.715-72.732-19.282-109.094 18.077 30.067 32.476 61.168 40.563 94.063 13.43-11.014 24.69-23.64 32.874-37.345-2.963-22.86-13.432-52.61-25.47-73.656 14.353 12.85 27.138 31.72 36.47 48.81 2.426-8.295 3.72-16.823 3.72-25.5-.002-32.12-15.122-77.045-40.19-115.842-14.964-4.858-29.543-11.293-43.405-19.657zm-160.564 2.69c-13.698 4.926-26.492 8.458-39.25 10.5-27.508 40.184-44.25 88.358-44.25 122.31 0 29.434 14.637 57.26 37.97 79.69 6.713-23.524 18.778-45.87 34.06-67.533-8.636 28.1-14.79 56.182-13.624 84.282 16.037 11.214 34.474 20.235 54.157 26.342 3.555-33.222 8.24-78.5 14.624-124.187 5.93-42.437 13.105-84.325 22.47-116.156-14.5 16.064-31.413 30.002-51.75 40.56l-13.408 6.97-.25-15.094-.75-47.687zm82.125 27.874c-7.814 29.17-14.536 67.482-19.936 106.125-5.968 42.7-10.45 85.298-13.938 118.03 18.716-6.198 35.124-8.003 48.72-7.03 6.917.493 13.055 1.684 18.437 3.374-3.48-32.118-7.78-72.96-13.375-113.53-5.358-38.854-12.008-77.447-19.907-106.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HornInternal;

impl IconShape for HornInternal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.813 22.47c-8.663-.028-17.42.734-26.188 2.28-.03.005-.064-.005-.094 0-2.45.224-4.96.54-7.5.938C85.51 45.672 13.217 187.65 46.72 312.688 80.22 437.725 209.4 512.317 334.436 478.813c79.17-21.214 130.815-52.148 149.782-94.532-94.212 57.032-205.346 19.985-223.283-36.717-60.108-3.05-114.777-39.585-139.875-95.688 34.093 53.034 99.78 80.55 163.875 63.375 79.34-21.26 126.572-103.035 105.313-182.375-17.273-64.464-74.524-107.727-137.938-110.28-1.83-.075-3.66-.12-5.5-.126zm17.75 19.905c50.192 7.036 93.66 43.192 107.625 95.313 18.644 69.584-22.51 140.886-92.094 159.53-44.968 12.05-90.625-.88-122.344-30.312 26.946-4.947 53.78 2.713 73.75 19.22-19.866-27.787-54.214-42.64-89.125-36.25-9.786-12.992-17.307-28.052-21.78-44.75-.462-1.72-.863-3.438-1.25-5.157 18.06-5.557 37.843-6.52 57.28-1.314 33.74 9.04 58.603 34.25 69.938 64.688-4.076-41.848-32.763-79.42-75.75-90.938-18.48-4.952-37.42-4.297-54.688.5-.265-20.476 4.33-40.36 12.97-58.22 40.108-10.7 84.804-.724 116.06 30.533 28.44 28.437 39.13 67.968 32.907 104.843 20.027-44.072 12.45-97.646-23.78-133.875-27.967-27.967-66.544-39.424-102.907-33.938 7.713-8.227 16.546-15.5 26.344-21.563 64.076-13.72 128.855 24.893 146 88.876 10.784 40.253.07 81.35-24.626 111.218 40.804-29.172 61.648-81.278 47.906-132.56-11.38-42.47-43.437-73.673-82.438-85.845z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HornedHelm;

impl IconShape for HornedHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M69.313 18.75c-1.574 2.353-3.376 4.513-4.813 7C29.19 86.9 50.184 165.194 111.344 200.5c.822.475 1.64.92 2.47 1.375 6.942-20.223 16.297-38.746 27.592-54.844-46.972-27.407-73.09-77.42-72.094-128.28zm366.218 0c1 51.074-25.34 101.293-72.686 128.625-.06.035-.128.06-.188.094 11.25 16.126 20.54 34.673 27.438 54.905 1.143-.615 2.275-1.222 3.406-1.875 61.16-35.306 82.154-113.6 46.844-174.75-1.437-2.487-3.24-4.647-4.813-7zm-183.655 83.063c-49.747 0-94.34 38.94-117.188 97.687 34.868-8.738 76.5-12.77 118.282-12.78 40.775-.013 81.443 3.814 115.843 12.124-22.932-58.378-67.38-97.03-116.938-97.03zm1.094 103.593c-61.1.017-122.17 10.173-156.44 27.875v59.69c38.836-8.845 89.384-13.424 140.626-14.158L219.28 395h59.97l-17.875-116.22c55.228.506 109.26 5.38 148.25 14.158V233.28c-34.38-17.77-95.545-27.89-156.656-27.874zm-61.064 94.78c-11.582.002-20.094 8.333-20.094 18.002 0 9.668 8.512 18 20.094 18 11.583 0 20.125-8.332 20.125-18 0-9.67-8.54-18-20.124-18zm114.688.002c-11.583 0-20.094 8.33-20.094 18 0 9.668 8.51 18 20.094 18 11.582 0 20.125-8.332 20.125-18 0-9.67-8.544-18-20.126-18zm44.625 2.625L300.06 493.938l81.844-21.25V306.75c-9.6-1.504-19.885-2.81-30.687-3.938zm-203.25.593c-10.817 1.254-21.174 2.733-30.845 4.438v164.844l81.844 21.25-51-190.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HornedSkull;

impl IconShape for HornedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M162.406 17.094l-2.5 5.468c-1.764 3.854-3.21 7.755-4.406 11.688-57.697 7.858-100.454 43.757-120.938 91.938-24.72 58.145-17.926 133.66 28.313 199.968l18.75 26.875-1.875-32.717c-2.258-39.849 6.348-76.108 24.813-105.125 1.163 4.493 3.05 8.937 5.5 13.125 6.947 11.873 18.43 22.89 33.124 31.375 10.822 6.247 21.975 10.296 32.594 12.03l-16.655 153.594-.625 5.72 4.813 3.124 88.187 57.25 5.063 3.28 5.093-3.28 88.78-57.22 4.845-3.123-.624-5.75-16.625-153.438c10.954-1.626 22.518-5.72 33.72-12.188 14.695-8.484 26.177-19.5 33.125-31.375 2.217-3.788 3.975-7.79 5.156-11.843 17.908 28.798 26.226 64.58 24 103.843l-1.842 32.718 18.75-26.874c46.238-66.307 53-141.823 28.28-199.97-20.405-47.997-62.914-83.802-120.28-91.842-1.454-4.184-3.2-8.282-5.282-12.25l-2.625-5H162.406zm12.28 18.687h164.75c12.584 29.53 5.358 68.857-19.28 104.47l-7.437 10.78 12.592 3.564c18.38 5.154 33.995 12.365 45.407 20.53-12.85.732-26.853 5.117-40.345 12.907-14.695 8.486-26.208 19.502-33.156 31.376-.412.702-.81 1.41-1.19 2.125l-.03-.03c-23.524 44.524-31.757 128.354-22.656 218.156l17.812-11.5c-5.25-63.274-1.185-123.153 9.188-164.156 5.136 4.396 11.757 6.967 18.875 8.063l16.217 149.562-2.718 1.75.092.125-71.093 45.844-5.095 3.28-5.063-3.28-70.625-45.844.094-.125-2.718-1.75L194.5 272.22c7.398-.96 14.313-3.467 19.688-7.908 10.354 41.11 14.392 101.066 9.093 164.375l17.782 11.563c8.678-84.91 1.864-164.532-18.718-210.75-1.156-3.452-2.728-6.85-4.625-10.094-6.95-11.874-18.43-22.89-33.126-31.375-13.383-7.725-27.268-12.09-40.03-12.874 11.265-7.91 26.54-14.9 44.5-20L200.186 152l-5.438-10.22c-21.613-40.676-31.158-75.677-20.063-106zm-22.905 17.626c-2.428 27.328 6.36 56.236 20.876 85.938-31.03 11.238-56.185 29.474-74.562 52.875l14.312-45-38.437 32.03 7.843-49.125-31.344 50.53-4.845-30.374c1.69-5.79 3.72-11.403 6.03-16.843 17.48-41.113 51.72-71.697 100.126-80.03zm211.657.282c47.646 8.687 81.383 39.045 98.688 79.75 3.03 7.128 5.544 14.595 7.5 22.312l-37.906-31.53 25.967 57.155-60.5-42 33.47 46.28-31.688-11.56c-3.664-3.396-7.514-6.615-11.533-9.69-.028-.022-.065-.038-.093-.06-6.315-5.24-13.66-9.945-21.844-14.126-.128-.067-.247-.155-.375-.22-.326-.175-.672-.326-1-.5-6.875-3.64-14.113-6.9-21.72-9.72 16.575-27.99 24.514-58.36 21.033-86.093zm-222.718 140c9.668.056 22.326 3.454 34.53 10.5 12.204 7.045 21.46 16.31 26.344 24.656 4.883 8.345 5.113 14.647 2.906 18.47-2.207 3.82-7.77 6.742-17.438 6.686-2.976-.017-6.245-.34-9.687-1 2.584-3.356 4.125-7.53 4.125-12.094 0-10.982-8.893-19.906-19.875-19.906-9.475 0-17.41 6.63-19.406 15.5-7.13-5.62-12.642-11.83-16.032-17.625-2.257-3.856-3.513-7.278-4-10.22h.093c0-3.024.52-6.028 1.532-9.03 2.49-3.437 7.905-5.99 16.907-5.938zm233.5 0c9.046-.053 14.496 2.505 16.967 5.968.005.007-.004.025 0 .03.99 2.987 1.47 5.978 1.47 8.97h.093c-.488 2.94-1.744 6.363-4 10.22-3.583 6.122-9.553 12.697-17.28 18.56-1.64-9.33-9.762-16.436-19.564-16.436-10.982 0-19.875 8.924-19.875 19.906 0 4.653 1.606 8.894 4.283 12.28-2.986.512-5.822.8-8.438.814-9.67.056-15.23-2.866-17.438-6.688-2.206-3.82-1.976-10.123 2.907-18.468 4.883-8.346 14.17-17.61 26.375-24.656 12.203-7.046 24.83-10.444 34.5-10.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HorseHead;

impl IconShape for HorseHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M236.156 19.906c-27 .295-52.444 5.788-75.75 15.938L210.22 141.5c9.623-5.683 20.014-10.723 31.186-15.03L258.47 20.843c-3.67-.34-7.32-.598-10.94-.75-3.815-.16-7.615-.23-11.374-.188zm40.813 3.407l-15.564 96.468c16.898-4.827 35.387-8.166 55.53-9.81l2.377-.19 68.03-41.843c-37.876-23.798-75.08-38.45-110.374-44.624zM143.655 44.156C124.946 54.62 107.858 68.31 92.812 84.97c-8.682 9.613-16.686 20.277-23.937 31.905l85.813 74.28c11.058-14.742 24.28-27.958 39.78-39.28l-50.812-107.72zm170 84.97c-98.41 9.502-148.772 59.09-172.437 127.718-23.358 67.732-18.883 154.58-1.814 235.97l232.22-.002c-13.15-51.313-36.813-75.542-55.532-96.53-10.04-11.257-19.156-21.87-22.75-35.97-2.973-11.657-1.41-24.738 5.156-40-11.903-3.81-26.067-3.973-43.125.188l-4.406-18.156c29.26-7.137 55.266-3.473 74.874 11.28 18.24 13.725 30.198 36.15 36.437 65.188 26.094 4.41 55.303 7.784 89.595 9.5 4.537-30.6 15.487-60.877 30.875-90.875-66.84-50.032-120.642-107.877-169.094-168.312zm-254.25 4.28c-12.305 23.56-21.735 50.528-27.75 80.563l93.28 32.968c5.143-14.15 11.484-27.632 19.19-40.22l-84.72-73.312zm220.938 42.344c13.897 0 25.156 11.26 25.156 25.156 0 13.898-11.26 25.156-25.156 25.156-13.897 0-25.156-11.258-25.156-25.156 0-13.897 11.26-25.156 25.156-25.156zM28.406 232.625c-3.147 21.435-4.62 44.283-4.218 68.438l84.75 16.375c2.073-18.17 5.39-35.827 10.218-52.72l-90.75-32.093zm-3.5 87.594c.968 17.276 2.856 35.174 5.75 53.655l75.688 1.47c-.246-13.2.05-26.307.906-39.19L24.906 320.22zm9 72.405c3.113 16.454 7.015 33.356 11.72 50.656l65.25-6.842c-1.765-14.152-3.054-28.315-3.814-42.407l-73.156-1.405zm79.53 62.344l-62.592 6.56c3.033 10.104 6.315 20.325 9.906 30.69h59.344c-2.515-12.318-4.75-24.754-6.656-37.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HospitalCross;

impl IconShape for HospitalCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174.688 28.063v71.625h-80.75v81.374H22.313v160.094h71.625v80.72h80.75v71.655H334.75v-71.655h81.375v-80.72h71.656V181.063h-71.655V99.688H334.75V28.064H174.688zm18.687 18.687h122.688v153H469.093v122.72H316.062V474.843H193.375V322.47H41V199.75h152.375v-153z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HotSpices;

impl IconShape for HotSpices {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M207.375 13.78v.064c83.385 68.488-50.732 105.97-37.22 175.22-20.55-13.762-28.066-46.66-8.78-74.97-51.085 21.935-73.42 51.99-72.156 97.562.945 34.13 14.638 61.58 35.843 82.188-9.787-27.448-12.016-55.74-5.188-79.813 35.742 49.332 137.785-19.994 147.094-79.28-.044 63.674 63.996 118.35 112.717 52.375 8.932 36.97 6.638 75.307-3.218 105.688 19.407-20.337 31.706-47.33 32.374-81.157.93-47.127-21.048-90.8-62.72-112.75 18.15 38.878-.498 65.598-43.655 83.75 40.28-67.494 16.386-154.454-95.095-168.875zm42.938 226.314c-5.97-.086-12.564 2.295-20.657 8.375-38.238 28.725-88.54 77.01-99.156 108.718-18.667-4.37-43.156 2.323-43.156 20.53 0 2.01.32 3.89.875 5.626-9.91-.4-20.22 3.9-20.22 13.03 0 16.998 35.74 17.686 38.063 1.657 10.356 2.978 22.947 2.34 32.218-2.03-.75 1.842-1.155 3.867-1.155 6.094 0 22.752 42.915 25.947 54.25 9.094 9.533 6.947 29.795 4.92 32.844-6.25 15.97 1.403 32.385 1.755 48.436.968 8.543 5.77 24.793 4.8 30.625-3 12.788-1.938 25.004-4.72 36.158-8.406 1.9 16.216 38.093 15.92 38.093-1.344 0-.75-.047-1.47-.186-2.156 11.238 3.032 26.594-1 26.594-12.25 0-11.025-15.614-15.103-26.875-12.03.36-28.628-58.605-80.767-105.063-116.595-7.39-5.698-14.014-9.92-21.688-10.03zM440 352.5c-9.547-.042-19.094 4.28-19.094 13.063 0 17.567 38.188 17.727 38.188 0 0-8.617-9.547-13.02-19.094-13.063zm-403.344 10c-9.547-.042-19.093 4.28-19.093 13.063 0 17.567 38.187 17.727 38.187 0 0-8.616-9.547-13.02-19.094-13.063zm430.563 20.406c-9.548-.042-19.095 4.28-19.095 13.063 0 17.566 38.188 17.725 38.188 0 0-8.618-9.547-13.022-19.094-13.064zm-49.69 25.438c-10.747-.047-21.5 4.8-21.5 14.687 0 19.776 43 19.955 43 0 0-9.7-10.75-14.64-21.5-14.686zm-79.967 2.97c-9.548-.02-19.094 4.385-19.094 13.248 0 12.037 18.638 15.825 29.874 11.032 9.403 8.896 34.72 6.462 34.72-7.844-.002-12.274-18.61-16.01-29.845-11.125-3.628-3.506-9.637-5.3-15.658-5.313zm-87.22 1.623c-9.546-.04-19.093 4.248-19.093 13.032 0 17.566 38.188 17.725 38.188 0 0-8.618-9.547-12.99-19.094-13.033zm-129.124 14.72c-11.25-.024-22.5 5.12-22.5 15.562 0 12.422 16.83 17.38 29.905 14.624 8.686 9.834 35.5 7.69 35.5-7.03 0-9.57-11.34-13.963-21.656-13.127-3.226-6.658-12.237-10.012-21.25-10.03zM294.75 439c-8.405-.037-16.8 2.873-20.25 8.78-14.795-4.1-35.25 1.04-35.25 15.783 0 21.294 42.68 23.124 49.313 5 12.56 2.32 28.093-2.493 28.093-14.594 0-9.88-10.958-14.922-21.906-14.97zm-97 22.656c-10.748-.047-21.47 4.8-21.47 14.688 0 19.776 42.97 19.955 42.97 0 0-9.7-10.752-14.64-21.5-14.688zm228.125 1.406c-9.547-.04-19.094 4.28-19.094 13.063 0 17.567 38.19 17.726 38.19 0 0-8.616-9.548-13.02-19.095-13.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hound;

impl IconShape for Hound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M137.75 17.28l-15.313 78.782 20.313 56.876h45.97L137.75 17.28zM74.5 19L20 378.156v116.156h208L210.125 386.5H113.28l-2.218-6.156-25.78-71.594 17.562-6.344 23.562 65.406h90.344l230.688-2.968 9.812-33.406H278.5V312.75h184.22l7.374-25.156L415.53 209.5H291.47l-20.345-37.594h-75.28l-.095-.28h-46.313L159.563 200l-17.593 6.28-26.532-74.25-.126.72L74.5 19zm133.375 178.22h56.094l21.405 38.874-26.094-.438-51.405-38.437zm230.47 12.28l38.53 55.094L493.03 209.5h-54.686zm-82.814 15.938c6.613 0 11.97 5.356 11.97 11.968 0 6.613-5.357 11.97-11.97 11.97-6.61 0-11.967-5.357-11.967-11.97 0-6.612 5.356-11.97 11.968-11.97zm44.595 0c6.612 0 12 5.356 12 11.968 0 6.613-5.388 11.97-12 11.97s-11.97-5.357-11.97-11.97c0-6.612 5.358-11.97 11.97-11.97zm-66.188 29.187c6.612 0 11.97 5.356 11.97 11.97 0 6.61-5.358 11.967-11.97 11.967-6.61 0-11.968-5.356-11.968-11.968 0-6.613 5.356-11.97 11.967-11.97zm43.125 0c6.612 0 12 5.356 12 11.97 0 6.61-5.388 11.967-12 11.967-6.61 0-11.968-5.356-11.968-11.968 0-6.613 5.357-11.97 11.97-11.97zm42.063 0c6.612 0 11.97 5.356 11.97 11.97 0 6.61-5.358 11.967-11.97 11.967-6.612 0-11.97-5.356-11.97-11.968 0-6.613 5.358-11.97 11.97-11.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hourglass;

impl IconShape for Hourglass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.656 19.188v41.5h331.72v-41.5H92.655zM119.5 79.374V433.53h22.28V79.376H119.5zm46.594 0c3.212 43.324 13.312 82.022 27.78 110.906 17.685 35.304 40.845 54.75 64.064 54.75 23.218 0 46.346-19.446 64.03-54.75 14.47-28.883 24.57-67.58 27.782-110.905H166.094zm209.156 0V433.53h22.28V79.376h-22.28zm-117.313 185.22c-23.218 0-46.378 19.415-64.062 54.717-14.835 29.614-25.098 69.562-28.03 114.22H350c-2.933-44.658-13.197-84.606-28.03-114.22-17.686-35.302-40.814-54.718-64.033-54.718zM92.657 452.218v41.467h331.718V452.22H92.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HuntingHorn;

impl IconShape for HuntingHorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M239.156 37.75c-10.482 0-18.78 8.3-18.78 18.78 0 10.483 8.298 18.75 18.78 18.75 10.482 0 18.78-8.267 18.78-18.75.002-10.48-8.298-18.78-18.78-18.78zm30.78 40.03c-3.68 5.29-8.692 9.602-14.53 12.44l68.875 128.155 11.44-18.188L269.936 77.78zm-61.342.282l-86.656 161.25 16.468 8.875 84.78-157.843c-5.847-2.782-10.873-7.042-14.592-12.28zM45.188 160.406l-24.97 3.313 3.563 45.186 29.845-3.25-8.438-45.25zm317.968 32.125l-35.03 52.814L442.75 364.75l54.875-32.156-134.47-140.063zM53.376 224.5l-17.22 1.875c2.953 19.654 8.28 38.592 15.657 56.47l31.593-29.72c-11.057-8.548-21.156-18.13-30.03-28.625zM109.78 254l-60.624 57 13.875 23.72 72.814-66.69L109.78 254zm215.845 14.625c-57.23 35.417-124.366 37.77-181.72 17.375l-58.843 53.844c41.063 52.304 103.08 86.312 172.938 86.312 65.384.002 123.118-19.914 161.875-59.406l-10.47-10.906c-15.392 12.397-35.67 22.09-54.75 25.375 11.426-8.788 24.36-20.352 35.064-31.876-32.882 22.27-73.838 35.722-101.283 32.344 31.562-8.1 70.43-32.47 90.407-57.657l-24.375-25.374c-18.687 9.08-42.456 13.885-63.033 12 15.763-6.55 34.606-16.258 49.25-26.344l-15.062-15.687z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Hydra;

impl IconShape for Hydra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M345.594 20.28c-11.443.087-23.37 1.194-36.094 3.845 33.485 7.004 54.532 21.844 65.844 39.22-15.476-2.647-30.64-4.472-45.47-5.532L311 40.374l-19.28 16.438c-7.537.167-14.98.55-22.314 1.156L239.97 41.78l-14.907 22.814c-8.1 1.775-16.05 3.846-23.844 6.22l-29.47-14.97-11.313 30.75c-8.783 4.197-17.31 8.868-25.593 13.937l-32.688-5.31-.47 29.03c-6.313 5.248-12.44 10.808-18.374 16.656H48l3.563 36.656c-4.38 5.908-8.603 12.045-12.688 18.375L18.47 192.25v39.5c-.012.02-.022.042-.032.063V493.28h18.5c23.523-92.965 94.565-130.4 168.968-85.25 42.127 25.566 93.783 62.296 149.063 41.158-.9 7.955-3.276 15.623-6.908 22.562l95.344 19.188c2.99-7.75 5.584-15.712 7.625-23.563-3.557 2.29-10.352 4.79-19.78 3.313-41.302-6.47-33.15-54.034-.53-58.407 10.915-1.456 21.15 3.22 27.56 11.25l18.283-38.874c-68.1 6.078-129.61-30.834-197.47-16.687 35.468 7.415 56.983 23.64 67.75 42.342-7.332.564-14.425.598-21.28.157l-10.813-10.25-13.625 6.436c-5.98-1.52-11.737-3.448-17.313-5.75l-7.718-15.47-10.906 5.97c-7.152-4.38-13.924-9.414-20.344-15.062l-1.813-26.75-19.436 5.03c-7.508-7.63-15.15-13.68-22.875-18.343l-1.282-19.75-23.875 9.408c-11.712-2.7-23.455-2.622-35.063-.25 44.223-90.392 134.06-92.4 180.813-64.563-5.227 5.68-11.388 10.355-18.125 13.78l66.562 70.908c6.928-4.58 13.63-9.564 19.844-14.782-4.228-.204-14.15-5.01-17.47-8.06-34.53-31.74 7.1-63.854 32.876-48.626 9.484 5.603 15.366 14.898 15.938 25.156l34.75-23.875c-59.015-34.522-85.098-97.445-148.594-125.25 23.092 24.968 31.707 49.115 30.97 69.75-8.93-6.752-18.606-12.1-28.845-16.188l-13.845-21.25-18.188 12.75c-5.18-.755-10.455-1.246-15.78-1.5l-19.094-18.093-15.25 19.687c-7.918 1.068-15.884 2.592-23.844 4.564l-15.75-13-9.75 20.812c-6.988 2.552-13.936 5.42-20.782 8.594l-23.594-8.28-8.625 25.874c-12.263 7.768-23.966 16.49-34.876 26.062C124.307 122.443 296.518 88.99 384.938 108.562c-1.12 6.798-3.333 13.35-6.47 19.344l95.344 19.188c2.99-7.75 5.585-15.71 7.625-23.563-3.558 2.29-7.502 5.33-11.968 4.72-46.308-6.31-43.81-54.725-8.345-59.813 10.903-1.57 21.15 3.193 27.563 11.22 1-10.184 1.808-35.654 2.187-45.907-55.332 4.938-95.695-13.84-145.28-13.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HydraShot;

impl IconShape for HydraShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.438 20.063c-6.856-.07-11.186 7.654-3.063 15.78l315.53 346.688c-4.782 6.952-10.63 12.444-16.5 16.783l81.69 94.875c11.577-6.95 22.384-14.636 32.592-22.907-6.568.54-13.36-.86-19.5-4.405-16.038-9.26-21.54-29.743-12.28-45.78 6.076-10.526 16.99-16.53 28.312-16.783 5.93-.132 11.986 1.317 17.5 4.5 12.5 7.218 18.583 21.275 16.28 34.72 11.174-11.344 21.762-23.25 32.03-35.47l-189.874-160.28c18.826 26.837 29.97 49.297 35.688 68.124L34.063 24.156c-2.86-2.858-5.943-4.067-8.626-4.093zm60.843 1.312c-10.29.46-13.115 12.897.44 16.53l254.468 98.876c-.642 8.503-3 16.25-5.938 23l118.156 41.314c6.554-11.81 12.07-23.886 16.78-36.156-5.424 3.762-11.995 5.968-19.092 5.968-18.52 0-33.53-15.01-33.53-33.53-.002-18.52 15.01-33.532 33.53-33.532 14.444 0 26.773 9.132 31.5 21.937 4.012-15.413 7.215-31.028 10-46.75L248 35.157c30.608 14.242 51.855 28.52 66.25 42.344L90.97 21.937c-1.303-.348-2.508-.527-3.657-.562-.348-.01-.7-.015-1.032 0zM367.595 77.25l49.125 10.28L401.186 108l-33.593-30.75zm-344.75.094c-4.748.095-8.76 4.893-6.157 13.5l53.75 268.937c-8.64 5.273-17.805 7.86-26.25 9.095l27.22 122.22C84.91 490.43 98.08 488.76 111 486.28c-6.06-2.62-11.41-7.057-15.156-13.092-9.77-15.734-4.953-36.388 10.78-46.157 5.41-3.357 11.412-5.004 17.345-5.06 11.324-.11 22.432 5.517 28.843 15.842 7.63 12.293 6.337 27.606-2.094 38.375 15.226-4.732 30.186-10.284 45.03-16.218l-91.72-230.94c3.786 31.363 3.21 55.78-.28 74.782L32.5 86.063c-1.82-6.018-5.963-8.793-9.656-8.718zm360.312 263.969l37.406 33.5-23.656 9.937-13.75-43.438zm-259.625 6.875l15.657 47.718-24.218-2.156 8.56-45.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HypersonicBolt;

impl IconShape for HypersonicBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M13.03 14.156V60.47l119.782 144c10.884-12.14 22.31-24.247 34.282-36.22 11.13-11.13 22.32-21.773 33.53-31.938L54.065 14.156H13.03zm432.533 5.97c-2.307.043-4.7.183-7.188.405-19.907 1.777-44.893 9.52-72.656 22.782-45.372 21.676-98.133 57.952-150.564 105.126l-.03-.032c-.96.864-1.918 1.754-2.876 2.625-1.927 1.75-3.856 3.504-5.78 5.282-.034.03-.063.064-.095.094-2.795 2.583-5.585 5.17-8.375 7.813-.107.1-.205.21-.313.31-2.9 2.75-5.796 5.562-8.687 8.376-2.902 2.825-5.797 5.674-8.688 8.563-.078.077-.17.14-.25.218l-.812.812C116.164 245.746 68.015 312.14 41.5 367.53c-13.316 27.82-21.125 52.866-22.938 72.814-1.812 19.948 2.15 34.025 10.97 42.844 8.818 8.818 22.895 12.78 42.843 10.968 19.948-1.812 44.995-9.59 72.813-22.906 36.475-17.46 77.708-44.312 119.687-78.625l-13-15.625c-76.125 63.634-142.623 97.127-161.97 77.78-21.25-21.25 21.226-99.45 97.407-184.75l.344.408c12.673-14.077 26.176-28.306 40.438-42.563 12.84-12.838 25.715-25.043 38.47-36.594l-.408-.343c86.176-77.464 165.56-120.875 187-99.437 19.556 19.554-14.89 87.342-79.875 164.5l15.658 13.03c35.244-42.798 62.73-84.904 80.468-122.03 13.264-27.763 21.037-52.75 22.813-72.656 1.775-19.907-2.235-33.953-11.064-42.78-7.725-7.726-19.446-11.746-35.594-11.44zM281.03 203.343c-13.175 11.87-26.468 24.473-39.75 37.75-14.714 14.71-28.594 29.393-41.56 43.875l66.436 79.874c-.017.014-.045.016-.062.03l13.125 15.75.03-.03 46.03 55.344c-25.77 6.714-52.722 5.31-77.03-7.657 4.94 6.544 9.707 13.083 15.72 19.095 58.928 58.93 146.78 66.75 196.092 17.438 49.314-49.314 41.523-137.165-17.406-196.094-3.683-3.685-6.796-7.407-10.687-10.69-2.463-2.075-5.342-3.71-7.876-5.624 14.742 25.24 16.597 52.502 9.625 78.22L281.03 203.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HypersonicMelon;

impl IconShape for HypersonicMelon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M244.393 21.71c70.753 227.078 24.39 255.256-145.288 70.667 156.26 211.317 138.91 236.826-81.835 168.78 214.48 98.327 221.15 141.145 7.117 174.622 153.197-4.492 206.012 2.427 252.03 13.958-11.106-18.2-24.713-62.328-31.007-84.205-26.17-90.946 26.588-148.03 123.346-121.476 25.575 7.02 64.28 25.216 84.375 39.295-8.897-41.512-14.905-88.61-17.196-260.473-32.59 227.458-93.39 223.505-191.54-1.17zM359.535 287.83c-19.69.214-38.302 7.122-52.213 21.033-31.798 31.8-27.006 88.142 10.698 125.845 14.87 14.87 32.64 24.598 50.658 29.004-1.573.255-3.155.485-4.752.675-25.398 3.016-49.814-2.738-70.028-15.207 21.832 34.076 61.802 54.41 104.664 49.318 59.76-7.098 102.735-60.99 95.635-120.752-4.098-34.5-23.785-63.52-51.304-80.36 8.688 13.488 14.65 29.253 16.67 46.25.777 6.546.952 13.02.572 19.374-5.05-15.512-14.085-30.57-26.967-43.45-21.21-21.21-48.315-32.004-73.633-31.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct HypodermicTest;

impl IconShape for HypodermicTest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M429.125 19.313l-103.22 117.812-29.5-25.938-7-6.156-6.155 7-157.125 177.845c-1.513-12.86-7.577-25.217-18.03-34.375-11.208-9.816-25.404-14.166-39.25-13.25-13.85.916-27.342 7.106-37.157 18.313-19.632 22.413-17.35 56.773 5.062 76.406 20.25 17.736 50.262 17.596 70.344.874l18.28 16.062L63.19 424.5 27.28 393.094c-43.194 49.26 52.96 137.527 98.19 85.937l-35.72-31.25 62.094-70.624 15.656 13.75c-13.85 22.104-10.03 51.822 10.188 69.53 22.412 19.634 56.774 17.353 76.406-5.06 19.63-22.415 17.35-56.775-5.063-76.407-9.838-8.62-21.997-13.02-34.186-13.345l155.97-176.594 6.186-7.03-7.03-6.156-30-26.375L443.155 31.624l-14.03-12.313zM448 59.374c0 68.735-44.594 97.895-44.594 138.656 0 24.618 19.98 44.564 44.594 44.564 24.615 0 44.594-19.946 44.594-44.563 0-44-44.594-67.328-44.594-138.655zM196.656 238.28l59.594 52.19-14.28 16.155-59.595-52.188 14.28-16.156zM71.75 260.72c8.49-.152 17.087 2.76 24.03 8.842 14.816 12.978 16.29 35.216 3.314 50.032-12.977 14.816-35.216 16.29-50.03 3.312-14.817-12.977-16.29-35.215-3.314-50.03 6.49-7.41 15.277-11.497 24.313-12.095.564-.036 1.12-.05 1.687-.06zm99.97 5.78l17.31 15.188-1.968 2.218-49.312 55.97-17.375-15.25L171.72 266.5zm43.718 38.313l15.875 13.906-51.407 58.186-15.72-13.812 51.25-58.28zm-2.75 79.375c8.49-.155 17.086 2.73 24.03 8.812 14.816 12.977 16.29 35.246 3.313 50.063-12.976 14.816-35.215 16.29-50.03 3.312-12.956-11.35-15.692-29.794-7.5-44.156.005-.01-.005-.025 0-.033l5.25-5.906 4.594-5.186c5.547-4.108 12.037-6.406 18.656-6.844.565-.037 1.12-.052 1.688-.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceBolt;

impl IconShape for IceBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.094 18.125v43.53l76.156 9.407-29.97-52.937H18.095zm117.437 0l57 34.125-13.186-34.125H135.53zm121.22.156l-19.938 7.314 60.344 61.468-19.844-52.218L256.75 18.28zM114.812 35.188l18.97 59.157 58.155 25.625.22 63.56 36.75-8.28-33.5-92.938-80.595-47.124zm94.47 7.126l48.843 138.656 3.625-61.626 29.53-3.78-82-73.25zm118.655 6.562l-8.406 23.344 60.345 61.468L350.5 51.906l-22.563-3.03zm-285.5 42.75l54.657 47.5 4.094-44.875-58.75-2.625zm353.97 2.938l9.937 67.187-27.97 54.625 31.626-30 18.563-46.28-32.157-45.532zM18.093 106.78v67.5l21.843 11.97 62.657.28-84.5-79.75zm314.656 18.19l-6.594 6.624-40.78 40.75 13.218 13.22 24.812-24.814v28.22l-12.625 12.624 12.626 52.97v2.217l-31.094 17.94-2-1.158-39.5-37.343-17.218 4.593-24.438-14.094 33.875-9.064-4.843-18.062L182.53 214.5l-9.03 2.438 2.406 9.03 14.938 55.657 18.03-4.844-9.093-33.874 24.44 14.125 4.624 17.22 52.125 15.53 1.842 1.064v36.062l-1.843 1.063-52.126 15.53-4.625 17.22-24.44 14.124 9.095-33.875-18.063-4.845-14.906 55.688-2.406 9 9.03 2.437 55.657 14.906 4.844-18.062-33.874-9.063 24.438-14.124 17.22 4.625 39.56-37.405 1.845-1.063 31.186 18v2.125l-12.625 52.97 12.626 12.624V457l-24.812-24.813-13.22 13.22 40.782 40.75 6.594 6.624 6.594-6.624 40.78-40.75-13.218-13.22-24.812 24.814v-28.22l12.625-12.624-12.626-52.97v-2.28l31.03-17.937 2 1.155 39.563 37.406 17.22-4.624 24.437 14.125-33.875 9.064 4.842 18.062L483 403.25l9-2.438-2.406-9-14.906-55.687-18.063 4.844 9.094 33.874-24.44-14.125-4.624-17.22-52.125-15.53-2.155-1.25v-35.69l2.156-1.25 52.126-15.53 4.625-17.22 24.44-14.124-9.095 33.875 18.063 4.845 14.906-55.656 2.406-9.032-9-2.438-55.688-14.906-4.843 18.062 33.874 9.063-24.438 14.093-17.22-4.594-39.498 37.343-2.157 1.25-30.936-17.875v-2.375l12.625-52.97-12.626-12.624v-28.22l24.812 24.813 13.22-13.22-40.782-40.75-6.594-6.624zm-203.47 1.124l-17.56 35.156 46.843 33.97 14.062-53.876-43.344-15.25zm-66.874 76.25l56.657 85.844 40.562 13.218-14.72-80.5-14.624-14.625-18.31 15.814-49.564-19.75zm-23.468 28.594l-7.688 27.5 35.094 18.625 1.344-27.875-28.75-18.25zm293.656 42.093l31.094 17.94v35.874l-31.094 17.97-31.094-17.97V290.97l31.094-17.94zM93.5 304.47l31.906 56.905 32.78 7.28 11.44-39.405L93.5 304.47zm-25.75 53.624l16.094 46.72 66.72-8.127-82.814-38.593zm78.375 66.97L117 453.717l95.844-20.533-66.72-8.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceBomb;

impl IconShape for IceBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M102.594 25.25c-.672 0-1.33.013-2 .03-16.057.432-31.337 6.06-44.03 15.126-33.852 24.18-50.126 74.626-18.408 117.75C63.13 192.11 52.25 236.92 26.406 261.97l13 13.436c31.974-30.99 44.87-86.05 13.782-128.312-25.944-35.273-12.25-72.562 14.218-91.47C80.64 46.172 96.88 41.747 113.22 44.97c15.68 3.092 31.976 13.18 46.405 34.655l-59.22 34.28 24.126 41.907c-49.46 63.358-58.506 153.024-15.905 227.032 55.97 97.235 179.88 130.596 276.75 74.5 96.87-56.096 130.033-180.39 74.063-277.625-37.606-65.33-105.866-101.82-176-101.72-9.166.013-18.365.66-27.532 1.938l-24.22-42.063-55.842 32.344c-16.773-25.376-37.755-39.373-59-43.564-4.776-.942-9.55-1.403-14.25-1.406zM285.78 137.5l56.783 32.78-28.063 48.564c5.73 2.402 11.203 5.505 16.22 9.312l28.03-48.53 56.688 32.718v65.53h-55.97c.807 6.256.804 12.516.032 18.688h55.938v65.5l-56.72 32.75-27.874-48.312c-2.508 1.91-5.135 3.694-7.938 5.313-2.683 1.548-5.438 2.88-8.22 4.062l27.877 48.28-56.782 32.783-56.686-32.75L256.906 356c-5.728-2.398-11.172-5.51-16.187-9.313l-27.814 48.157-56.78-32.78V296.56h55.718c-.773-6.25-.707-12.525.094-18.687h-55.813v-65.53l56.75-32.75 28 48.436c2.408-1.812 4.948-3.516 7.625-5.06 2.805-1.62 5.683-3.003 8.594-4.22l-28-48.53 56.687-32.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceCube;

impl IconShape for IceCube {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M238.406 26.844c-9.653.12-18.926 2.69-30.437 7.062l-157.282 57c-20.984 7.65-21.587 11.834-22.344 33.28L20.937 358.22c-1.207 27.514-.654 33.187 23.25 43.56L229.97 483.19c19.34 8.29 31.906 7.655 45.186 3.218l181.938-56.53c21.95-7.295 25.04-9.627 25.875-36.845l7.686-250.155c.662-17.37-5.667-24.695-18.78-29.625L271.062 34.375c-12.977-5.344-23.003-7.653-32.657-7.53zm.813 24.875c23.637-.053 45.564 8.434 87.874 24.874 95.545 37.123 131.71 53.8 69.687 77.937-74.002 28.802-128.175 45.115-172.28 25.814L113.47 131.75c-34.57-15.127-44.69-27.46 17.843-50.094 55.64-20.14 82.742-29.882 107.906-29.937zm44.718 43.75c-38.284.402-55.285 21.205-56.813 38.936-.873 10.132 2.95 19.6 12.406 26.25 9.456 6.65 25.355 10.56 48.97 5.938 35.817-7.01 61.536-15.056 77.5-22.844 7.982-3.894 13.464-7.737 16.5-10.844 3.036-3.107 3.453-4.942 3.438-6-.016-1.057-.44-2.675-3.313-5.406-2.873-2.73-8.03-6.04-15.22-9.156-14.378-6.233-36.757-11.877-65.717-15.72-6.355-.842-12.28-1.213-17.75-1.155zM59.25 134c10.372-.29 29.217 7.2 63.906 22.656 140.925 62.786 140.52 65.876 130.97 200.656-7.783 109.81-8.797 109.85-128.47 59.282-73.15-30.91-86.806-40.853-85.187-88.97l5.468-162.937c.674-20.034 1.557-30.358 13.312-30.687zm381.938 30.906c29.172-.384 29.1 28.075 26.75 105.25-4.118 135.132-9.05 140.184-120.375 173.72-70.42 21.21-81.49 25.614-78.97-12.032l11-164.156c3.217-48.034 7.588-51.508 94.813-83.907 31.323-11.633 52.534-18.686 66.78-18.874zm-20.438 40.688c-.332-.002-.674.015-1 .03-5.22.263-10.226 2.77-14.188 8.407-3.96 5.638-6.81 14.71-5.687 27.907 1.448 17.033-4.507 38.11-15.156 56.938-10.65 18.827-26.502 35.91-47.814 38.813-29.127 3.968-42.41 23.58-43.5 42.062-.545 9.24 2.108 18.03 7.688 24.594s14.088 11.335 27.187 12.03c41.146 2.185 71.336-10.766 91.595-39.155 20.26-28.39 30.396-73.76 25.875-136.595-1.876-26.076-14.708-34.977-25-35.03zm-246.25 8.844c-.644 0-1.218.063-1.72.187-2.003.494-3.685 1.53-5.655 4.813-1.913 3.186-3.688 8.618-4.406 16.343l-.064.657c-1.388 16.732-8.098 28.602-17.844 35.063-9.745 6.46-20.794 7.808-31.125 9.094-10.33 1.286-20.177 2.39-28.156 5.75-7.977 3.36-14.36 8.38-19.468 19.78-7.2 16.076-7.143 28.027-3.124 38.563 4.018 10.537 12.688 20.106 24.687 28.75 23.998 17.29 60.27 29.956 88.906 41.844 11.386 4.727 20.496 6.484 27.282 6.126 6.787-.358 11.278-2.423 15.375-6.562 8.195-8.28 14.057-27.692 15-57.344 2.024-63.623-18.84-110.284-38.656-130.875-8.668-9.008-16.52-12.193-21.03-12.188zm184.22 6.812c-.95-.003-1.927.035-2.97.094-35.464 1.99-48.477 12.867-52.5 24.062-4.023 11.196.826 27.07 10.844 39.78 11.488 14.58 20.59 15.736 30.437 12.283 9.848-3.455 20.542-14.108 27.376-26.908s9.512-27.397 7.188-36.28c-1.163-4.443-3.144-7.422-6.47-9.626-2.908-1.928-7.274-3.388-13.905-3.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceShield;

impl IconShape for IceShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.303 23.195C191.17 23.188 122.745 33.57 54.896 54.732l-6.12 2.825-.303 6.52c0 95.313 9.696 178.568 40.297 249.96 30.6 71.392 82.32 130.185 165.277 174.62l4.672 2.337 4.087-2.336C343.87 445.236 396.29 386.753 427.5 315.205c31.21-71.547 41.465-155.484 41.465-251.13V57.07l-6.424-2.336c-67.16-21.138-135.104-31.53-203.237-31.537zm0 18.69c63.658.006 127.43 10.16 190.388 29.2-.554 91.083-10.827 170.314-39.71 236.528-29.03 66.545-76.342 120.412-151.26 161.772-77.04-42.382-124.524-95.885-153.015-162.356-28.282-65.985-37.458-145.078-37.96-235.944 63.81-19.192 127.7-29.208 191.558-29.2zm2.385 38.52l-55.875 32.44 30.125 52.218c-5.717 2.35-11.042 5.44-15.844 9.187l-30.125-52.188-55.782 32.376v63.812h60.53c-.418 3.04-.655 6.156-.655 9.313 0 3.177.232 6.305.656 9.375h-60.532V301.5l55.718 32.344 30.313-52.5c4.787 3.774 10.088 6.905 15.78 9.28l-30.25 52.438 55.938 32.47 55.906-32.376-30.344-52.53c5.696-2.38 10.99-5.534 15.78-9.313L333.44 334l55.25-32v-65.063H328.5c.424-3.07.656-6.197.656-9.375 0-3.156-.237-6.27-.656-9.312h60.188v-64.344l-55.313-32-30.22 52.375c-4.803-3.75-10.123-6.864-15.842-9.218l30.218-52.343-55.842-32.314zm-.094 97.97c27.22 0 49.22 21.964 49.22 49.188-.002 27.224-21.996 49.187-49.22 49.187s-49.188-21.966-49.188-49.188c0-27.22 21.967-49.187 49.188-49.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IceSpear;

impl IconShape for IceSpear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M22.063 20.72v44.03L96.22 98.03l-4.657 29.22 44.968 46.72-26.28 64.81 168.78 55.5v.564l-41.467 12.28 32.687 74.75-40.28-37.374-32.72-4.094-54.875-37.97 39.125 61.908 43.78-.563 52.564 47.876 33.312-7 186.28 94.594-42.623-87-29.188-127.906-38.563-37.375-9.343-48.47-34.44-32.72 12.25 74.19 56.064 63.06-11.094 39.126L386.344 301l-35.5-15.25-26.063 18.625 54.095 32.53-84.094-21.592 18.126-38.563-62.812-47.656-23.406-144.47-48.125-15.186 9.937 65.406 28.03 3.937-44.968 35.5-21.03-110.124-48.47-11.094-7.468-32.343h-72.53zm95.656 0l5.624 13.155 68.97 18.97-32.75-32.126h-41.845zm75.5 0l32.53 37.093-.813-37.094H193.22zm67.655 2.624l-15 38.5 6.72 33.562 23.25-33.562-14.97-38.5zm107.688 2.03L332.03 33.22l14.314 36.81 22.22-44.655zm-3.875 56.532l-7.47 36.188L388.126 112l-23.438-30.094zm-342.625 6.25v41.406L85 115.438l-62.938-27.28zm251.343 9.75l.125 33.813 56.94 54.593-23.22-83.22-33.844-5.187zm-202.03 38.438l-37.97 12.625 74.625 26.686-36.655-39.312zm197.5 19.344l9.53 68.062 56.406 40.656-5.156-53.437-60.78-55.282zm-245 7.75L89.75 235.28l12.344-40.686-78.22-31.156zm8.5 54.218l-11.688 39.72 41.374-14.126-29.687-25.594zM70.75 253.78l-17.094 28.25 32.063 13.94 69.686-25.19-84.656-17zm132.594 32.845l-52.438 1.25 51.125 36.344 24.032-2.47-22.718-35.125zM47.688 300.22l-19.626 28.374 37.22 1.812-17.594-30.187zm52.468 25.53l20.313 30.875 17.56-26.156-37.874-4.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Icebergs;

impl IconShape for Icebergs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.406 17.656c-132.32 0-239.78 107.462-239.78 239.78 0 132.32 107.46 239.783 239.78 239.783 39.422 0 76.644-9.546 109.47-26.44 34.317-14.445 59.8-37.046 78.062-64 .03-.042.064-.08.093-.124 32.635-40.965 52.158-92.835 52.158-149.22 0-132.318-107.462-239.78-239.782-239.78zm0 17.875c79.25 0 148.696 41.435 187.938 103.845l-48.97 39.5-12.093-38.688-1.342-4.343-4.282-1.625-56.062-21.032-9.72-3.626-2.624 10.032-18.875 72.75-46.938-79.813-6-10.186-8.53 8.187-53.313 51.25-27.438-24.593-4.22-3.78-5.28 2-56.062 21-3.938 1.468-1.5 3.906-42.25 108.782c-.252-4.34-.406-8.72-.406-13.125 0-122.653 99.253-221.906 221.906-221.906zm-21.094 100.095l46.063 78.313-79.47 142.03 33.407-220.343zm130.97 14.28l.53.19 15.72 50.31 38.562 155.376-16.938 60.75-36.78-24.53 15.155-61.906-13.467-9.344L383.03 253l-18.31-3.78-12.345 60L337 298.56l29.28-148.656zm-224.594 6.564l27.875 25 3.03 2.718-13.718 44.28-30.97 9.345 16.94 36.812-12.25 39.125-25.72-57.25 34.813-100.03zm323.718 26.25c8.33 23.34 12.875 48.494 12.875 74.718 0 24.476-3.98 48.023-11.28 70.03l-24.875-75.624L454.375 232l-2.344-25.125 13.376-24.156zM56.812 354.593l136.813 12.156-20 42.594 121.97 36.844 54.342-39.125 42.688 25.593c-37.584 29.247-84.843 46.656-136.22 46.656-2.23 0-4.44-.028-6.655-.093l30.03-21.626-113.624 2.625c-47.723-21.237-86.527-58.794-109.344-105.626z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IciclesAura;

impl IconShape for IciclesAura {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.82 18.514c-1.538-.042-3.118.125-4.656.125-32.843 0-59.586 33.905-59.586 75.917 0 21.273 7.083 40.47 18.096 54.287-7.947 1.232-15.16 3.625-21.688 7.004l-.066-.465c-21.085 10.394-34.678 31.075-42.815 58.777-4.388 14.94-6.894 31.782-7.736 49.553-.034.657-.06 1.32-.087 1.978-.037.938-.092 1.866-.12 2.808l.013-.016c-.013.397-.022.795-.033 1.192l-.014-.004c-.01.333-.01.67-.017 1.004-.565 22.66 1.55 46.508 5.914 69.724h23.56L172.57 237.02l1.785-1.98 16.883-.165 1.248 126.938 8.74 132.626h46.895V318.847h18.69v175.59h44.32l11.475-154.04h.055l1.035-105.523 15.606.154 3.05 3.376-1 101.992h24.51c16.256-78.303.03-158.175-47.17-183.627l-.13-.073v.002c-6.087-3.265-12.68-5.636-19.79-6.973 11.508-13.88 18.98-33.36 18.98-55.17 0-39.388-23.415-72.02-53.406-75.918h-.002c-.5-.076-1.01-.112-1.522-.126zm-138.877.062l21.733 94.787 26.586 34.713c5.16-4.086 10.777-7.594 16.855-10.437-5.548-13.12-8.664-27.926-8.664-43.45 0-1.243.037-2.476.076-3.71l-56.587-71.904zm265.782 0l-53.29 67.72c.18 2.61.29 5.237.29 7.893 0 16.542-3.534 32.27-9.786 46.005 4.808 2.61 9.335 5.635 13.568 9.05l27.484-35.886 21.733-94.784zM64.037 81.902l46.19 76.31 37.8 18.202c3.21-5.437 6.79-10.53 10.748-15.215l-32.15-41.975-62.588-37.323zm385.594 0l-62.59 37.325-33.08 43.19c3.828 4.506 7.336 9.376 10.52 14.556l38.96-18.762 46.19-76.308zm-420.86 78.46l53.515 42.034 51.88 6.526.01-.027c1.59-5.413 3.44-10.67 5.54-15.74L93.58 170.936 28.77 160.36zm456.128 0l-64.814 10.577-46.938 22.603c2.152 4.86 4.08 9.896 5.776 15.074.04.12.076.243.115.363l52.346-6.584 53.515-42.035zM80.305 220.98l-59.866 11.48 76.238 27.143 28.87 4.44c.554-12.688 1.93-25.047 4.212-36.84l-49.455-6.223zm353.058 0l-49.36 6.21c2.63 11.738 4.363 24.043 5.257 36.677l27.734-4.266 76.236-27.143-59.867-11.478zm-339.418 57.11l-74.814 52.72 87.286-.964 20.588-18.703c-.95-9.458-1.526-18.897-1.693-28.23l-31.365-4.823zm325.778 0l-29.746 4.574c.063 10.024-.368 20.174-1.262 30.342l18.537 16.84 87.285.964-74.814-52.72zm-334.01 78.01l-51.61 58.302 75.004-20.424 22.9-37.56-46.294-.318zm341.746 0l-46.294.318 22.898 37.56 75.004 20.424-51.61-58.302zM159.49 400.455L121.346 419.7l-11.664 69.577 50.79-48.36-.98-40.462zm194.186 0l-.977 40.46 50.788 48.362-11.664-69.578-38.146-19.245z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IciclesFence;

impl IconShape for IciclesFence {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M310.395 18.275l.582 30.954 61.322 113.3-4.09-128.485-8.763-15.77h-49.052zm134.71 2.47l-40.814 171.74c-16.327 2.13-32.17 5.827-47.372 10.94L235.45 74.834l49.745 166.524c-14.27 10.795-27.37 23.062-39.056 36.585L77.19 227.48l126.46 119.456c-6.737 16.35-11.818 33.546-15 51.392l-169.625 40.31L202.3 482.196l183.095-43.513-153.565-36.495c2.488-12.733 6.122-25.05 10.8-36.837l152.005 45.406-113.684-107.39c8.694-9.737 18.285-18.652 28.648-26.618L418.664 392.21l-44.53-149.077c11.256-3.536 22.927-6.144 34.923-7.742l36.03 151.616 43.53-183.166-43.512-183.094zM66.043 66.913l67.238 109.156 109.19 67.258-67.238-109.158-109.19-67.256zm-47.658 234.62v47.882l19.27 10.512 128.486 3.506-112.714-60.74-35.04-1.16z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ifrit;

impl IconShape for Ifrit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.25 19.28c-13.905 0-26.786 7.33-36.688 20.345-9.9 13.015-16.343 31.59-16.343 52.313 0 20.72 6.44 39.297 16.343 52.312 9.9 13.015 22.782 20.344 36.687 20.344 13.905 0 26.755-7.33 36.656-20.344 9.9-13.015 16.375-31.59 16.375-52.313 0-20.72-6.473-39.297-16.374-52.312-9.9-13.015-22.75-20.344-36.656-20.344zM458 62.688c-12.144.097-24.223 6.945-28.5 22.094l-22.844 58.876-84.812-28.625-1.72 2.564c-3.273 14.37-9.258 27.34-17.343 37.97-12.673 16.66-30.986 27.717-51.53 27.717s-38.888-11.057-51.563-27.718c-8.236-10.827-14.277-24.087-17.5-38.78l-1.156-1.75-84.843 28.624L73.344 84.78c-4.442-15.73-17.307-22.494-29.906-22.06-17.266.59-34.024 14.718-27.938 37.81l40.094 112.657 108.437-27.593c55.63 82.465 57.87 164.886 18.782 247.28-.897-59.192-32.693-109.31-12.093-143.562-56.293 56.476-5.773 107.04-66.75 171.282 2.864-26.386-1.006-52.772-9.907-79.156 3.018 38.405 4.197 76.575-64.97 106.312h121.72c-.03.043-.065.082-.094.125h204.25c-.025-.04-.04-.085-.064-.125h126.5c-78.297-44.57-24.935-76.987-71.062-113.813 14.31 18.935-6.456 46.304-8.563 78.657-57.428-47.286-55.368-102.286-51.342-157.53-16.372 52.345-22.614 104.683-14.97 157.03-43.72-88.616-51.953-177.227 6-265.844l105.813 26.938 40.095-112.657c6.25-23.716-11.626-37.983-29.375-37.843zM213.156 95H244v18.688h-30.844V95zm45.03 0h30.845v18.688H258.19V95zm145.72 214.78c-37.668 6.744-45.553 52.718-8.53 67.283-9.3-23.13-6.25-45.49 8.53-67.282z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ImbricatedArrows;

impl IconShape for ImbricatedArrows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.41 26.84L111.1 180.8l52.1-19 17.2-47.1c-52-29.28-104.02-58.56-155.99-87.86zM219.1 63.09l-36.3 99.51 60 70.9 14-38.1c-12.6-44.1-25.2-88.2-37.7-132.31zm84.3 59.11l-43.1 118.1 65.3 77.2 18.7-51.3c-13.6-48-27.2-96-40.9-144zm94.4 52l-55.3 151.5 102.4 120.9-122.5-103.8-146.8 53.5 310.6 88.5c-29.5-103.6-59-207.1-88.4-310.6zm-233.2 7L64.56 217.7l132.24 37.6 38.7-14.1c-23.7-20-47.3-40-70.9-60zm77.7 77.4L123.5 302l144.1 40.9 51.9-18.9c-25.7-21.8-51.5-43.6-77.2-65.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Imp;

impl IconShape for Imp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192 22.406c-1.116.01-2.227.032-3.344.063C110.036 24.667 31.22 78.444 22.78 166.72c36.28-57.542 111.226-39.602 97.532 32.374 34.528-48.998 108-6.56 91.126 36.875-6.546 6.625-11.585 14.91-14.375 24.436-1.938-.243-3.866-.38-5.75-.406-.56-.007-1.103-.012-1.657 0-8.31.174-16.004 2.5-22.47 6.78-9.193 6.09-15.415 16.174-16.78 27.814-.663 5.657-.217 11.64 1.344 17.78l-44 42.126 82.72-11.22-16.345-24.78c-.004-.008.004-.023 0-.03-4.59-8.555-5.833-15.946-5.156-21.72.773-6.605 3.817-11.285 8.53-14.406 4.195-2.78 10.137-4.337 17.25-3.5.706 19.904 11.67 38.224 29 48.22-1.963 8.995-5.146 15.323-9.03 20.123-5.837 7.212-13.817 11.578-24.032 15.125-20.43 7.096-49.176 9.42-73.094 28.938-16.534 13.492-23.706 30.644-22.75 46.625.955 15.98 9.375 30.28 21.312 40.156 11.938 9.877 27.78 15.568 44.188 13.376 12.81-1.71 25.544-8.47 36.187-20.625 8.264 5.754 16 13.057 23.25 21.845 5.466-33.608 4.89-68.43-4.624-105.063-15.498 26.303-36.19 49.6-66.344 67.5 10.966.254 21.27 2.46 30.97 6.5-7.102 7.112-14.607 10.37-21.907 11.344-10.573 1.413-21.425-2.31-29.813-9.25-8.387-6.94-13.963-16.862-14.562-26.875-.6-10.01 3.11-20.618 15.906-31.06 18.563-15.15 43.676-17.5 67.438-25.75 11.88-4.128 23.607-10.13 32.406-21 5.415-6.693 9.51-15.02 12.094-25.25 11.967 2.42 23.922.925 34.47-3.626 8.432 12.26 16.06 23.816 17.123 31.312.633 4.466.138 7.127-3.625 11.125-2.183 2.322-5.808 4.95-11.187 7.595l-.03-.22-43.94 14.47 54.876 54.22-7.842-49.283c9.445-3.92 16.556-8.45 21.75-13.968 7.212-7.663 9.788-17.69 8.53-26.563-2.07-14.607-11.246-27.07-19.78-38.81 5.926-5.317 10.807-11.9 14.187-19.47 30.866-38.44 82.993-1.49 63.25 55.438 50.463-53.127 91.272-7.716 78.844 43.218C506.964 296.638 515.542 149.092 417 86.72c5.394 96.634-39.326 133.366-86.813 130.56 8.533-4.576 15.234-12.534 17.938-22.624 1.302-4.857 1.563-9.752.906-14.437 6.56-6.188 11.527-14.246 14.033-23.595 4.568-17.04-.135-33.9-11.282-45.97 1.728 6.93 1.88 14.3-.217 22.126-2.748 10.25-8.54 18.718-15.75 24.157-3.824-3.078-8.328-5.43-13.375-6.78-9.164-2.455-18.458-1.168-26.25 2.905-7.454-9.137-10.465-23.08-6.75-36.937 2.004-7.478 5.384-13.74 10.03-18.78-15.03 5.186-27.51 17.173-31.937 33.686-4.38 16.344.032 33.082 10.283 45.157-2.08 8.068-1.267 16.22 1.78 23.344-7.003-4.675-13.64-10.19-19.687-16.468-37.63-39.066-31.36-98.562 29.188-129.656-28.218-21.218-62.49-31.3-97.094-31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ImpLaugh;

impl IconShape for ImpLaugh {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M61.5 20.313S35.274 174.364 44.187 218.5c11.368 56.304 43.725 84.982 71.657 86.78 28.856 61.26 81.21 126.335 141.562 186.69 63.627-63.63 114.57-127.272 142.5-186.72 27.856-2.006 60.022-30.67 71.344-86.75 8.913-44.135-17.313-198.188-17.313-198.188s-25.825 44.997-50.968 93.313c-59.33-121.507-231.224-122.252-290.533-.03C87.297 65.286 61.5 20.312 61.5 20.312zm93.125 116.406c27.414-.006 49.235 14.294 66.156 41.155-32.622 17.113-60.617-1.23-86.06-38.844 6.93-1.547 13.58-2.31 19.905-2.31zm205.125 0c6.326 0 12.944.763 19.875 2.31-25.445 37.616-53.408 55.958-86.03 38.845 16.92-26.86 38.74-41.16 66.155-41.156zm-158.125 74.5l31.094 84.593 26.624-84.594 27.094 85.874 30.25-82.438 25.468 84.72 30.97-77.876c20.487 43.275-12.03 117.294-41.595 154.125l-22.56-62.72-22.064 118.658-23.812-102.657-26.78 94.656-24.564-99.218-22.563 58.125c-40.972-55.047-53.096-112.023-32.625-160.97l21.657 66.47 23.405-76.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ImpactPoint;

impl IconShape for ImpactPoint {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M97.594 11.22c48.787 64.184 76.194 134.662 96.812 220.093H117.03l12.47 15.25 28.438 34.78 94.437 118.25 23.313-29.437 101.03-123.594 12.47-15.25h-74.782C335.026 145.88 362.43 75.405 411.22 11.22h-79.5C289.51 81.954 276.86 157.277 266.03 250h83.75l-96.655 118.25L156.437 250h86.25c-10.64-92.823-25.208-168.993-66.875-238.78H97.594zm4.875 362.56c-6.58 1.665-12.87 3.424-18.814 5.283-21.64 6.766-38.845 14.815-50 23.062-11.154 8.247-15.562 15.873-15.562 22.47 0 6.595 4.408 14.22 15.562 22.467 11.155 8.247 28.36 16.296 50 23.063 43.278 13.533 104.154 22.125 171.375 22.125 67.223 0 128.098-8.592 171.376-22.125 21.64-6.767 38.846-14.816 50-23.063 11.155-8.246 15.563-15.872 15.563-22.468s-4.41-14.222-15.564-22.47c-11.154-8.246-28.36-16.295-50-23.062-5.944-1.858-12.233-3.617-18.812-5.28 18.853 9.14 29.844 20.06 29.844 31.812 0 32.066-81.665 58.062-182.407 58.062-100.74 0-182.405-25.996-182.405-58.062 0-11.75 10.99-22.673 29.844-31.813zm63.936 5.72c-4.875 1.173-9.513 2.437-13.812 3.78-12.82 4.01-22.933 8.807-29.156 13.408-6.224 4.6-7.907 8.205-7.907 10.593 0 2.39 1.684 5.994 7.907 10.595 6.224 4.6 16.336 9.397 29.157 13.406 25.642 8.02 62.127 13.19 102.437 13.19 40.31 0 76.828-5.17 102.47-13.19 12.82-4.008 22.902-8.804 29.125-13.405 6.223-4.6 7.906-8.205 7.906-10.594 0-2.387-1.682-5.992-7.905-10.592-6.223-4.6-16.304-9.398-29.125-13.407-4.308-1.346-8.956-2.605-13.844-3.78 8.692 4.787 13.688 10.355 13.688 16.28 0 17.987-45.808 32.564-102.313 32.564-56.504 0-102.31-14.577-102.31-32.563 0-5.923 5.002-11.494 13.686-16.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Implosion;

impl IconShape for Implosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.938 20.53l18.656 38.095c-10.876 9-17.813 22.59-17.813 37.813 0 27.092 21.94 49.062 49.032 49.062 3.677 0 7.242-.42 10.688-1.188l14.97 30.563c3.612-1.96 7.35-3.715 11.218-5.22l-8.813-32.968c12.695-8.868 21-23.59 21-40.25 0-25.664-19.704-46.724-44.813-48.874l-7.218-27.032h-46.906zm131.468 0L263.75 163h.47c4.14 0 8.21.25 12.217.75L315.25 20.53h-41.844zm143.78 0L327.97 153.126c-3.414-1.275-7.114-1.97-10.97-1.97-17.306 0-31.344 14.04-31.344 31.345 0 .71.047 1.426.094 2.125-6.846-1.905-14.065-2.938-21.53-2.938-44.14 0-79.72 35.58-79.72 79.72 0 44.138 35.58 79.718 79.72 79.718 44.138 0 79.717-35.58 79.717-79.72 0-18.592-6.33-35.65-16.937-49.186 12.403-4.175 21.344-15.91 21.344-29.72 0-6.46-1.93-12.48-5.28-17.47l66.186-66.218c4.046 13.82 16.808 23.907 31.938 23.907 18.384 0 33.312-14.898 33.312-33.282 0-15.13-10.11-27.892-23.938-31.938l36.97-36.97h-70.344zm-398.81 3.564v70.312l165 111c2.22-3.194 4.614-6.252 7.186-9.156L18.375 24.094zm474.218 119.312L350.124 213.5c2.486 4.435 4.655 9.084 6.438 13.906l136.032-36.156v-47.844zM88.47 169.436c-18.386 0-33.314 14.898-33.314 33.283 0 1.18.068 2.35.188 3.5l-36.97-9.97v41.875l148.282 10.28c.523-3.935 1.274-7.816 2.25-11.593l-53.594-14.437c4.032-5.51 6.438-12.308 6.438-19.656 0-18.386-14.897-33.282-33.28-33.282zm363.25 57.814c-15.483 0-28.033 12.55-28.033 28.03 0 6.234 2.028 12.003 5.47 16.657l-66.72-4.625c-.314 5.29-1.034 10.466-2.156 15.5l132.314 35.75v-42.218l-20.875-1.438c4.962-5.057 8.03-11.98 8.03-19.625 0-15.48-12.55-28.03-28.03-28.03zm-283.533 55.625l-149.812 39.75v46.313L171.47 294.25c-1.316-3.698-2.414-7.49-3.282-11.375zm174.72 37.563c-3.12 4.147-6.56 8.02-10.282 11.625l159.97 159.968v-70.905l-149.69-100.688zm-153.157 5.187l-45.188 45.063c-7.893-4.645-17.086-7.313-26.906-7.313-29.35 0-53.125 23.806-53.125 53.156 0 9.758 2.634 18.895 7.22 26.75l-51.594 51.47h71.438l17.28-25.844c2.858.475 5.79.75 8.782.75 25.063 0 46.083-17.343 51.688-40.687 5.664 3.56 12.378 5.624 19.562 5.624 8.667 0 16.62-3.013 22.906-8.03l-18.28 68.186h41.624l9.53-136.875c-4.607-.932-9.083-2.196-13.436-3.75l-8.094 30.188C217.783 370.66 204.47 361 188.906 361c-2.9 0-5.73.335-8.437.97l18.218-27.22c-3.173-2.838-6.155-5.903-8.938-9.125zm108.813 28c-4.685 1.752-9.512 3.162-14.5 4.188l36.156 136.937h47.217l-8.375-17.188c1.273.148 2.564.25 3.875.25 18.385 0 33.282-14.928 33.282-33.312 0-18.384-14.898-33.28-33.283-33.28-12.055 0-22.63 6.405-28.468 16l-35.908-73.595z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Imprisoned;

impl IconShape for Imprisoned {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M81 17.656v15.22c-11.175 4.177-18.906 15.608-18.906 28.343 0 12.734 7.73 24.165 18.906 28.343v23.374c-11.175 4.178-18.906 15.61-18.906 28.344 0 12.736 7.73 24.167 18.906 28.345v24.47c-11.175 4.177-18.906 15.607-18.906 28.343 0 12.735 7.73 24.165 18.906 28.343v20.407l-15.875-4.03-43.063 120.906c-.01.034-.022.06-.03.093-2.42 9.276-.887 15.685 2.374 20.656 3.274 4.99 8.77 8.62 15.063 10.188 6.292 1.567 13.143.948 18.686-1.844 5.544-2.79 10.056-7.47 12.438-15.906l.125-.438.155-.406 26.28-67.75 3.064-7.875 8.155 2.25 54.875 15.19 5.656 1.56 1.063 5.72 26.624 143.625h15.5v.063h89.594v-.063h15.406L343.72 349.5l1.06-5.72 5.658-1.56 54.875-15.19 8.156-2.25 3.06 7.876 26.283 67.75.156.406.124.438c2.382 8.437 6.862 13.115 12.406 15.906 5.544 2.792 12.425 3.41 18.72 1.844 6.292-1.567 11.787-5.198 15.06-10.188 3.263-4.97 4.797-11.38 2.376-20.656l-.03-.094-43.063-120.906-14.563 3.72V250.78c11.184-4.177 18.938-15.607 18.938-28.343 0-12.735-7.754-24.165-18.938-28.343v-24.47c11.184-4.177 18.938-15.608 18.938-28.343 0-12.734-7.754-24.165-18.938-28.343V89.564c11.184-4.178 18.938-15.61 18.938-28.344 0-12.736-7.754-24.167-18.938-28.345v-15.22h-18.688v15.22c-11.175 4.178-18.906 15.61-18.906 28.344 0 12.734 7.73 24.165 18.906 28.343v23.374c-11.175 4.178-18.906 15.61-18.906 28.344 0 12.736 7.73 24.167 18.906 28.345v24.47c-11.175 4.177-18.906 15.607-18.906 28.343 0 12.735 7.73 24.165 18.906 28.343v24.845l-84.093 21.438c.79 4.353 1.217 8.83 1.217 13.406 0 41.343-33.718 75.06-75.062 75.06-41.344 0-75.063-33.717-75.063-75.06 0-4.49.426-8.88 1.188-13.158l-84.406-21.5h.594v-25.03c11.183-4.18 18.937-15.61 18.937-28.345s-7.754-24.165-18.938-28.343v-24.47c11.184-4.177 18.938-15.608 18.938-28.343 0-12.734-7.754-24.165-18.938-28.343V89.564c11.184-4.178 18.938-15.61 18.938-28.344 0-12.736-7.754-24.167-18.938-28.345v-15.22H81zm9.344 32.22c4.922 0 9.594 4.528 9.594 11.343 0 6.813-4.673 11.343-9.594 11.343-4.92 0-9.563-4.53-9.563-11.344 0-6.816 4.642-11.345 9.564-11.345zm334.312 0c4.922 0 9.594 4.528 9.594 11.343 0 6.813-4.673 11.343-9.594 11.343-4.92 0-9.562-4.53-9.562-11.344 0-6.816 4.64-11.345 9.562-11.345zm-334.312 80.06c4.922 0 9.594 4.53 9.594 11.345 0 6.816-4.673 11.345-9.594 11.345-4.92 0-9.563-4.53-9.563-11.344 0-6.813 4.642-11.343 9.564-11.343zm334.312 0c4.922 0 9.594 4.53 9.594 11.345 0 6.816-4.673 11.345-9.594 11.345-4.92 0-9.562-4.53-9.562-11.344 0-6.813 4.64-11.343 9.562-11.343zM90.344 211.096c4.922 0 9.594 4.53 9.594 11.344 0 6.814-4.673 11.343-9.594 11.343-4.92 0-9.563-4.528-9.563-11.343 0-6.814 4.642-11.343 9.564-11.343zm334.312 0c4.922 0 9.594 4.53 9.594 11.344 0 6.814-4.673 11.343-9.594 11.343-4.92 0-9.562-4.528-9.562-11.343 0-6.814 4.64-11.343 9.562-11.343zm-167.28 43c-31.245 0-56.376 25.13-56.376 56.375 0 19.348 9.646 36.356 24.406 46.5v-19.626h18.688v27.906c4.257 1.02 8.702 1.594 13.28 1.594 4.782 0 9.418-.61 13.845-1.72v-27.78h18.686v19.22c14.44-10.188 23.844-26.995 23.844-46.095 0-31.245-25.13-56.376-56.375-56.376z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Incense;

impl IconShape for Incense {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.906 19.72c-22.584-.18-45.068 9.882-58.312 28.186-3.3 4.56-4.866 9.216-6.656 14.125 25.218-19.082 64.92-21.07 98.218-2.25 12.284 6.944 22.95 15.317 30.03 25.22 2.872-21.77-7.173-43.926-29.03-56.28-10.58-5.982-22.42-8.907-34.25-9zM114.312 45.437c-40.88 5.144-62.494 44.206-26.843 81.28C152.784 194.645 228 62.014 314.72 105.75c-54.142-84.613-115.572 4.63-184.19-3-24.45-2.717-40.31-32.677-16.218-57.313zM43.5 89.344c-34.748 69.57 57.006 143.258 132.72 81.5-52.88 9.79-134.675-13.864-132.72-81.5zM273.094 121c-5.932.124-11.34.998-17.063 1.813 45.095 13.808 81.135 51.81 85.845 95.624 1.736 16.162.317 31.597-6.03 44.344 29.547-9.814 48.652-32.612 45.56-61.374-4.35-40.505-50.376-76.533-102.186-80.25-2.12-.152-4.15-.197-6.126-.156zm-22.53 24.094C203.9 145.02 172.617 233.492 110 219.97c56.5 55.534 85.024-29.184 137.5-38.25 18.698-3.233 36.24 17.154 23.063 42.124 29.402-13.135 37.966-49.082 4.343-70.78-8.663-5.592-16.708-7.958-24.344-7.97zm65.31 58.625c-5.028 26.196-26.83 45.418-55.25 45.436-10.483.01-20.755-1.84-29.718-6.47 9.124 18.374 25.843 31.3 44.5 31.283 26.275-.027 45.844-25.345 43.625-56.22-.36-5.046-1.753-9.382-3.155-14.03zm82.688 29c-29.075 66.98-116.227 78.57-179.28 46.686 16.795 62.373 84.312 74.884 132.218 48-6.773 23.07-23.636 48.122-54.72 67.72 72.137-13.203 112.966-93.837 101.783-162.407zm-210 28.718c-1.34 3.298-2.475 6.55-3.468 9.78-41.677 61.148-27.868 144.897 32.156 189.25 61.47 45.42 148.236 32.407 193.656-29.062 33.926-45.914 35.248-105.948 8.125-152.312 3.956 47.482-42.914 125.878-99.03 137.344-53.372 10.904-109.618-17.097-128.563-73.532 23.022 40.5 77.285 56.485 114.032 21.47-64.08 21.732-110.737-49.515-116.908-102.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Incisors;

impl IconShape for Incisors {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.72 18.97c-28.924-.952-61.06 76.206-61.907 181.686 33.953-1.45 69.937-2.307 107.437-2.625-1.177-127.187-22.312-178.298-45.53-179.06zm109.374 0c-21.54.943-41.12 52.085-42.22 179.03 34.8-.056 68.26.51 99.876 1.594-.947-105.09-30.825-181.802-57.656-180.625zM77.156 48.28C50.104 47.703 20.683 117.8 18.594 208c.11.946.45 1.722.562 2.656 21.85-3.812 58.996-6.717 102.78-8.937-4.15-109.758-23.74-152.988-44.78-153.44zm360.938.064c-21.14.226-40.853 42.942-45.156 151.78 44.583 2.027 81.885 5.516 103.375 10.532.112-.945.45-1.703.562-2.656-2.084-89.998-31.6-159.947-58.78-159.656zM19.156 310.53c-.112.917-.452 1.633-.562 2.564 3.713 156.09 93.857 250.325 103.344 6.125-43.786-2.164-80.93-4.98-102.782-8.69zm477.156 0c-21.49 4.883-58.79 8.248-103.375 10.22 9.836 242.16 100.234 148.085 103.938-7.656-.112-.935-.45-1.65-.563-2.563zm-354.5 9.72c1.53 185.105 104.795 280.58 107.438 2.563-37.5-.318-73.484-1.145-107.438-2.563zm228.938 1.03c-31.615 1.048-65.077 1.607-99.875 1.533 2.467 277.488 98.167 182.874 99.875-1.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IncomingRocket;

impl IconShape for IncomingRocket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.36 18.336V93.59l317.51 262.287-52.917.53 82.58 63.884-71.963.394 80.102 32.728-17.404 15.14c34.87 16.374 70.587 22.075 135.648 22.718l.008-.002c-.314-44.892-11.583-91.282-28.666-126.69l-12.5 25.762-43.65-104.975-8.303 72.656-53.752-70.182 5.8 55.584L85.86 18.336h-67.5zm148.736 0L336.303 271.23 232.88 18.336h-65.784zm123.34 0l50.753 183.898 2.468-183.898h-53.22zM18.363 160.074v82.963l241.853 99.272L18.36 160.073zm0 141.29v57.396l201.552-4.795-201.55-52.6zm357.154 77.212c41.388 7.493 81.473 39.554 93.138 89.248-30.75-5.512-52.902-16.592-67.86-31.74-14.722-14.907-22.987-34.03-25.278-57.508z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InfestedMass;

impl IconShape for InfestedMass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M233.656 22.094c-13.884.19-28.38 2.95-42.97 8.843 30 .765 65.91 7.887 84.97 31.22 8.688 10.636 11.745 27.18 10 44.062 1.995 1.7 3.902 3.464 5.72 5.28 3.9 3.9 7.358 8.075 10.374 12.47 2.473-.76 5.003-1.38 7.563-1.845 4.732-.858 9.63-1.285 14.593-1.28 3.103 0 6.236.192 9.375.53 10.447-50.18-36.918-98.625-96.842-99.28-.92-.01-1.856-.014-2.782 0zM203.186 95c-15.846.105-29.938 4.536-39.31 13.906-10.155 10.152-13.038 23.736-10.75 39.188.014.05.015.105.03.156 3.632 12.436 9.568 22.548 18.563 29.47 9.19 7.07 21.93 11.32 40.81 10.31 24.243-1.287 44.017 5.027 58.157 16.157 7.786-4.726 16.25-8.435 25.157-10.906 6.824-23.556.928-49.983-17.688-68.593-13.622-13.617-36.4-24.738-58.656-28.374-5.564-.91-11.03-1.348-16.313-1.313zm-67.092 26.125c-36.665 3.137-65.013 16.806-77.188 58.313-7.66 26.115-8.875 48.963-37 42.312 13.805 21.97 35.546 21.773 51.938-.656 2.116-31.247 23.968-60.177 60.22-77-.498-7.816.06-15.584 2.03-22.97zm187.75 18.47c-3.887-.025-7.656.296-11.188.936-.622.114-1.24.247-1.844.376 5.944 14.818 7.712 30.933 5.313 46.53L318.47 190c1.865-.037 3.74-.044 5.592.03 14.12.574 27.756 4.417 39.907 10.97 6.124-8.08 14.654-13.623 24-16.188-4.018-16.57-14.876-28.428-28.75-36.062-10.943-6.02-23.716-9.085-35.376-9.156zm111.094 15.718c-10.65-.035-22.264 3.12-34.47 9.75 2.88 5.69 5.06 11.92 6.376 18.656 5.33.822 10.604 2.593 15.53 5.436.342.197.667.42 1 .625 31.248-10.763 50.928 7.43 70.126 41.282-3.826-47.476-26.85-75.648-58.563-75.75zm-296.407 7.562c-34.192 17.036-49.508 44.107-45.624 71.188 6.8 47.39 54.347 88.916 127.906 80.375 40.473-4.73 57.84-33.015 56.625-59.282-.606-13.133-6.022-25.582-16.312-34.625-10.29-9.04-25.668-15.007-47.594-13.843-22.24 1.19-40.093-4.082-53.186-14.156-10.115-7.78-17.108-18.17-21.813-29.655zm261.376 38.906c-.635 0-1.275.02-1.906.064-7.11.492-13.873 3.88-18.563 9.687 12.788 10.704 22.776 24.935 28.25 41.75 6.082-1.892 11.504-5.998 14.97-12 7.316-12.67 3.046-28.624-9.626-35.936-4.157-2.4-8.675-3.548-13.124-3.563zm-79.22 6.814c-6.33-.01-12.773.812-19.186 2.53-6.16 1.652-12.062 4.055-17.594 7.095 7.51 10.74 11.598 23.335 12.188 36.093.61 13.195-2.598 26.637-9.344 38.625 14.722 8.054 24.75 23.693 24.75 41.562 0 12.122-4.618 23.225-12.188 31.625 15.78 8.356 32.223 11.792 45.907 8.125 18.044-4.835 32.42-21.747 40.81-43.688 8.393-21.94 10.268-48.213 5.033-67.75-8.508-31.746-36.493-52.947-67.657-54.156-.9-.035-1.814-.06-2.72-.062zm105.377 56.062c-4.356 3.1-9.218 5.382-14.313 6.78 1.583 11.985 1.287 24.688-.688 37.252 25.354 13.418 30.89 27.678 22.657 54.937-16.6 54.96 19.597 83.604 54.56 65.125-32.506-9.75-28.104-27.133-20.56-58.188 12.61-51.91-4.718-81.086-41.658-105.906zM85 269.5c-5.774 1.98-11.213 5.275-15.844 9.906-16.14 16.137-16.142 42.08 0 58.22 2.552 2.55 5.35 4.694 8.313 6.437 9.93-14.787 20.88-29.138 34.874-40.657C100.827 293.713 91.594 282.19 85 269.5zm190.438 38.625c-9.886 10.296-23.166 18.38-39.657 22.53-.166 1.262-.28 2.536-.28 3.845-.002 15.91 12.732 28.657 28.656 28.656 15.925 0 28.656-12.743 28.656-28.656.002-11.91-7.12-22.03-17.375-26.375zm-138.563 11.313c-6.775 36.136 8.59 62.088 28.938 72.75 13.032 6.828 28.22 7.607 43 .28 8.532-4.23 17.05-11.36 24.656-22.03-10.166-8.704-16.66-21.6-16.657-35.938v-.875l-.032-.03c-30.54 2.5-57.68-3.067-79.905-14.158zm-19.313 4.437c-11.573 11.33-21.445 25.583-31.25 40.75-18.82 36.482-17.525 82.327 20.657 111.47 31.69 24.19 77.54 21.817 99.968 5.405 19.914-14.573 25.155-45.586 6.812-68.97 4.42 16.066-4.613 41.808-18.5 49.345-16.21 8.8-38.286 7.45-56.625-12.656-21.554-23.633-18.893-43.104-3.625-58.876-13.2-16.448-20.353-39.638-17.438-66.47zm169.032 56.656c-11.754 43.65 16.39 92.464 79.156 95.5-31.95-16.928-51.635-50.344-46.813-82.936-11.11-2.13-22.064-6.57-32.343-12.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InkSwirl;

impl IconShape for InkSwirl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.97 19.438c-3.533.036-7.074.17-10.595.375 37.426 5.91 74.12 23.423 102.188 49.624-55.762-26.124-129.46-27.253-186.875-3.5 10.37-9.73 21.777-17.51 33.875-23.343C48.768 80.06-6.44 197.116 56.72 343.938c-16.45-26.78-29.106-55.588-35.626-84.688-5.23 74.055 32.02 134.952 102.47 197.406.06.063.124.126.186.188 12.107 12.125 24.238 22.045 32.875 27.03 64.588 37.292 121.345-63.365 57.78-100.062-11.465-6.62-33.518-14.218-56.56-18.875-76.657-36.295-93.91-155.886-20.282-240.687-6.654 16.82-11.594 34.836-14.844 53.375 76.21-134.99 312.3-129.124 324.124 72.063-10.722-61.622-53.708-113.837-121.03-135.344 56.69 23.942 96.28 79.752 96.28 145.25 0 94.252-72.826 148.403-154.594 165.625 42.582 2.34 94.684-13.826 125.438-36.314-23.357 39.58-72.146 67.082-123.25 81.594 72.736-2.804 136.515-41.146 175.406-97.375-10.316 11.652-22.718 22.04-36.78 30.97 46.54-55.267 70.795-137.97 61.31-210.25 8.428 16.284 13.583 33.51 15.782 51.374C485.26 97.63 372.46 18.3 262.97 19.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InnerSelf;

impl IconShape for InnerSelf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.28 18.47c-1.164.028-2.346.124-3.5.124-32.842 0-59.592 33.925-59.592 75.937 0 21.274 7.08 40.466 18.093 54.282-68.132 10.567-82.852 105.422-66.655 191.563h23.563l-1.032-105.344 18.688-.186 1.25 126.687 8.75 132.876h46.875V318.812h18.686v175.594h44.313l11.5-154.03h.03l1.063-105.532 18.687.187-1.063 105.345h24.532c18.362-88.46-4.724-178.95-67.095-190.688 11.507-13.88 18.97-33.344 18.97-55.156 0-39.387-23.416-72.038-53.408-75.936-.5-.075-.987-.11-1.5-.125-.384-.012-.767-.01-1.156 0zm-4.717 137.686c11.48 0 20.78 10.683 20.78 23.875 0 8.73-4.072 16.365-10.156 20.532h38.907v18.688h-40.22v23.344l24.563 49.437-16.75 8.314-17.156-34.53-17.155 34.53-16.75-8.313 24.563-49.436V219.25h-40.22v-18.688h38.97c-6.084-4.167-10.157-11.802-10.157-20.53 0-13.192 9.303-23.876 20.782-23.876z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InsectJaws;

impl IconShape for InsectJaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.063 54.72c-5.572-.08-10.61 1.583-14.25 5.124-8.962 8.715-5.958 25.523 6.718 37.53 12.677 12.01 30.228 14.685 39.19 5.97 8.96-8.715 5.925-25.524-6.75-37.53-7.528-7.13-16.765-10.978-24.907-11.095zm231.156 0c-8.144.116-17.412 3.963-24.94 11.093-12.675 12.007-15.68 28.816-6.717 37.53 8.96 8.716 26.51 6.04 39.187-5.968 12.676-12.008 15.68-28.816 6.72-37.53-3.642-3.542-8.68-5.206-14.25-5.126zm-182.94 67.31c-8.27.095-15.847 2.3-20.81 6.626-9.93 8.654-5.566 22.475 9.75 30.844 15.314 8.37 35.79 8.123 45.718-.53 9.928-8.655 5.533-22.445-9.782-30.814-7.657-4.184-16.603-6.218-24.875-6.125zm134.69 0c-8.273-.092-17.22 1.942-24.876 6.126-15.315 8.37-19.68 22.16-9.75 30.813 9.93 8.653 30.403 8.9 45.72.53 15.314-8.37 19.677-22.19 9.748-30.844-4.964-4.327-12.57-6.53-20.843-6.625zm-183.064 53.407c-5.683 10.385-14.37 20.635-25.937 29.75-24.016 18.923-54.28 28.154-79.5 26.657-2.37 12.198-3.376 24.48-3.376 37.312 0 92.572 63.884 171.475 153.094 199.25-27.045-21.037-26.52-70.76-6.782-95.53-81.704-65.275-54.32-135.304 19.688-168.438-19.968-5.9-38.035-14.754-53.25-25.97-1.34-.988-2.64-2.004-3.938-3.03zm230.875.47c-1.103.864-2.206 1.724-3.342 2.562-13.708 10.102-29.73 18.318-47.375 24.155 71.14 31.96 85.985 108.537 12.968 170.25 25.12 24.56 14.598 73.843-6.78 95.53 89.21-27.774 153.938-106.677 153.938-199.25 0-12.83-1.85-25.113-4.22-37.31-25.22 1.496-55.484-7.735-79.5-26.657-11.393-8.978-20-19.06-25.687-29.282zm-62.967 30.312c-12.046 3.114-24.722 5.158-37.844 6.03 10.544 7.982 17.967 27.3 17.967 49.875 0 20.02-5.85 37.46-14.53 46.72 26.775-6.865 46.687-32.65 46.687-63.44 0-14.72-4.595-28.276-12.28-39.186zm-98.25 1.468c-7.088 10.652-11.313 23.643-11.313 37.718 0 30.754 19.887 56.54 46.625 63.438-8.672-9.264-14.5-26.71-14.5-46.72 0-22.244 7.23-41.34 17.53-49.53-13.255-.472-26.1-2.15-38.343-4.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Interdiction;

impl IconShape for Interdiction {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.22 24.594C174.977 24.444 95.923 66.54 52.374 141.97c-64.817 112.266-26.36 255.744 85.906 320.56 112.268 64.818 255.747 26.362 320.564-85.905 64.817-112.267 26.36-255.745-85.906-320.563-36.838-21.268-77.044-31.395-116.72-31.468zm-.126 45.562c31.98.056 64.38 8.237 94.062 25.375 82.963 47.9 115.894 149.142 80.5 235.376L184 84.25c22.816-9.31 47.322-14.137 72.094-14.094zm-117.125 40.22l265.53 265.53c-9.55 12.227-20.382 23.04-32.22 32.313L106.69 142.624c9.556-12.224 20.435-22.984 32.28-32.25zm-58.407 77.28L327.25 434.344c-52.287 21.37-113.55 19.208-166.25-11.22-82.987-47.912-115.88-149.212-80.438-235.468z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InterlacedTentacles;

impl IconShape for InterlacedTentacles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M309.014 25.014c-23.568.1-44.934 5.207-60.383 15.144-14.905 9.588-25.017 23.102-27.68 42.838.827.05 1.65.112 2.474.176 25.06-19.447 60.447-23.536 92.1-18.772 20.404 3.072 39.644 9.75 54.843 19.106l.278-.416c23.215 15.532 37.425 30.063 43.492 45.81 6.067 15.748 2.28 31.98-7.215 45.56-18.992 27.157-58.648 49.897-103.516 77.784-2.518 1.565-5.102 3.196-7.65 4.79 10.143 4.06 20.443 8.352 30.762 12.966 9.08 4.06 18.176 8.382 27.193 12.984 33.81-20.84 66.768-39.722 89.993-60.554 24.847-22.287 38.456-45.19 33.977-77.64-4.544-32.923-23.75-60.02-50.557-80.352-26.806-20.334-61.115-33.512-93.945-37.852-8.208-1.085-16.31-1.606-24.164-1.572zm-95.89 76.455c-1.223-.017-2.45-.016-3.685 0-6.577.092-13.303.65-20.065 1.67-27.05 4.09-54.462 15.528-74.797 32.592-20.335 17.065-33.595 39.232-34.338 66.258-.73 26.587 12.66 45.837 35.547 64.514 22.886 18.677 54.888 35.46 87.39 54.426 32.5 18.965 65.604 40.2 90.624 69.19 16.576 19.203 29.33 42.048 35.682 69.275 3.974-26.167-1.076-47.67-11.445-66.975-14.675-27.324-41.03-50.18-69.455-71.3-28.424-21.118-58.69-40.352-80.686-62.352-21.995-22-35.936-48.92-27.003-80.432l.05.014c2.402-11.49 10.965-21.01 21.676-28.418 12.418-8.59 28.5-14.85 45.898-18.026 26.118-4.766 56-2.45 78.94 12.588-4.537-14.195-13.64-24.224-26.005-31.363-13.038-7.528-30.003-11.43-48.33-11.66zm184.802 38.03c-2.875 7.71-8.12 14.696-14.764 20.61-11.546 10.275-27.447 18.74-46.318 27.195-30.636 13.725-69.24 27.188-108.647 43.98 14.082 5.43 29.61 11.113 45.862 17.3 6.587-4.173 13.103-8.248 19.48-12.212 45.03-27.987 83.65-52.007 98.067-72.623 6.244-8.93 8.348-16.06 6.32-24.25zM161.51 219.652c4.17 8.77 10.877 17.174 19.603 25.903 19.714 19.717 49.5 38.93 78.616 60.564 29.114 21.632 57.785 45.835 74.77 77.458 16.173 30.112 20.78 67.03 4.98 111.215h143.217c-.466-56.115-19.36-97.476-48.385-129.98-30.6-34.266-72.642-58.623-115.423-77.752-42.782-19.13-86.084-32.968-119.335-47.164-14.927-6.372-27.85-12.76-38.045-20.244zm-42.846 72.395c-17.003 13.064-32.44 27.7-45.414 44.28-30.797 39.36-48.285 89.58-40.56 158.466h50.654c4.796-63.304 34.116-113.686 72.7-154.37 5.162-5.44 10.488-10.716 15.946-15.84-18.737-10.664-37.06-21.14-53.326-32.536zm70.334 42.28c-6.704 6.107-13.19 12.418-19.393 18.956-36.282 38.255-62.823 83.734-67.52 141.51H213.86c-4.61-50.868 9.03-91.18 32.585-123.242-16.34-12.562-34.394-23.805-52.687-34.48-1.585-.924-3.173-1.827-4.76-2.744z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InterleavedArrows;

impl IconShape for InterleavedArrows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.885 16.2l-1.73 57.015 51.257 47.226 8.063-23.036-57.59-81.205zm-68.537 65.073v.004l77.75 61.625 28.797-8.062-57.018-52.986-49.53-.58zM89.32 101.6l1.225 56.375 55.762 56.373 9.19-30.637L89.32 101.6zm159.496 33.992l-15.552 10.363c19.852 29.796 29.86 65.31 28.07 103.537l-.182.016-1.406 18.824c.02 0 .04-.003.06-.004-3.512 49.992 11.5 96.754 41.26 133.654l-30.218 16.368 62.177 19.548-38.877 19.432 153.995 32.77-98.457-122.86.132 55.44c-50.335-36.216-76.608-92.807-71.142-155.975l.078-.006.22-3.1c.025-.26.047-.517.075-.776 4.974-46.64-6.008-90.873-30.234-127.232zm-171.14 36.472l-57.6 2.454 87.012 61.275 23.898-9.19-53.31-54.54zm77.482 51.54l-10.05 15.757c28.25 18.023 61.034 28.177 95.874 29.265l1.395-18.648c-31.888-.83-61.58-10.016-87.22-26.372zm143.664 24.207l-1.312 18.602c52.536 1.886 99.042 26.41 130.82 68.754h-47.113L497.91 427.9l-31.62-145.66-19.546 39.588-18.7-59.478-15.747 29.07c-31.726-26.472-71.01-41.83-113.475-43.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InterleavedClaws;

impl IconShape for InterleavedClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M60.113 18.73c33.985 13.337 68.53 30.25 96.555 51.81 21.406 16.47 39.11 35.722 49.24 58.485 7.67 17.234 10.745 36.477 7.817 57.092 28.568-7.727 58.908-10.21 88.316-6.37 25.235-66.077 3.016-128.26-32.253-161.017H196.67c44.027 40.57 53.718 85.142 40.033 138.98-8.817-62.917-32.8-110.574-79.9-138.98h-96.69zM20.76 58.28l.002 101.304c34.77 67.286 88.72 100.505 202.74 77.37-98.08 43.995-156.795 28.454-202.74-29.65v35.284c40.106 43.683 107.55 54.225 173.36 33.24 46.354-14.782 99.558-18.094 148.493-2.453 20.852 6.665 40.87 16.884 59.074 31.05 40.147 34.647 66.92 91.697 87.636 146.92 10.54-98.417-29.362-207.134-81.44-274.095 3.06 24.236 1.91 43.957-3.76 59.748-12.584-22.802-30.257-40.22-48.317-57.232 1.14 11.13 1.802 22.258-4.8 33.418-43.45-20.59-96.113-21.04-142.612-6.002-28.31 9.156-54.575 7.03-77.34-3.098-22.764-10.13-42.018-27.836-58.486-49.242-21.56-28.027-38.476-62.574-51.812-96.56zm251.502 223.554c-24.807.243-49.535 4.487-72.463 11.8-.03.008-.057.015-.085.024 1.79 16.373 5.68 32.39 11.842 47.457-11.416 12.546-23.812 12.986-36.264 12.787 18.202 16.29 36.797 32.14 61.137 41.55-10.027 14.25-23.763 18.616-37.74 22.353 20.99 10.185 42.16 20.005 65.175 26.004-14.65 9.27-32.843 16.01-53.595 20.92 78.16 32.975 193.5 43.38 285.835 7.727-30.718-2.99-61.58-7.668-90.123-15.762-106.234-25.83-181.07-88.907-157.263-158.675 6.55 34.33 22.78 59.386 45.704 80.666-6.714-12.456-11.762-25.485-15.223-38.815-4.94-19.033-6.754-38.616-5.884-58.036-.35.002-.703-.003-1.054 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InternalInjury;

impl IconShape for InternalInjury {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.47 19.03c-1.234.04-2.47.126-3.69.126-38.983 0-70.75 33.895-70.75 75.906 0 21.274 8.43 40.465 21.5 54.282-80.868 10.566-98.35 105.42-79.124 191.562h31.656l-1.03-105.344 18.687-.187 1.25 129.25 10.218 130.313h55.53V319.344h18.688v175.594h56.22l12.687-143.313 1.125-116.25 18.687.188-1.03 105.343h33.5c21.795-88.46-5.595-178.95-79.626-190.687 13.658-13.88 22.53-33.346 22.53-55.157 0-39.39-27.808-72.008-63.406-75.907-1.187-.15-2.393-.162-3.625-.125zM248.28 36.5l12.25 35.03 25.095-27-18.594 44.845 44.22-9.125-29.094 19.313 21.594 12.28-34.47 1.75 20.908 38.563-26.375-15.78-10.907 20.03 15.22 27.844 42.343-12.28-29.94 35.874 57-9.063-39.217 34.47 18.5 42.47-22.782-5.19 22.345 104.876-53.656-101.97-62.095 67.814 35.813-90.28-32.813 10 22.22-34.94-49.814-24 54.72.345-27.28-31.78 37.28 9.686.625-52.06-25.125 3.686L241.844 99 211 74.406l31.438 3.563 5.843-41.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InternalOrgan;

impl IconShape for InternalOrgan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M326.78 18.72c6.46 13.506 7.87 29.775 4.94 45.686-3.504 19.017-13.202 37.958-28.69 52.25l2.25 1.5c9.883 4.933 19.126 10.383 27.69 16.28 3.686-27.3 19.256-54.748 39.405-77.905 12.86-14.777 27.536-27.85 42.844-37.81h-88.44zM139.157 19c12.773 12.03 24.17 26.366 32.625 40.844 6.53 11.18 11.317 22.402 13.345 33.156.213 1.127.384 2.246.53 3.375 7.196-1.952 14.92-3.137 23.126-3.438.858-.03 1.728-.018 2.595-.03-2.124-2.135-4.023-4.486-5.688-6.97-5.29-7.89-8.625-17.228-10.593-26.874-2.79-13.674-3.13-27.843-.25-40.063h-55.688zm314.22 0c-14.606 36.104-43.01 79.36-75.032 111.75-16.91 17.103-34.727 31.146-52.72 39.063-17.99 7.916-37.322 9.495-53.343-.594l9.97-15.814c9.742 6.135 21.243 5.737 35.844-.687 1.63-.72 3.294-1.508 4.97-2.376-22.53-15.707-50.637-28.256-83.783-35.72-10.917-2.457-20.806-3.396-29.75-3.093-14.903.507-27.167 4.487-37.124 10.72-11.57 7.245-20.222 17.774-25.906 30.375 5.518 2.052 10.838 3.677 15.875 4.844 14.97 3.468 26.99 2.66 34.813-1.657l9.03 16.375c-13.683 7.55-30.446 7.55-48.062 3.468-17.615-4.082-36.5-12.42-55.437-23.562-30.115-17.72-60.192-42.528-83.814-69.47v88.564c24.622-4.884 58.445-2.227 90.78 5.656 19.126 4.662 37.468 11.29 52.408 20.156 14.94 8.867 27.01 20.166 31.25 35.156l-17.97 5.094c-2.287-8.088-10.18-16.69-22.81-24.188-3.913-2.32-8.223-4.503-12.845-6.562 4.08 28.99 19.643 58.363 47.28 77.47l-10.656 15.374c-20.736-14.335-35.69-33.434-45-54.28-41.857 52.08 3.743 170.083 101.312 150.56-6.696-6.154-14.234-12.452-22.78-19l11.374-14.843c55.814 42.757 74.897 81.865 79.188 132.25h125.968c-27.98-25.526-52.253-51.017-69-78.686-20.326-33.583-29.493-70.83-20.75-112.875l18.28 3.81c-2.135 10.277-3.1 20.096-2.998 29.564 1.583-1.585 3.127-3.172 4.593-4.78 23.425-25.727 32.506-54.315 30.033-82.627-1.45-16.6-7.06-33.208-16.47-48.937-.734 1.74-1.395 3.46-1.968 5.188-4.448 13.407-4.265 26.174 1.844 39.218l-16.94 7.906c-8.134-17.37-8.35-35.835-2.655-53 5.695-17.164 16.975-33.19 31.72-47.78 28.02-27.73 68.84-50.444 111.78-64V19h-40.5zm40.062 184.875c-30.608 19.412-64.055 25.41-92.282 20.688 2.004 7.327 3.345 14.75 4 22.25.283 3.24.42 6.5.438 9.75 27.857-8.366 58.94-7.692 87.844 6.656v-59.345zm-182.25 107.313c2.956 14.85 4.755 27.457 5.406 38.125 25.255 108.866 7.434 110.33-53.344 23.375-6.55-6.855-13.592-15.437-21.313-25.844l15-11.125c11.724 15.802 21.758 26.8 29.125 32.75 3.684 2.972 6.697 4.625 8.375 5.186.596.2.9.277 1.094.313.172-.22.52-.725.94-1.876.768-2.113 1.47-5.907 1.655-11.063.368-10.31-1.255-25.963-5.28-46.186l18.342-3.656zm-207.063 23.218c-28.22 7.457-56.7 11.148-85.438 8.688v78.687c30.875-26.967 62.133-50.02 93.938-68-3.35-6.25-6.192-12.733-8.5-19.374z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct InterstellarPath;

impl IconShape for InterstellarPath {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.625 18.406c-19.833 0-35.688 15.888-35.688 35.72 0 19.833 15.854 35.687 35.688 35.687 19.83 0 35.72-15.857 35.72-35.688 0-19.834-15.89-35.72-35.72-35.72zM93.97 65.25c-5.68 13.142-8.94 26.858-8.94 41.5 0 45.29 29.44 85.21 74.157 108.625L15.75 494.5h77.28l123.564-390.813-37.406 72.813c-50.628-20.564-85.22-61.99-85.22-109.75 0-.505-.007-.977 0-1.5zm315.405 0c.007.505 0 .977 0 1.5 0 46.98-33.468 87.856-82.75 108.75l-39.063-76 129.688 395h73.344L346.47 214.125c43.408-23.57 71.842-62.875 71.842-107.375 0-14.626-3.272-28.37-8.937-41.5zm-173.97 40.938L112.626 494.5h75.47l47.31-388.313zm36.032 4.156L318.25 494.5h79.313L271.438 110.344zm-18.28 4.5L206.906 494.5h92.5l-46.25-379.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IonCannonBlast;

impl IconShape for IonCannonBlast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.01 18.54v34.09l262.992 262.99c7.32 7.32 14.19 9.506 20.45 9.302 6.262-.204 12.246-3.097 16.755-7.742 9.017-9.29 12.41-23.63-1.363-37.403L56.604 18.54H19.01zm406.86 199.636c-8.665-.085-17.745.958-27.01 3.008l9.28 17.21c6.013-1.06 11.738-1.59 17.108-1.564 15.373.074 27.91 4.55 36.51 13.15 13.76 13.76 16.965 37.6 8.467 67.002-.572 1.977-1.2 3.974-1.877 5.987l-22.125-52.392-9.045 67.264-33.51-46.225-1.564 58.94-37.875-18.31c11.532-14.72 19.73-30.216 24.026-45.077 5.89-20.378 4.493-40.825-8.75-54.068-8.277-8.278-19.37-11.928-31.498-12.063-7.278-.082-14.93 1.103-22.57 3.312-8.423 2.434-17.047 6.135-25.622 10.968l13.827 13.826c5.848-2.976 11.57-5.28 16.982-6.845 6.194-1.79 11.807-2.624 16.76-2.613 8.255.02 14.678 2.394 18.91 6.625 6.77 6.77 8.786 19.153 4.012 35.67-4.775 16.518-16.318 35.902-33.477 53.06-17.16 17.16-36.545 28.703-53.062 33.478-16.518 4.774-28.898 2.76-35.668-4.012-6.77-6.77-8.786-19.15-4.012-35.668 1.615-5.59 4.024-11.51 7.144-17.56l-13.812-13.81c-4.99 8.758-8.794 17.577-11.28 26.182-5.892 20.38-4.497 40.825 8.747 54.07 13.243 13.242 33.69 14.637 54.068 8.747 14.724-4.257 30.072-12.345 44.672-23.71l19.342 40.008-62.718 1.662 46.227 33.513-67.26 9.045 50.255 21.223c-.227.068-.456.14-.682.206-29.4 8.498-53.245 5.292-67.004-8.467-11.603-11.603-15.7-30.377-11.604-53.606l-17.198-9.272c-6.594 29.83-2.75 57.757 15.586 76.092 20.234 20.234 52.145 22.822 85.408 13.207 33.264-9.613 69.147-31.45 100.948-63.25 31.8-31.8 53.635-67.685 63.25-100.948 9.614-33.263 7.028-65.175-13.205-85.408-12.646-12.646-29.856-18.4-49.104-18.588z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct IronMask;

impl IconShape for IronMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.25 18.25c-31.81 0-61.71 14.253-86.906 39.438L191 246.905h35.125c19.944 0 19.7 37.852.688 38.75v64.156h59.218v-64.187c-20.043-1.644-19.334-38.72 1.376-38.72h34.75L343.78 58.313C318.455 32.74 288.323 18.25 256.25 18.25zM152.687 76.813c-2.375 3.118-4.68 6.353-6.937 9.687-29.025 42.865-47.375 102.888-47.375 169.375s18.35 126.542 47.375 169.406c26.88 39.698 62.346 64.383 101.156 67.814v-63.97H212.53c-21.46 0-21.18-38.78 0-38.78h88.5c20.185 0 19.697 38.78 0 38.78h-35.436v63.97c38.81-3.43 74.276-28.116 101.156-67.813 29.025-42.863 47.375-102.918 47.375-169.405S395.775 129.365 366.75 86.5c-2.077-3.067-4.198-6.053-6.375-8.938L340.97 246.906h34.936c20.184 0 19.696 38.78 0 38.78l-71.187.002V368.5h-96.596v-82.814l-70.5.002c-21.462 0-21.18-38.782 0-38.782h34.563l-19.5-170.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JamesBondAperture;

impl IconShape for JamesBondAperture {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146 18.09l-.3 2.13C210 29.23 267.9 61.24 310 107.9c-9.7-1.7-19.4-2.8-29.1-3.4 45.9 39.7 64.4 103.8 46 162.3 26-18.7 45.4-46.6 52.9-79.8-29.2-77.8-91.4-139.34-168.3-168.91zm267.8 0c28.6 77.52 19.4 160.31-18.9 227.51-1.4-9.5-3.2-18.8-5.5-27.9-20.3 47.4-63.4 81.5-113.9 90.7-9.8 2.3-18.3 2.4-27.8 2.4 25.3 19.4 57.3 30 91 28 94.7-74.5 135.2-202.8 94.9-320.71zM248.7 104.3c-97.2 5.2-186.06 62.2-230.83 150V304c21.42-69.8 70.21-124.2 131.33-154.6-4.5 8.5-8.4 17.2-11.9 26 25.3-16.3 54.4-24.5 83.4-24.6 30.8 0 61.5 9.2 87.7 27.4-9.9-30.1-30.5-56.8-59.7-73.9zm-32.2 65.2c-32.5 1-64.7 13.8-89.8 38.2-27.13 103.4 7.4 216.2 92.5 286.3h31c-66.6-45.4-105.8-116.5-112.8-191.2 6.6 7.1 13.6 13.8 20.9 20.1-12.6-57.7 9.9-117.7 58.2-153.4zm40.7 12.8c-30.4 0-54.8 24.5-54.8 54.9s24.4 54.8 54.8 54.8 54.8-24.4 54.8-54.8-24.4-54.9-54.8-54.9zm-75.7 63c-11.3 30.6-11.2 65.1 2.7 97.5 91.5 62 214.5 64.6 309.6.2v-23C434.4 364.7 362 379.8 294 367.7c6.6-3.4 13-7.1 19.2-10.9-61.6-7.1-114.2-50.9-131.7-111.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jawbone;

impl IconShape for Jawbone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.53 27.5c-14.402.24-28.773 4.045-40.905 11.47 8.326 73.258-10.335 120.874-81 185.593 85.145 69.732 181.182 175.762 224.47 258.593 47.95 5.71 96.32 3.736 125.468-23.03-5.976-1.694-11.99-5.062-17.625-10.095-8.674-7.743-14.29-14.773-15.313-23.03-8.506.522-17.522-1.747-25.844-7.25-9.755-6.45-15.376-15.956-15.75-25.344-2.813.698-5.658 1.168-8.53 1.375-9.563.69-19.818-1.6-27.063-9.124-7.212-7.49-9.103-17.77-8.187-27.344.06-.64.165-1.267.25-1.906-2.99.838-6.055 1.407-9.125 1.688-9.548.872-19.862-1.21-27.25-8.594-7.244-7.24-9.356-17.286-8.72-26.75-.567.193-1.144.39-1.718.563-9.18 2.76-19.693 2.792-28.406-2.97-8.673-5.734-12.74-15.362-13.936-24.906-.764-6.09-.422-12.364.937-18.437-41.346-51.493-38.973-107.49 51.376-170.688 6.717-53.757-33.305-80.477-73.125-79.812zm140.064 64.53c-2.196-.06-5.02.324-8.375 1.44-6.71 2.23-14.523 7.06-20.5 12.936-5.98 5.875-9.918 12.704-10.69 18-.77 5.296.138 9.312 7.032 14.563 7.08 5.39 11.66 5.345 16.875 3.28 5.216-2.065 10.985-7.466 15.313-14.563 4.328-7.096 7.163-15.705 7.72-22.53.554-6.827-1.18-10.71-2.75-11.907v-.03c-.85-.648-2.43-1.127-4.626-1.19zm49.5 24.25c-.523 0-1.09.034-1.688.095-2.396.244-5.368 1.01-8.72 2.563-6.7 3.106-14.132 8.858-19.498 15.312-5.367 6.454-8.43 13.528-8.532 18.438-.102 4.91 1.103 8.356 8.906 12.5 8.01 4.252 13.158 3.627 18.407.843 5.248-2.782 10.415-8.78 13.905-16.124 3.49-7.342 5.238-15.888 4.938-22.344-.3-6.455-2.302-9.592-4.188-10.593-.76-.405-1.964-.682-3.53-.69zm49.187 21.5c-.237.007-.49.01-.75.032-3.107.28-7.608 1.803-12.405 5.094-6.397 4.388-12.886 11.342-17.094 18.438-4.206 7.095-5.817 14.167-5.03 18.28.787 4.115 2.45 6.984 11.563 9.25 9.34 2.325 15.205.483 20.218-3.343 5.015-3.825 8.982-10.39 11.064-17.81 2.082-7.423 2.152-15.524.625-21.19-1.53-5.664-3.776-7.953-6.345-8.593-.51-.127-1.128-.173-1.844-.156zm37.783 21.407c-2.654.066-3.784.61-5.313 2.032-3.057 2.84-6.715 11.768-8.875 25.343-3.315 20.835-4.277 51.186-8.78 84.718 18.245-21.454 32.614-43.518 40.31-62.25 5.227-12.716 7.254-23.8 6.283-31.405-.972-7.606-3.66-11.774-10.875-15.03-5.824-2.63-10.097-3.473-12.75-3.407zM465 179.53c-.654.01-.64.14-.875.345-.63.545-2.953 5.552-3.375 13.97-.74 14.724 2.303 36.59 3.47 55.78 1.436-.566 3.107-1.515 5.28-3.28 5.153-4.188 10.808-11.842 14.438-20.407 3.63-8.566 5.238-17.936 4-25.47-1.24-7.532-4.517-13.262-12.72-17.593-4.49-2.372-7.7-3.21-9.312-3.313-.403-.025-.688-.034-.906-.03zm-267.03 84.282c-.453-.002-.894.02-1.314.063-1.12.116-2.15.4-3.094.75-3.773 1.4-7.424 5.167-9.906 10.813-2.48 5.645-3.515 12.83-2.78 18.687.733 5.858 3.044 9.858 5.718 11.625 2.797 1.85 7.215 2.31 12.72.656 5.502-1.654 11.483-5.457 15.56-10.03 4.08-4.575 6.087-9.547 5.845-13.72-.244-4.173-2.178-8.713-10.22-14.03-5.403-3.573-9.372-4.796-12.53-4.813zm47.78 34.375c-.812-.016-1.598.072-2.344.188-3.976.618-8.316 3.588-11.875 8.625-3.557 5.037-5.987 11.863-6.436 17.75-.45 5.887.983 10.265 3.25 12.53 2.372 2.372 6.62 3.712 12.344 3.19 5.722-.524 12.34-3.052 17.25-6.72 4.91-3.668 7.873-8.144 8.468-12.28.596-4.14-.4-8.998-7.22-15.814-5.234-5.233-9.263-7.076-12.623-7.406-.28-.028-.542-.057-.813-.063zm44.47 36.782c-.526.014-1.034.056-1.533.124-3.987.54-8.376 3.44-12.03 8.406-3.655 4.967-6.25 11.716-6.813 17.594-.563 5.878.808 10.284 3.03 12.594 2.327 2.415 6.55 3.85 12.282 3.437 5.732-.413 12.397-2.833 17.375-6.406 4.98-3.575 8.014-7.97 8.69-12.095.673-4.125-.22-8.992-6.908-15.938-5.134-5.332-9.115-7.26-12.468-7.656-.56-.065-1.1-.076-1.625-.06zm83.28 8.342c-15.947 8.505-34.427 19.674-46.563 30.782-7.694 7.043-12.323 14.02-13.156 18.22-.83 4.196-.528 6.71 7.283 11.873 7.89 5.218 13.697 5.385 19.875 3.063 6.177-2.322 12.78-8.142 18.312-16.438 8.636-12.948 14.052-31.514 14.25-47.5zm22.625 63.907c-14.205 5.428-29.29 9.312-36.625 13.467-2.15 1.218-3.486 2.372-4 3-.514.63-.376.427-.375.594 0 .337 1.343 4.753 9.25 11.814 7.362 6.574 12.22 7.246 16.156 6.406 3.937-.84 8.107-4.084 11.376-9.313 3.27-5.228 5.32-12.16 5.438-18.062.062-3.134-.426-5.76-1.22-7.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jellyfish;

impl IconShape for Jellyfish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.25 19.594c-76.095.492-152.275 42.48-171.844 139.812-2.706 13.46.208 22.172 7.406 30.063 6.18 6.774 16.286 12.65 29.313 17.155 8.87-6.015 17.417-19.395 20.47-34.156 1.136 15.568 7.102 33.066 17.28 42.53 12.807 1.726 26.597 2.752 40.78 3.188C205.5 123.968 313.99 114.71 323.22 208.5c11.655-2.437 22.868-5.327 33.28-8.656 11.107-15.656 7.692-26.07 5.03-41 8.16 11.035 11.332 22.095 28.314 27.25 9.952-5.37 18.034-11.312 23.687-17.5 8.163-8.936 11.494-17.695 9.97-28.47-10.676-75.457-84.34-119.695-161.625-120.53-1.208-.013-2.417-.008-3.625 0zm-29.22 23.093c24.367 0 44.126 19.73 44.126 44.094 0 24.367-19.76 44.126-44.125 44.126-2.338 0-4.633-.18-6.874-.53-3.684 14.55-16.865 25.343-32.562 25.343-18.552 0-33.594-15.044-33.594-33.595 0-16.984 12.604-31.03 28.97-33.28-.032-.682-.032-1.375-.032-2.064 0-24.365 19.727-44.093 44.093-44.093zm95.345 55.97c10.8 0 19.563 8.764 19.563 19.562 0 10.797-8.764 19.53-19.563 19.53-10.8 0-19.53-8.733-19.53-19.53 0-10.8 8.73-19.564 19.53-19.564zm77.156 102.312c-5.32 3-11.025 5.787-17.03 8.374 12.71 15.545 19.88 34.71 22.75 54.25 4.855 33.055-4.353 66.41-16.813 78.97-24.31 24.5-30.547 57.464-23.125 88.248 5.573 23.115 18.495 45.298 36.938 63.407h29.03c-24.623-17.53-41.752-42.65-47.81-67.783-6.2-25.704-1.406-50.908 18.25-70.718 19.685-19.842 27.573-57.107 22.03-94.845-3.062-20.85-10.79-42.05-24.22-59.906zm-41.06 17.25c-5.997 1.886-12.2 3.595-18.533 5.186 8.91 16.314 14.04 30.545 15.625 43.063 2.682 21.173-3.548 38.124-20.187 56.592-23.118 25.66-24.01 54.512-27.563 82.625-3.5 27.702-9.055 55.82-38.812 88.532h24.344c23.8-31.292 29.794-60.816 33-86.19 3.687-29.18 4.24-51.718 22.906-72.436 19.127-21.23 28.188-45.065 24.844-71.47-1.838-14.506-7.098-29.6-15.625-45.905zm-39.75 9.905c-21.83 4.216-44.707 6.853-67.033 8.03-16.476.87-33.335 1.24-49.875.845-14.306 14.035-26.07 29.54-33.78 45.813-12.875 27.174-13.776 57.767 5.562 82.812.295.382.57.788.844 1.188-10.236 6.08-21.41 11.5-33.25 16.75-23.037 10.21-48.35 19.324-72.813 31.125 6.505-27.637 17.068-49.704 29.188-62.063 16.996-17.333 35.44-32.76 46-57.844 6.838-16.245 9.966-35.98 7.75-61.905-6.59-1.016-12.964-2.276-19.094-3.72 2.97 26.23.066 44.26-5.876 58.376-8.568 20.355-24.4 33.955-42.125 52.033-18.482 18.845-31.744 49.66-37.814 86.75-9.37 5.463-18.45 11.502-27.062 18.406v24.936c7.454-7.247 15.6-13.632 24.25-19.406-1.067 14.096-1.178 28.833-.22 43.97h18.75c-1.257-19.685-.448-38.66 1.94-56.158 26.77-14.288 56.505-24.9 84.717-37.406 10.524-4.664 20.864-9.69 30.72-15.375-.125 10.524-4.077 23.175-12.344 37.19-14.266 24.18-40.91 50.666-77.344 71.75h34.344c26.386-19.128 46.457-40.83 59.094-62.25 11.775-19.96 17.327-40.537 13.906-58.095 21.25-15.403 38.72-35.33 48.28-63.47 9.112 1.75 18.513.996 25.314-2.124.256-.116.5-.252.75-.374-7.986 68.863-42.73 137.217-112.313 186.313h30.72c69.553-58.027 100.686-136.855 102.03-213.033 18.65-7.55 31.337-26.797 26.782-53.062zM211.75 255.72c1.172 3.966 3.024 7.484 5.375 10.718l2.938 4.03-1.72 4.688c-3.335 9.118-1.49 15.308 3.5 21.375 2.123 2.58 4.95 4.976 8.25 7.064-7.543 23.296-20.897 39.753-38.124 52.844-.512-.75-1.034-1.492-1.595-2.22-14.877-19.267-14.336-40.467-3.47-63.406 5.618-11.855 14.223-23.8 24.845-35.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Jetpack;

impl IconShape for Jetpack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.78 22.875c-39.934 7.73-68.166 23.587-85.06 45.594l56.686 32.718c7.082-3.366 14.852-5.288 22.97-5.407 4.6-.066 9.312.447 14.062 1.595 3.55-21.452.93-46.382-8.657-74.5zm-97.155 60.188l-86.97 150.562 93.126 53.813 21.876-37.875c-9.93-9.794-14.08-24.695-14.594-40.22-.63-18.986 3.98-40.098 12.563-59.187 6.37-14.167 14.91-27.294 25.72-37.22l-51.72-29.874zM426.095 86c-29.394 5.69-52.423 15.795-69.283 29.5 9.33 9.8 14.302 21.758 15.282 34.03l56.53 32.626c10.69-25.678 10.483-57.99-2.53-96.156zM64.968 94.063L27.03 159.78l102 42.75 60.814-105.31L64.97 94.062zm246.624 19.968c-6.535.105-12.59 2.26-18.563 5.845-11.942 7.17-22.876 21.332-30.342 37.938-7.467 16.605-11.48 35.512-10.97 50.906.51 15.377 5.323 26.064 12.813 30.405.008.004.026-.004.033 0 7.503 4.316 19.15 3.152 32.718-4.094 13.584-7.253 27.95-20.167 38.595-34.936 10.645-14.77 17.45-31.35 17.688-45.28.237-13.933-4.683-25.242-20.5-34.376-7.91-4.568-14.935-6.51-21.47-6.407zm58.812 56.126c-3.198 14.315-10.297 28.28-19.375 40.875-12.236 16.98-28.18 31.522-44.936 40.47-13.74 7.338-28.795 11.2-42.28 7.438l-21.845 37.812 93.124 53.78L422 199.94l-51.594-29.782zm54.22 62.625l-60.782 105.345 88.03 67 37.938-65.75-65.187-106.594zm-276.657 31.282c-22.477 9.84-39.73 23.148-51.814 39.344l87.5 50.53c8.04-18.58 11.052-40.098 8.5-64.342l-44.187-25.53zM87.874 320.22L18.22 440.78v37.345l85.843-148.563-16.188-9.343zm169.406 6.967c-22.48 9.84-39.725 23.143-51.81 39.344l87.5 50.533c8.042-18.59 11.056-40.12 8.5-64.375l-44.19-25.5zM122.19 340.031l-90 154.876H53.81l84.594-145.5-16.22-9.375zm34.437 19.876l-77.78 135h21.56l72.376-125.656-16.155-9.344zM197.47 383.5l-63.22 111.406h21.5l57.906-102.062-16.187-9.344zm34.436 19.906l-51.062 91.5h21.375l45.874-82.187-16.188-9.314zm34.438 19.875l-38.938 71.626h21.313l33.843-62.28-16.22-9.345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JeweledChalice;

impl IconShape for JeweledChalice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.938 16.28c-44.12 0-84.047 5.327-113.72 14.282-14.835 4.478-27.12 9.802-36.374 16.407-9.238 6.59-16.223 15.3-16.25 26l-.03.03c0 13.315 1.05 26.348 3.03 39 3.29-1.478 6.858-2.368 10.562-2.5 1.437-.05 2.874.004 4.344.188 11.763 1.47 21.494 9.193 28.688 19.187 7.193 9.994 12.08 22.69 13.437 36.375 1.357 13.686-1.013 26.1-7.063 35.594-2.544 3.994-5.964 7.404-9.937 9.937 30.266 41.24 74.044 67.345 123.313 67.345 48.71 0 92.033-25.536 122.25-65.97-4.95-2.59-9.168-6.572-12.188-11.31-6.05-9.495-8.42-21.91-7.063-35.595 1.357-13.686 6.276-26.38 13.47-36.375 7.193-9.994 16.893-17.718 28.656-19.188.735-.09 1.464-.157 2.187-.187.723-.03 1.438-.026 2.156 0 4.872.174 9.506 1.677 13.594 4.094 2.143-13.137 3.28-26.702 3.28-40.563V73c-.012-10.712-7.002-19.433-16.25-26.03-9.254-6.606-21.538-11.93-36.374-16.407-29.672-8.956-69.6-14.282-113.72-14.282zM152.78 48.72c-4.477 3.726-6.936 7.742-6.936 11.936 0 19.348 51.99 35.032 116.094 35.032C326.04 95.688 378 80 378 60.656c0-4.2-2.48-8.206-6.97-11.937 13.2 4.046 23.653 8.826 30.158 13.468 6.634 4.734 8.406 8.483 8.406 10.843 0 2.36-1.772 6.11-8.406 10.845-6.635 4.734-17.36 9.62-30.938 13.72-27.155 8.194-65.717 13.468-108.313 13.468-42.595 0-81.157-5.274-108.312-13.47-13.577-4.097-24.303-8.984-30.938-13.718-6.634-4.734-8.406-8.484-8.406-10.844 0-2.36 1.773-6.108 8.407-10.843 6.495-4.634 16.922-9.425 30.094-13.468zm-43.25 79.405c-.522-.007-1.012.024-1.5.094-2.917.418-5.155 2.195-7.5 5.874-3.124 4.904-5.242 13.385-4.218 23.72.818 8.25 3.468 16.2 7.094 22.686 1.035-8.94 8.625-15.875 17.844-15.875 6.984 0 13.026 3.994 16 9.813.1-2.316.036-4.772-.22-7.344-1.023-10.334-4.93-20.226-10.03-27.313-5.1-7.086-11.195-10.953-15.813-11.53-.577-.072-1.133-.118-1.656-.125zm301.5 0c-.522.007-1.078.053-1.655.125-4.618.577-10.71 4.444-15.813 11.53-5.1 7.088-9.006 16.98-10.03 27.314-.158 1.58-.234 3.105-.25 4.594 3.29-4.295 8.456-7.063 14.28-7.063 9.926 0 17.97 8.043 17.97 17.97 0 .23-.023.457-.032.686 4.477-6.908 7.81-15.998 8.75-25.468 1.024-10.333-1.094-18.814-4.22-23.718-2.342-3.68-4.58-5.456-7.5-5.875-.485-.07-.976-.102-1.5-.095zm-148.905 11.813c11.85 0 22.082 6.965 28.75 16.53 6.668 9.566 10.406 21.998 10.406 35.563 0 13.566-3.737 25.998-10.405 35.564-6.668 9.565-16.9 16.53-28.75 16.53-11.85 0-22.05-6.965-28.72-16.53C226.74 218.028 223 205.597 223 192.03c0-13.564 3.74-25.996 10.406-35.56 6.668-9.567 16.868-16.532 28.72-16.532zm0 18.687c-4.606 0-9.29 2.624-13.406 8.53-4.12 5.908-7.032 14.83-7.032 24.876 0 4.65.64 9.052 1.718 13.032 1.935-7.837 8.97-13.656 17.406-13.656 9.926 0 17.97 8.043 17.97 17.97 0 .62-.033 1.24-.094 1.843 2.38-5.356 3.906-11.975 3.906-19.19 0-10.044-2.945-18.967-7.063-24.874-4.116-5.907-8.8-8.53-13.405-8.53zm-39.22 128.72c-1.274 6.034-2.6 11.995-4 17.81.5.183 1.005.357 1.532.533 9.685 3.217 24.14 5.437 40.125 5.437 15.77 0 30.07-2.166 39.75-5.313-1.495-5.43-2.922-10.995-4.312-16.625-9.97 2.145-21.07 3.344-32.78 3.344-14.76 0-28.546-1.884-40.314-5.186zm-8.655 35.967c-11.726 42.656-26.91 77.18-44.656 95.375.498 1.15 1.65 2.71 4.125 4.72 3.802 3.088 10.298 6.512 18.718 9.406 16.838 5.787 41.21 9.625 68.125 9.625 26.913 0 51.317-3.838 68.156-9.625 8.418-2.894 14.914-6.318 18.717-9.407 3.163-2.568 4.162-4.385 4.407-5.562-17.226-18.314-33.287-52.22-46.28-94.094-12.233 3.898-27.832 6.063-45.002 6.063-17.664 0-33.65-2.294-46.03-6.407-.096-.03-.187-.062-.282-.094zm152.563 106.25c-2 3.152-4.644 5.948-7.594 8.344-6.39 5.19-14.64 9.226-24.44 12.594-19.6 6.737-45.566 10.625-74.217 10.625-28.652 0-54.588-3.888-74.188-10.625-9.8-3.368-18.05-7.405-24.438-12.594-2.89-2.348-5.484-5.082-7.468-8.156-.4.18-.788.398-1.19.563-11.745 4.817-21.073 11.418-23.468 21.53-4.48 18.93 58.848 38.31 131.875 38.313 73.028.002 132.407-17.273 132.407-38.312 0-8.636-11.4-13.37-27.28-22.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JigsawBox;

impl IconShape for JigsawBox {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M348.125 20.78l-141.75 20.345 23.188 39.094c25.64-1.58 46.48 9.678 55.625 25.5 4.95 8.564 6.226 19.507.937 28.5-3.466 5.89-9.315 10.183-16.75 13.093l17.406 29.28 47.564-7 6.062-.874 3.22 5.186c14.998 23.98 34.436 31.593 42.03 30.375 3.798-.608 4.902-1.42 5.75-5.436.848-4.018-.1-12.352-6.406-24.03l-6.344-11.72 13.22-1.938 35.655-5.25L348.126 20.78zm-160.03 22.97l-90.47 12.97 2.22 3.78 112.78 192.438 90.22-12.657-55.783-93.968-7.156-12.03 13.844-2c10.52-1.512 14.83-5.065 16.28-7.532 1.452-2.467 1.485-5.305-1.03-9.656-5.03-8.702-21.297-19.017-43.188-15.875l-6.187.905-3.188-5.375-29.78-50.156 1.437-.844zM95.25 89.656l-23.906 94.906L103 237.875l2.28 3.813-1.56 4.187c-8.138 22.007-2.404 47.465 6.374 60.938 4.388 6.736 9.347 9.5 10.75 9.625.7.062.827.15 1.906-.75 1.08-.9 2.866-3.158 4.53-7.407l6.907-17.592 9.782 16.156 40.343 66.47 94.593-13.908 25-100.406L209 272.313l-6.188.875-3.156-5.407L95.25 89.657zm342.5 83.625l-30.97 4.564c3.37 9.13 4.477 17.406 2.908 24.844-2.228 10.55-11.093 18.432-21.063 20.03-18.65 2.99-40.13-9.126-57.28-33.78L297.094 194l27.81 46.813 1.97 3.312-.938 3.72-27.03 108.624L334 351.31c7.904-30.733 26.995-47.928 46.75-48.625 10.58-.373 20.995 4.5 27.375 13.438 4.443 6.225 6.8 14.196 7.125 23.25l25.406-3.75 27.156-107.78L445.5 186.5l-7.75-13.22zM64.875 210.25L45.78 285.97 148.53 460.5l19.595-77.78-32.5-53.595c-.313.288-.58.634-.906.906-4.368 3.642-10.184 5.483-15.564 5-10.76-.963-18.567-8.588-24.72-18.03-11.66-17.898-17.97-45.82-9.592-73.094l-19.97-33.656zm316.53 111.125c-9.7.342-25.098 10.585-30.717 40.03l-1.25 6.533-6.563.968-157.813 23.156-23.968 95.063-1.03 4.03L410.5 455.22l25.188-99.97-29 4.28-12.625 1.845 2.03-12.594c1.738-10.7-.286-17.716-3.187-21.78-2.9-4.064-6.65-5.796-11.5-5.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JigsawPiece;

impl IconShape for JigsawPiece {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.72 26.594c-.753-.008-1.514.01-2.282.03-5.09.147-10.548.97-16.375 2.532-62.162 16.66-38.924 89.862-13.97 94.72 4.963.964 15.1 29.773 5.407 47.968L102.25 200.03l28.063 104.75c-4.66 18.956-34.61 21.788-51.438 8-13.04-10.692-68.983 9.403-54.78 62.408 14.2 53.004 76.607 33.183 80.75 11.906 1.016-5.245 28.51-24.732 45.405-7.844l28.125 104.938 114.594-30.72c29.46-14.44 5.724-35.85-14.376-43.437-15.9-5.987-26.554-64.91 26.844-79.217 5.005-1.342 9.676-1.97 14-2.032 41.79-.61 51.995 53.516 37.062 66.5-4.135 3.595-13.396 43.19 15.844 36.876l5.312-1.5c-.927.323-1.822.6-2.687.844l118.186-31.656-30.344-113.313c-14.378-18.138-42.185-4.923-49.687 15-5.993 15.91-50.688 24.518-65-28.874-14.312-53.39 32.484-60.992 49.25-47 14.26 11.905 51.205 11.807 40.375-30.47l5.438 18.095-26.157-97.593-138.75 37.188c-19.11-8.485-25.912-31.455-10.405-44.438 27.632-23.133 14.2-81.373-33.156-81.843zm137.624 405.562l-3.844 1.094 6.28-1.688c-.837.233-1.653.425-2.436.594zm63.437-243.562c.775 2.288 1.436 4.482 1.97 6.562l-1.97-6.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Journey;

impl IconShape for Journey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M424.188 85.594c.33.05-.86.094-3.313.094-18.512 0-35.78 20.06-35.78 47.5 0 13.83 4.712 26.208 11.624 34.78l10.217 12.626-16.062 2.47c-10.56 1.617-17.663 6.432-23.625 14.342s-10.344 19.18-13.25 32.344c-5.186 23.492-5.59 52.425-5.625 78.156h30.438l.593 8.72 7.094 106.593h65.813l8.03-106.69.657-8.624h32c-.24-25.383-1.62-53.933-7.344-77.25-3.213-13.086-7.783-24.354-13.687-32.375-5.905-8.02-12.7-12.85-22.064-14.593l-15.72-2.937 10.283-12.25c7.228-8.623 12.186-21.138 12.186-35.313 0-25.74-15.5-45.406-32.28-47.562l-.188-.03zm-244.75 3.375c-45.9.006-99.844 5.373-161.625 17.905V126c268.018-37.648 341.545 38.15 226.25 79.344-117.327 41.92-210.503 252.258 159.406 270.594 4.362.438 8.85.687 13.436.687 22.28 0 42.34-5.452 56.125-13.594 13.787-8.14 20.595-18.14 20.595-27.905s-6.808-19.764-20.594-27.906c-.23-.138-.482-.272-.717-.408l-2 26.47-.657 8.656H369l-.563-8.75-3.28-49.5c-128.194 2.8-163.256-100.51-80.094-130.47 20.385-7.344 37.086-15.836 50.187-25.03.17-.822.32-1.655.5-2.47 3.262-14.774 8.256-28.498 16.594-39.562 4.946-6.563 11.24-12.07 18.72-15.97-3.124-42.547-68.335-81.236-191.627-81.217z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Juggler;

impl IconShape for Juggler {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M282.063 20.938c-18.876 0-33.875 15.56-33.875 34.437 0 18.877 15 33.875 33.875 33.875s33.875-14.998 33.875-33.875c0-18.875-15-34.438-33.875-34.438zM129.905 82.094c-18.875 0-33.875 15.59-33.875 34.47 0 18.876 15 33.874 33.876 33.874 18.875 0 33.875-14.998 33.875-33.875 0-18.876-15-34.47-33.874-34.47zm284.281 22.656c-18.875 0-33.875 15.59-33.875 34.47 0 18.876 15 33.874 33.875 33.874 18.876 0 33.875-14.998 33.875-33.875 0-18.877-15-34.47-33.875-34.47zm-162.25 57.563c-3.24-.003-6.51.42-9.718 1.28-25.657 6.875-39.12 39.755-30.095 73.438 3.502 13.072 9.883 24.315 17.875 32.814-19.225 4.532-34.137 13.467-40.5 24.5l-.406-.094-41.594 64.438-50.688-21.938c-29.376-16.12-61.575 24-30.624 41.688l94.468 44.062 38.03-50.063c21.493 38.735 15.748 77.484-25.124 116.25H342.75c-39.82-38.2-42.438-76.424-23.28-114.625l36.81 48.438 94.47-44.063c11.635-6.65 14.334-16.47 11.625-25.28-8.184 5.26-17.915 8.343-28.344 8.343-14.224 0-27.118-5.72-36.592-14.938l-28 12.125-41.594-64.437h-.03c-5.48-9.417-17.226-17.278-32.533-22.188 11.58-14.222 15.924-36.9 9.75-59.937-7.896-29.473-30.4-49.798-53.092-49.813zm-164.125 61.03c-18.875 0-33.874 15.56-33.874 34.438 0 18.88 15 33.876 33.874 33.876 18.876 0 33.876-14.997 33.876-33.875 0-18.874-15-34.436-33.876-34.436zm346.22 51.126c-18.876 0-33.876 15.59-33.876 34.467 0 18.878 15 33.875 33.875 33.875 18.876 0 33.876-14.997 33.876-33.875 0-18.875-15-34.468-33.875-34.468z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct JusticeStar;

impl IconShape for JusticeStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.438 25.78l-41.75 127.19 41.625 30 42.093-30.22-41.97-126.97zm-90.157 91.064c-16.33 0-29.374 13.043-29.374 29.375 0 16.33 13.044 29.374 29.375 29.374 16.333 0 29.345-13.044 29.345-29.375 0-16.333-13.012-29.376-29.344-29.376zm179.97.375c-16.332 0-29.375 13.042-29.375 29.374 0 16.33 13.043 29.344 29.375 29.344s29.375-13.013 29.375-29.344c0-16.332-13.043-29.375-29.375-29.375zM207.5 170.843c-5.795 9.65-14.895 17.124-25.688 20.844L197.595 241l2.062 6.438-5.47 3.968-49.06 35.813c5.772 7.404 9.438 16.525 10.06 26.436l59.658.28 6.75.033 2.094 6.405L243 379.188c4.37-1.32 8.996-2.032 13.78-2.032 4.652 0 9.145.69 13.408 1.938l19.5-58.97 2.093-6.405 6.75-.033 56.72-.156c.83-10.39 5.006-19.848 11.438-27.342l-48.032-35.22L313.22 247l2.092-6.406 15.625-48.5c-10.945-3.71-20.17-11.247-26-21.03l-43.187 31.03-5.47 3.906-5.467-3.906-43.313-31.25zm-44.375 23.78l-140.188.657 108.157 79 46.625-34-14.595-45.655zm186.53.25l-14.5 45.032 46.876 34.344c.24-.117.48-.23.72-.344l107.188-78.625-140.282-.405zm-242.405 92.44c-16.332-.002-29.375 13.042-29.375 29.373 0 16.332 13.043 29.375 29.375 29.375s29.375-13.043 29.375-29.375c0-16.33-13.043-29.375-29.375-29.375zm295.875.686c-16.332 0-29.375 13.043-29.375 29.375s13.043 29.375 29.375 29.375 29.375-13.043 29.375-29.375S419.457 288 403.125 288zm-46.594 44.22l-51.217.124-18.344 55.47 113.78 81.78-44.22-137.375zm-200.5.124l-43.905 137.25 113.906-82.188-18-54.812-52-.25zm100.75 63.5c-16.33 0-29.374 13.043-29.374 29.375 0 16.33 13.044 29.374 29.375 29.374 16.333 0 29.376-13.044 29.376-29.375 0-16.333-13.043-29.376-29.375-29.376z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KaleidoscopePearls;

impl IconShape for KaleidoscopePearls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192.9 20.39c-13.9 3.7-22.2 18-18.4 32 3.7 13.9 18 22.1 32 18.4 13.9-3.7 22.1-18 18.4-32-.7-2.5-1.7-4.9-3.1-7.1.2.9.2 1.7.2 2.5 0 7.5-5.8 13.6-13.1 14-.9-6.9-6.8-12.2-13.9-12.2-.3 0-.6 0-.9.1-.1-.6-.1-1.2-.1-1.8 0-7.2 5.3-13 12.2-13.9-4.5-1.17-9.1-1.11-13.3 0zm105 47.2c-6.3.3-12.5 2.9-17.2 7.7a25.907 25.907 0 0 0 0 36.91c10.2 10.3 26.7 10.3 37 0 7.3-7.3 9.3-17.81 6.2-27.01-.6 6.9-6.2 12.3-13.1 12.7-.9-6.9-6.8-12.2-13.9-12.2-.3 0-.6 0-.9.1-.1-.6-.1-1.2-.1-1.8 0-7.8 6.2-14 14-14.1-4.3-1.64-7.9-2.3-12-2.3zm112.2 8.2c-6.7 0-13.3 2.6-18.4 7.7-10.2 10.2-10.2 26.71 0 36.91 10.2 10.2 26.7 10.2 36.9 0 8.3-8.3 9.8-20.91 4.6-30.71v1.2c0 7.4-5.8 13.51-13.1 13.91-.9-6.91-6.8-12.21-13.9-12.21h-.9c-.1-.6-.1-1.2-.1-1.8 0-7.2 5.4-13.1 12.4-13.9-2.4-.7-4.9-1.1-7.5-1.1zM211 88.09c-21.5 5.7-34.2 27.81-28.5 49.31 5.8 21.5 27.9 34.2 49.4 28.5 21.5-5.8 34.2-27.9 28.4-49.4-1.5-5.6-4.1-10.7-7.5-14.9.2 1.1.3 2.3.3 3.5 0 8.6-5.6 15.9-13.3 18.6.1-.9.2-1.9.2-2.8 0-10.9-8.8-19.7-19.7-19.7-2.3 0-4.4.4-6.5 1.1 1.1-7.01 5.8-12.81 12.1-15.41-5-.46-10.5 0-14.9 1.2zm-83.5 24.71c-14 3.7-22.3 18.1-18.6 32 3.7 14 18.2 22.2 32.1 18.5 14-3.7 22.3-18.1 18.5-32-.6-2.2-1.4-4.3-2.5-6.1.3 7.7-4.5 16.1-13.1 15.1-.9-6.9-6.8-12.3-13.9-12.3-.3 0-.6 0-.9.1 0-.6-.1-1.2-.1-1.8 0-6.8 4.8-12.4 11.1-13.7-4.3-1-8.7-.8-12.6.2zm222.9 8.3c-10.3 0-20.6 4-28.5 11.9-15.7 15.7-15.7 41.2 0 56.9 15.7 15.8 41.2 15.8 57 0 13.4-13.4 15.3-34 5.9-49.5.1 1 .2 2.1.2 3.1 0 8.6-5.5 15.9-13.2 18.6.1-.9.1-1.9.1-2.8 0-10.9-8.8-19.7-19.6-19.7-2.3 0-4.4.4-6.5 1.1 1.4-9.4 9.3-16.6 19-16.9-4.7-1.7-9.5-2.7-14.4-2.7zM44.5 173.5c-11.13.4-21.13 8-24.16 19.3-3.73 13.9 4.54 28.3 18.47 32 13.92 3.7 28.23-4.5 31.97-18.5 1.63-6.1.95-12.3-1.5-17.6v.6c0 7.5-5.82 13.6-13.16 14-.86-6.9-6.75-12.3-13.91-12.3-.29 0-.58 0-.87.1-.53-8.3 7.46-15.5 13.72-15.8-3.35-1.3-7.34-1.9-10.6-1.8zm211.6 6.1c-33.9-.4-65 22.2-74.2 56.4-10.9 40.6 13.2 82.3 53.8 93.2 40.5 10.9 82.3-13.2 93.1-53.8 5-18.5 2.7-37.3-5.2-53.3.2 1.9.3 3.7.3 5.6 0 19.1-10.9 35.6-26.9 43.6 1.4-4.5 2.1-9.2 2.1-14.1 0-26.9-21.8-48.7-48.8-48.7-7.8 0-15.2 1.9-21.8 5.2 5.1-16.8 18.8-29.7 36-33.5-2.8-.4-5.6-.6-8.4-.6zm-128.6 1.5c-18-.2-34.49 11.8-39.35 29.9-5.76 21.5 6.98 43.6 28.55 49.3 21.5 5.8 43.6-7 49.4-28.5 3.6-13.5-.2-27.3-8.8-37.1.8 2.2 1.2 4.5 1.2 6.9 0 8.6-5.5 15.9-13.2 18.6.1-.9.2-1.9.2-2.8 0-10.9-8.8-19.7-19.7-19.7-2.3 0-4.4.4-6.4 1.1 1.2-8.6 7.9-15.4 16.4-16.7-2.7-.6-5.5-1-8.3-1zm292.9 7.3c-11.7-.1-22.4 7.6-25.5 19.4-3.8 14 4.5 28.3 18.5 32 13.9 3.8 28.3-4.5 32-18.5 2-7.4.6-15-3.3-21v1.3c0 7.5-5.8 13.6-13.2 14-.8-6.9-6.7-12.3-13.9-12.3-.3 0-.6.1-.8.1-.1-.6-.2-1.2-.2-1.8 0-5.9 3.7-11 8.9-13-.8-.1-1.7-.2-2.5-.2zm-37 61.9c-17.1.7-32.6 12.4-37.2 29.8-5.8 21.5 6.9 43.6 28.4 49.4 21.5 5.7 43.6-7 49.4-28.5 3.3-12.6.3-25.4-7.1-35 .4 1.4.6 2.9.6 4.5 0 8.6-5.5 15.9-13.2 18.6.1-.9.1-1.9.1-2.8 0-10.9-8.8-19.7-19.6-19.7-2.3 0-4.5.4-6.5 1.1 1.2-8.2 7.4-14.8 15.5-16.5-3.8-.6-7-1.2-10.4-.9zM90.12 276.9c-11.65-.1-22.35 7.6-25.5 19.4-3.74 13.9 4.55 28.3 18.5 32 13.95 3.7 28.28-4.5 32.08-18.5 1.8-6.6.9-13.2-2.1-18.8v.2c0 7.5-5.8 13.6-13.14 14-.86-6.9-6.75-12.3-13.9-12.3-.3 0-.59 0-.88.1-.1-.6-.12-1.2-.12-1.8 0-6.6 4.59-12.1 10.75-13.6-1.9-.5-3.81-.7-5.69-.7zm375.38 9.3c-11.2.4-21.2 8-24.3 19.4-3.7 13.9 4.6 28.2 18.5 31.9 13.9 3.8 28.2-4.5 32-18.4 2.2-8.4.1-16.9-5-23.2.1.7.2 1.5.2 2.2 0 7.5-5.8 13.6-13.2 14-.8-6.9-6.7-12.3-13.9-12.3-.3 0-.5.1-.8.1-.1-.6-.2-1.2-.2-1.8 0-5 2.7-9.4 6.7-11.9zm-303.9 23.7c-10.3 0-20.6 4-28.5 11.8-15.7 15.8-15.7 41.3 0 57 15.8 15.7 41.3 15.7 57 0 14.1-14.2 15.5-36.2 4.2-51.9.4 1.5.7 3.1.7 4.8 0 8.6-5.6 15.9-13.3 18.6.2-.9.2-1.9.2-2.9 0-10.8-8.8-19.6-19.7-19.6-2.2 0-4.4.3-6.4 1 1.3-9.1 8.9-16.2 18.4-16.8-4.1-1.3-8.4-2-12.6-2zm118.6 36c-21.5 5.8-34.3 27.9-28.5 49.4 5.7 21.5 27.8 34.2 49.3 28.4 21.5-5.7 34.2-27.8 28.5-49.3-1-3.6-2.5-7-4.3-10.2v1.1c0 8.6-5.6 15.9-13.3 18.6.2-.9.2-1.9.2-2.8 0-10.9-8.8-19.7-19.7-19.7-2.2 0-4.4.4-6.4 1.1 1.2-8.2 7.4-14.7 15.4-16.4-7.2-1.9-14.5-2-21.2-.2zm93.7 7.8c-1.5.1-3.1.3-4.7.8-14 3.7-22.2 18-18.5 32 3.7 13.9 18.1 22.2 32 18.5 14-3.7 22.3-18.1 18.5-32-1.2-4.5-3.4-8.4-6.4-11.5.3 1.3.5 2.7.5 4.1 0 7.4-5.8 13.5-13.1 14-.9-7-6.8-12.3-13.9-12.3h-.9c-.1-.6-.1-1.1-.1-1.7 0-5.1 2.7-9.5 6.6-11.9zM102 383.8c-6.72 0-13.38 2.6-18.47 7.7-10.2 10.2-10.2 26.7 0 36.9 10.19 10.2 26.67 10.2 36.97 0 8.1-8 9.7-19.9 5.2-29.6-1.4 5.9-6.6 10.4-13 10.8-.8-6.9-6.7-12.3-13.83-12.3h-.88c-.1-.5-.12-1.1-.12-1.7 0-4.9 2.53-9.1 6.23-11.7-.7 0-1.4-.1-2.1-.1zm108.7 13.9c-6.7 0-13.4 2.6-18.5 7.7-10.2 10.2-10.2 26.8 0 37s26.8 10.2 37 0c7.7-7.7 9.6-19.1 5.6-28.6-.2 7.2-5.9 13.1-13.1 13.5-.9-6.9-6.8-12.3-13.9-12.3-.3 0-.6.1-.9.1-.1-.6-.1-1.2-.1-1.8 0-7.4 5.7-13.4 12.9-14-2.9-1-6-1.6-9-1.6zm95 43.4c-14 3.7-22.2 18.1-18.5 32 3.7 13.9 18.1 22.2 32 18.5 13.9-3.8 22.2-18.1 18.4-32 0-.3-.1-.5-.2-.8-1.4 6-6.6 10.5-12.8 10.8-.9-6.9-6.8-12.2-13.9-12.2h-.9c-.1-.6-.1-1.1-.1-1.8 0-6.9 5-12.6 11.6-13.8-5.3-1.7-10.6-2.1-15.6-.7z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Key;

impl IconShape for Key {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M356.5 16.375l-174.906 255.22 1.53 1.06 31.97 22.314 175.062-255.5L356.5 16.374zm90.063 62.22c-20.16 29.418-44.122 23.1-68.25 8.905l-48.688 72.875c21.278 16.55 36.46 35.645 18.594 61.72l42.967 29.468 28.907-42.157-14.72-9.156c-3.167 1.844-6.85 2.906-10.78 2.906-11.85 0-21.47-9.62-21.47-21.47 0-11.847 9.62-21.436 21.47-21.436s21.437 9.59 21.437 21.438c0 .195-.025.4-.03.593l15.906 9.907 17.938-26.218-37.688-23.5 11.03-17.72 14.94 9.313 10.093-16.188 24.25 15.094 17.092-24.94-43-29.436zM141.22 268.624c-.31.01-.628.023-.94.063-.827.104-1.652.284-2.53.562-3.51 1.11-7.4 4.066-10.125 7.938-2.724 3.87-4.16 8.487-4 12.125.16 3.637 1.257 6.338 5.25 9.125l76.594 53.468c3.283 2.293 5.727 2.35 9.124 1.156 3.396-1.192 7.323-4.26 10.125-8.218 2.8-3.96 4.352-8.66 4.31-12.188-.04-3.53-.89-5.787-4.374-8.22L148.03 270.97c-2.546-1.78-4.657-2.42-6.81-2.345zM84.28 312.78c-24.354.41-45.504 9.52-57.655 27.25-16.95 24.737-11.868 59.753 9.625 90.283-1.838 4.72-2.875 9.84-2.875 15.187 0 23.243 19.07 42.313 42.313 42.313 8.635 0 16.692-2.625 23.406-7.125 43.208 18.488 88.07 12.714 108.28-16.782 18.695-27.28 10.884-66.912-16.374-99.312l-63.094-44.03c-14.016-5.107-28.07-7.7-41.25-7.783-.792-.004-1.59-.012-2.375 0zm-8.593 109.126c13.143 0 23.594 10.45 23.594 23.594 0 13.143-10.45 23.625-23.593 23.625-13.142 0-23.624-10.482-23.624-23.625s10.482-23.594 23.624-23.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Kindle;

impl IconShape for Kindle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M90.22 76.188c-23.537-.395-40.56 23.822-39.407 45.656 11.606-13.064 35.7-24.125 61.968-20.656l.22.03c36.8 6.922 61.98 19.407 76.406 34.126-15.61-6.265-40.292-11.3-68.562-12.813-31.165 11.44-53.88 28.06-71.53 49-43.782 3.015-31.844 53.116-9.314 68.69-4.214-16.57-3.44-43.53 18.03-58.595 18.087-8.644 40.996-16.134 66.72-20.47-22.005 16.524-37.147 35.075-47.813 55.69l-.062-.032c-36.585 9.073-29.07 50.357-7.188 67.468-3.492-18.15 3.39-45.343 25.313-61.124l-.22-.062c14.31-10.58 31.762-20.9 51.5-29.72-18.05 22.572-28.31 45.462-33.31 69.22-28.173 23.664-.407 55.613 28.093 60.75-12.228-13.827-19.776-39.568-8.657-62.375 16.032-20.168 39.514-40.78 72.75-59.283 19.115-10.637 37.1-28.298 41.188-46.312 5.61-24.734-9.26-50.143-33.313-60.938-43.077-19.33-73.57-20.176-101.75-11.5-7.355-4.564-14.467-6.64-21.06-6.75zm339.374 0c-6.595.11-13.676 2.185-21.03 6.75-28.187-8.685-58.69-7.837-101.783 11.5-24.05 10.794-38.89 36.203-33.28 60.937 4.09 18.014 22.073 35.675 41.188 46.313 33.177 18.468 56.657 39.023 72.687 59.156 11.2 22.835 3.623 48.65-8.625 62.5 28.5-5.137 56.272-37.085 28.094-60.75-5-23.758-15.263-46.648-33.313-69.22 19.733 8.816 37.227 19.113 51.533 29.69l-.25.092c21.923 15.78 28.805 42.975 25.312 61.125 21.882-17.11 29.397-58.394-7.188-67.467l-.062.03c-10.665-20.613-25.808-39.164-47.813-55.687 25.764 4.34 48.714 11.84 66.813 20.5 21.417 15.07 22.18 42.01 17.97 58.563 22.53-15.574 34.435-65.675-9.345-68.69-17.653-20.94-40.366-37.56-71.53-49-28.27 1.515-52.953 6.55-68.564 12.814 14.455-14.748 39.705-27.244 76.625-34.156 26.28-3.482 50.39 7.587 62 20.656 1.155-21.834-15.9-46.05-39.436-45.656zM238.97 220.563c-9.667.19-19.72 2.667-29.44 7.906 40.376-2.36 68.23 37.102 43.69 72.624-9.175 8.128-16.278 19.344-21.19 33.5-3.67-22.555-22.21-34.716-45.31-34.125 36.892 35.423 26.34 71.935 8.75 105.874-10.338 19.94-1.565 48.268 18.405 67.312-1.74-7.476-2.688-16.54-2.688-27.562 0-28.81 23.348-52.156 52.157-52.156 28.808 0 52.187 23.345 52.187 52.156 0 14.74-1.634 25.985-4.56 34.562 21.63-14.884 31.375-41.32 12.624-75.656-30.154-55.22-31.554-113.868 18.28-112.156-17.665-5.79-33.534-8.273-47.468-7.563 8.117-37.158-21.176-65.39-55.437-64.717zm24.374 211.28c-17.528 0-31.53 14.005-31.53 31.532s14.003 31.53 31.53 31.53 31.53-14.003 31.53-31.53-14.003-31.53-31.53-31.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct King;

impl IconShape for King {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.408 22.127l-23.082 62.035-31.017-57.707-11.542 59.15-44.002-55.543L154.26 110c27.263 27.263 178.638 27.663 206.3 0l5.772-79.936-44.002 55.543-11.54-59.15-31.02 56.986-22.36-61.313h-.002zm.45 129.094c-18.725 0-36.08 9.108-49.06 25.696-12.977 16.588-21.023 40.493-21.023 66.578 0 27.678 9.47 52.137 23.946 68.914l10.512 11.682-15.185 3.504c-40.28 9.177-59.512 28.283-70.666 57.818-10.383 27.496-12.014 65.42-12.263 110.38H393.35c-.047-45.15-.35-84.062-9.928-112.134-10.28-30.13-29.122-49.348-72.418-57.816l-15.186-2.92 9.928-12.266c13.574-16.684 22.193-40.46 22.193-67.162 0-26.085-8.048-49.99-21.026-66.578s-30.332-25.695-49.057-25.695z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KitchenKnives;

impl IconShape for KitchenKnives {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M140.78 28.03L131.907 54c43.253 8.353 84.735 22.207 124.063 42.406l8.874-25.937L140.78 28.03zm141.282 49.782l-8.343 24.407c5.582 11.184 6.648 25.473-.25 45.624 72.357 24.773 140.607 52.916 223.75 47.03-58.85-46.902-124.914-82.347-215.158-117.06zM130.095 99.094L105.22 131.53c50.832 28.482 96.958 63.293 137.5 105.407l24.843-32.375-137.47-105.468zm-74.656 2.656l-26.813 15.625c29.6 37.582 53.774 78.455 71.594 123.03L127 224.813 55.437 101.75zM279.78 219.344l-18.686 24.375c3.42 16.74-.533 35.585-18.375 58.843 77.76 59.655 149.145 121.704 252.53 148.53-52.672-81.572-118.975-152.038-215.47-231.75zm-145.217 22.72l-23.407 13.592c-3.13 13.372-12.31 26.05-32.594 37.844 41.332 71.09 76.94 142.002 148.625 195.78-14.802-79.716-43.58-155.194-92.625-247.217z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Knapsack;

impl IconShape for Knapsack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.125 18.156V247h49.313V18.156h-49.313zM78.812 21.438l-16 136.906c48.707 30.112 97.637 47.843 148.625 53.094V33.125c-44.244-1.822-88.46-5.89-132.625-11.688zm349.438.28c-43.398 6.814-86.784 10.647-130.125 11.97v175c46.732-7.458 95.816-24.375 148.438-50.844L428.25 21.72zm-1.938 166.532c-44.474 19.847-87.06 32.836-128.187 38.97V247h37.031v143.188h-37.031v8.718c0 34.41-20.516 56.084-43.25 56.28-22.734.2-43.438-21.34-43.438-56.28v-8.72l-27.656.002h-9.343V247h37.001v-17.188c-43.774-4.164-86.14-16.857-127.687-38.062 5.04 92.69 3.66 185.37-5.063 278.063 117.402 32.047 234.788 31.002 352.188 0-6.853-93.858-9.223-187.706-4.563-281.563zm-233.187 77.438V371.5H316.47V265.687H193.124zm20.47 18.156H296v67.5H213.594v-67.5zm18.686 18.687v30.126h45.032V302.53h-45.03zm-2.155 87.658v8.718c0 28.23 13.32 37.692 24.594 37.594 11.27-.098 24.718-10.018 24.718-37.594v-8.72l-49.313.002z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KnifeFork;

impl IconShape for KnifeFork {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M39.906 27.188c-9.118 13.907-11.366 30.99-7.843 50.718 4.2 23.526 16.91 50.038 35.28 75 36.742 49.925 96.05 93.082 148.813 99.625l3.688.47 2.375 2.844L416.374 490.22c19.352 4.624 31.847 1.745 38.344-4.69 6.547-6.484 9.566-19.005 4.717-38.874L39.908 27.187zM414.97 29.5L306.47 138c-12 11.998-12.104 25.2-5.908 39.625l2.563 5.97-4.688 4.5L262 222.844l29.594 29.593 34.594-36.532 4.5-4.75 5.968 2.594c15.165 6.535 29.546 6.267 40.688-4.875l108.5-108.5L471.75 86.28l-70.563 70.532L388 143.595l70.53-70.53L443.5 58.03l-70.53 70.532-13.22-13.218 70.53-70.53-15.31-15.314zM210.936 271.563L25.53 448.469c-4.575 18.95-1.644 30.787 4.532 36.905 6.178 6.118 18.128 8.927 36.844 4.406l173.22-182.967-29.19-35.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct KnifeThrust;

impl IconShape for KnifeThrust {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M47.688 19.156c-.376-.003-.748.016-1.126.032-6.044.245-12.252 2.815-17.28 7.843-10.057 10.058-10.297 24.924-1.72 33.5 3.94 3.94 9.21 6.034 14.72 6.157l3.062-3.093L67.5 41.437l1.406-1.406c-.123-5.515-2.217-10.78-6.156-14.718-4.022-4.02-9.423-6.114-15.063-6.156zm28.28 40.25L63.063 72.313c13.653 33.245 37.167 56.274 67.438 73.718l18.75-18.75C130.385 97.324 105.988 74.1 75.97 59.407zm129.344 38.25L99.906 203.094l23.844 23.844c29.782-40.624 65.415-75.33 105.5-105.344l-23.938-23.938zm12.813 56.406c-22.467 18.703-43.183 39.077-61.875 61.438 34.053 43.905 76.278 82.775 122.406 112.375-20.858 1.702-40.402 1.278-58.562-1.28 34.15 24.845 71.227 45.65 110.25 61.155-28.237 2.647-54.58 2.25-78.97-1.188 72.535 52.773 155.472 91.19 243.064 107.47-20.59-94.733-58.107-178.44-109.844-249.094 3.565 24.952 4.537 52.326 2.47 82.312-16.075-41.127-36.744-78.823-61.564-112.72 2.653 18.574 3.49 38.852 2.22 60.94-29.64-47.287-66.485-88.237-109.595-121.408z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lamellar;

impl IconShape for Lamellar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.094 75.156c-20.642 13.654-46.023 22.503-69.438 26.03 6.792 48.935 26.14 84.133 45.97 97.845 10.523 7.28 20.357 9.012 30.405 5.564 8.93-3.064 18.63-10.97 27.75-25.594-26.933-30.227-31.606-71.05-34.686-103.844zM355 75.25c-3.08 32.79-7.787 73.58-34.72 103.78 9.117 14.61 18.857 22.5 27.783 25.564 10.047 3.448 19.85 1.715 30.375-5.563 19.8-13.693 39.12-48.822 45.937-97.655-24.495-3.17-47.802-11.35-69.375-26.125zm-98.5 12.97c-31.2 0-58.752 6.99-75.47 17.655.988 5.463 2.15 10.912 3.564 16.25 16.138-6.942 42.334-11.47 71.937-11.47 29.604 0 55.8 4.528 71.94 11.47 1.412-5.338 2.575-10.787 3.56-16.25C315.31 95.203 287.716 88.22 256.5 88.22zM75.406 132.374l-47.72 45.47c29.75 37.184 63.04 56.826 86.47 58.718 1.145.092 2.253.135 3.344.156 1.792-7.583 3.963-15.05 6.5-22.345-21.724-15.023-39.014-43.736-48.594-82zm362.25 0c-9.59 38.26-26.87 66.978-48.594 82-.03.022-.062.04-.093.063 2.54 7.276 4.728 14.72 6.53 22.28 1.11-.02 2.24-.06 3.406-.155 23.434-1.892 56.75-21.525 86.5-58.72l-47.75-45.468zm-245 12.47c4.54 9.7 10.45 18.604 18.25 26.155l5.125 4.97-3.436 6.218c-1.8 3.292-3.672 6.388-5.594 9.312 32.592 11.965 67.862 11.136 98.938-.188-1.88-2.868-3.707-5.902-5.47-9.125l-3.406-6.218 5.094-4.97c7.53-7.29 13.308-15.846 17.78-25.156-43.627 10.534-85.4 8.503-127.28-1zm125.5 61.81c-38.403 15.68-83.03 16.82-123.406.157-7.3 7.37-15.218 12.574-23.656 15.47-9.922 3.404-20.24 3.312-30.063.374-6.907 20.592-10.78 42.597-10.78 64.406 0 7.314.562 14.825 1.656 22.47l122.406-29.907 2.22-.563 2.218.563 122.75 29.97c.886-7.647 1.344-15.173 1.344-22.533 0-21.79-3.89-43.792-10.844-64.375-9.812 2.928-20.122 2.995-30.03-.406-8.5-2.915-16.472-8.172-23.814-15.624zm158.47 8.564c-25.404 24.168-52.068 38.018-76.22 39.968-.427.034-.855.036-1.28.062 1.214 8.075 1.99 16.228 2.28 24.406 22.806 3.78 54.723.098 90-14.344l-14.78-50.093zm-440.188.03l-14.75 50.063c35.268 14.433 67.17 18.12 89.968 14.343.29-8.18 1.076-16.33 2.28-24.406-.425-.026-.852-.028-1.28-.063-24.146-1.95-50.82-15.777-76.22-39.937zm220.093 83.063l-121.06 29.593c1.972 8.128 4.51 16.35 7.5 24.625 33.536-7.734 71.23-11.506 108.5-11.78 2.784-.02 5.564-.018 8.343 0 40.257.264 79.61 4.576 112.28 12.25 2.622-8.343 4.8-16.65 6.47-24.875L256.53 298.312zm-4.905 61.406c-35.09.24-70.5 3.556-101.625 10.405 3.586 8.164 7.618 16.326 12.03 24.438 28.365-2.455 59.055-3.677 89.47-3.782 2.763-.008 5.525-.007 8.28 0 33.542.107 66.446 1.56 95.22 4.158 4.04-8.015 7.635-16.103 10.813-24.188-32.65-7.392-73.185-11.312-114.188-11.03zm-.063 49.81c-26.842.09-53.864 1.036-79.125 2.94 5.517 8.88 11.473 17.652 17.813 26.217 4.832 1.102 13.818 2.332 25.344 3.032 13.2.8 29.062 1.137 44.812 1.06 15.75-.074 31.41-.565 44.22-1.405 10.923-.716 19.234-1.848 23.468-2.72 6.205-8.426 11.88-17.067 17.062-25.81-28.492-2.267-60.905-3.422-93.594-3.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LampreyMouth;

impl IconShape for LampreyMouth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.25 17.72c-11.843 0-23.692 4.534-32.78 13.624-16.698 16.697-18.037 42.692-4.064 60.906 8.4-17.542 23.4-27.876 39.28-28 14.61-.114 28.57 8.52 37.345 23.72 10.76-17.833 8.43-41.198-7-56.626-9.088-9.09-20.937-13.625-32.78-13.625zm64.438 38.405c.792 6.464.635 13.016-.5 19.438 15.272 5.223 29.668 12.314 42.906 21.03l9.844-15.78c-16.023-10.52-33.58-18.862-52.25-24.688zm-129.094 1.53c-17.492 5.935-33.955 14.127-49.03 24.22l9.81 15.78c12.432-8.364 25.903-15.317 40.19-20.593-1.286-6.39-1.61-12.936-.97-19.406zM102.97 81.75c-.356.012-.72.04-1.064.063-6 .398-10.73 2.832-14.094 6.25-6.45 6.553-9.122 18.372-1.25 33.78l92.782 57.72-57.72-92.75c-6.617-3.396-12.524-4.97-17.593-5.063-.36-.007-.707-.012-1.06 0zm303.81 0c-5.07.095-10.96 1.685-17.592 5.094l-57.75 92.75 92.812-57.75c7.873-15.41 5.202-27.228-1.25-33.78-3.365-3.42-8.094-5.853-14.094-6.25-.69-.047-1.4-.078-2.125-.064zm-149.936 1.188c-9.205.072-19.457 6.563-24.78 23.062l24.78 106.406 24.78-106.47c-5.437-16.876-15.58-23.07-24.78-23zm42.875 27.812l-4.25 18.188c12.622 3.824 24.45 9.446 35.186 16.593l9.813-15.78c-12.435-8.23-26.14-14.674-40.75-19zm-89.783 1c-13.962 4.485-27.045 10.945-38.937 19.03l9.844 15.814c11.307-7.76 23.886-13.81 37.344-17.813l-2.907-12.593c-1.836-1.374-3.628-2.84-5.343-4.437zM430.5 139.97l-15.78 9.843c8.265 12.352 15.12 25.73 20.342 39.906 2.915-.393 5.846-.595 8.782-.595 3.714 0 7.423.34 11.094.97-5.915-17.898-14.18-34.73-24.438-50.126zm-348.594 1c-9.814 14.913-17.76 31.165-23.53 48.405 1.96-.176 3.937-.25 5.905-.25 4.508 0 9.014.483 13.44 1.406 5.125-14.102 11.862-27.43 20-39.75l-15.814-9.81zm299.97 29.28l-15.813 9.813c7.83 11.142 13.975 23.547 18.125 36.843l7.593-1.78c1.834-2.454 3.837-4.805 6.064-7.032.77-.77 1.544-1.527 2.344-2.25-4.544-12.728-10.735-24.674-18.313-35.594zm-251.345.97c-7.992 11.708-14.397 24.585-18.905 38.31 1.68 1.788 3.216 3.672 4.656 5.595l12.22 2.844c4.035-13.317 10.095-25.746 17.813-36.94l-15.782-9.81zm-66.25 36.468c-11.84 0-23.69 4.535-32.78 13.625-18.18 18.18-18.18 47.383 0 65.562 15.418 15.418 38.743 17.765 56.563 7.03-15.176-8.782-23.77-22.774-23.657-37.374.125-15.882 10.434-30.88 27.97-39.28-8.293-6.364-18.184-9.563-28.095-9.563zm379.564 0c-9.91 0-19.826 3.198-28.125 9.562 17.54 8.4 27.874 23.398 28 39.28.113 14.6-8.505 28.593-23.69 37.376 17.828 10.734 41.177 8.387 56.595-7.03 18.18-18.18 18.18-47.384 0-65.563-9.09-9.09-20.94-13.625-32.78-13.625zm-337.688 24.218c-16.5 5.325-22.99 15.577-23.062 24.78-.072 9.212 6.14 19.35 23.062 24.783l106.375-24.783-106.374-24.78zm295.813 0l-106.376 24.78L401.97 281.47c16.92-5.435 23.133-15.572 23.06-24.783-.07-9.204-6.562-19.456-23.06-24.78zm-145.126 63.5l-24.78 106.406c5.323 16.5 15.575 22.99 24.78 23.063 9.2.072 19.343-6.122 24.78-23l-24.78-106.47zm-128.47.063l-17.655 4.124c-.152.154-.286.316-.44.47 4.316 14.604 10.754 28.315 18.97 40.748L145.03 331c-7.2-10.836-12.845-22.777-16.655-35.53zm255.97 1.092c-3.92 12.73-9.662 24.653-16.97 35.438l15.782 9.813c7.857-11.69 14.128-24.522 18.53-38.188-1.314-1.12-2.6-2.29-3.842-3.53-.17-.17-.334-.33-.5-.5l-13-3.033zM76.688 317.906c-6.37 1.23-12.875 1.46-19.313.78 5.847 18.42 14.17 35.743 24.594 51.564l15.78-9.844c-8.672-13.12-15.76-27.37-21-42.5-.02.004-.043-.004-.063 0zm379.218.063c-6.546 1.22-13.242 1.41-19.844.624-5.347 15.258-12.564 29.618-21.406 42.812l15.78 9.844c10.873-16.298 19.492-34.2 25.47-53.28zm-276.469 13.655l-92.78 57.72c-8.1 15.787-5.28 27.354 1.28 33.81 6.554 6.452 18.372 9.094 33.782 1.22l57.718-92.75zm151.97 0l57.687 92.72c15.428 7.896 27.253 5.268 33.812-1.19 6.56-6.456 9.35-18.023 1.25-33.81l-92.75-57.72zm-151.72 34.938l-9.812 15.78c10.925 7.574 22.895 13.743 35.625 18.282.88-.994 1.8-1.956 2.75-2.906 2.23-2.23 4.574-4.26 7.03-6.095l1.595-6.875c-13.42-4.143-25.952-10.304-37.188-18.188zm152.125 1.093c-10.662 7.258-22.45 12.992-35.03 16.938l2.968 12.656c.158.155.312.312.47.47 1.337 1.337 2.583 2.732 3.78 4.155 13.46-4.418 26.1-10.66 37.625-18.438l-9.813-15.78zM150.47 413.53l-9.814 15.783c15.174 10.146 31.76 18.348 49.375 24.28-.994-6.537-.99-13.21 0-19.75-14.052-5.237-27.31-12.078-39.56-20.312zM361 414.595c-13.078 8.6-27.28 15.648-42.344 20.844.832 6.562.69 13.228-.47 19.75 18.827-5.82 36.515-14.228 52.658-24.813L361 414.595zm-143.594 1c-13.973 18.21-12.634 44.178 4.063 60.875 18.178 18.178 47.382 18.178 65.56 0 15.43-15.43 17.76-38.77 7-56.595-8.773 15.19-22.735 23.802-37.342 23.688-15.883-.125-30.883-10.434-39.282-27.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LandMine;

impl IconShape for LandMine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M223.688 25.72l21.218 166.78h30.75l21.22-166.78h-73.188zm19.468 184.093v34.25h34.25v-34.25h-34.25zm17.156 79.968c-1.442 0-2.884.04-4.312.064-1.226.02-2.44.057-3.656.094l-1.063.03c-1.3.045-2.587.093-3.874.157-1.203.06-2.403.11-3.594.188-.217.012-.438.017-.656.03-39.48 2.43-74.968 12.954-101.22 25.938-15 7.42-26.97 15.677-34.78 23.25-7.808 7.576-10.78 14.353-10.78 17.314 0 2.96 2.228 7.307 9.686 12.594 7.46 5.286 19.353 10.675 34.407 15.187 30.106 9.025 72.746 14.844 119.843 14.844 47.096 0 89.767-5.82 119.875-14.845 15.053-4.512 26.947-9.9 34.406-15.188 7.46-5.286 9.687-9.633 9.687-12.593 0-2.96-2.972-9.738-10.78-17.313-7.808-7.573-19.78-15.83-34.78-23.25-26.25-12.983-61.764-23.507-101.25-25.936-.22-.015-.437-.017-.658-.03-1.19-.078-2.39-.13-3.593-.19-1.288-.063-2.576-.11-3.876-.155-.136-.006-.27-.028-.406-.033-.23-.007-.458.007-.688 0-1.195-.035-2.388-.074-3.594-.093-1.438-.024-2.89-.063-4.344-.063zm0 18.69c26.39 0 50.255 4.41 66.688 11.03 8.216 3.31 14.52 7.202 18.313 10.813 3.79 3.61 4.906 6.395 4.906 8.78 0 2.386-1.116 5.172-4.908 8.782-1.58 1.506-3.62 3.053-6.03 4.594-4.953-15.806-38.422-28.033-79-28.033-40.555 0-73.986 12.21-78.97 28-2.396-1.533-4.426-3.064-6-4.562-3.79-3.61-4.906-6.396-4.906-8.78 0-2.387 1.115-5.172 4.906-8.783 3.792-3.61 10.097-7.502 18.313-10.812 16.433-6.62 40.297-11.03 66.688-11.03zM77.75 358.25c-22.095 13.71-34.938 30.062-34.938 47.625 0 48.377 97.367 87.594 217.47 87.594 120.1 0 217.468-39.218 217.468-87.595 0-17.54-12.807-33.864-34.844-47.563-.61 10.722-7.856 19.54-17.5 26.375-10.08 7.144-23.57 12.956-39.875 17.844-32.61 9.777-76.607 15.626-125.217 15.626s-92.607-5.85-125.22-15.625c-16.305-4.887-29.764-10.7-39.843-17.842-9.662-6.848-16.915-15.69-17.5-26.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lantern;

impl IconShape for Lantern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.25 23.375c-41.54 0-75.438 33.896-75.438 75.438 0 17.043 5.714 32.786 15.313 45.437-34.426 29.59-75.093 52.47-118.094 72.844H435.44c-44.283-20.26-85.17-43.21-118.782-71.938 10.015-12.8 16-28.89 16-46.344 0-41.54-33.865-75.437-75.406-75.437zm0 18.72c31.44 0 56.72 25.276 56.72 56.718 0 12.707-4.13 24.41-11.126 33.843-18.043-17.45-33.484-36.936-45.594-59.094-13.017 21.97-28.66 41.102-46.28 58.126-6.585-9.263-10.47-20.59-10.47-32.875 0-31.442 25.31-56.72 56.75-56.72zm-104.03 193.53v203.813h208.03V235.625H153.22zm103.5 18c.953-.008 1.92.007 2.874.03 13.893.35 27.9 4.052 40.75 11.47 41.115 23.738 55.27 76.604 31.53 117.72-23.737 41.114-76.57 55.268-117.687 31.53-41.115-23.738-55.268-76.572-31.53-117.688 15.81-27.383 44.494-42.824 74.062-43.062zm9.31 19.188v36.718h51.626c-5.71-11.41-14.736-21.335-26.656-28.217-7.946-4.588-16.426-7.372-24.97-8.5zm-18.686.156c-19.64 2.913-37.79 14.456-48.53 33.06-.67 1.157-1.285 2.325-1.876 3.5h50.406v-36.56zm-56.625 55.25c-1.64 9.37-1.235 18.9 1.03 27.936h55.594V328.22H190.72zm75.31 0v27.936h56.69c2.342-9.27 2.677-18.784 1.092-27.937h-57.78zm-66.467 46.624c5.7 9.358 13.775 17.458 23.968 23.344 7.592 4.382 15.664 7.12 23.814 8.343v-31.686h-47.78zm66.468 0v31.844c19.585-2.564 37.804-13.686 48.845-31.844H266.03zm-144.5 83.28v38.563H392.94v-38.562H121.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LanternFlame;

impl IconShape for LanternFlame {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.53 19.094c-28.53 0-51.842 23.313-51.842 51.843 0 13.565 5.28 25.95 13.875 35.22l-110.532 78.53h296.814l-110.594-78.25c8.755-9.297 14.156-21.8 14.156-35.5 0-28.53-23.344-51.843-51.875-51.843zm0 18.687c18.432 0 33.19 14.727 33.19 33.157 0 9.792-4.177 18.538-10.845 24.594l-22.72-16.06-22.25 15.81c-6.497-6.044-10.53-14.687-10.53-24.343 0-18.43 14.726-33.156 33.156-33.156zM96.44 204l3.343 11.875 65.376 232.75 1.906 6.813h178.876l1.937-6.813 65.375-232.75L416.594 204H96.437zm24.656 18.688h270.812L331.78 436.75H181.25l-60.156-214.063zm146.187 16.687c29.012 47.73-76.807 70.517-60.155 133.75 11.2 25 29.146 41.394 50.22 42.03 48.84 0 73.57-53.528 60.75-99.842-4.847 24.07-24.934 34.845-34.876 22.375-24.115-30.248 36.436-56.768-15.94-98.313zM127.25 473.72v18.686h258.594V473.72H127.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LargeWound;

impl IconShape for LargeWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.648 17.008c109.003 34.557 192.306 71.064 219.7 149.158-58.572-74.49-153.467-123.28-298.842-144.98 117.47 34.102 183.435 69.43 217.81 144.527C210.64 99.858 124.57 59.073 12.512 66.82 224.765 98.88 309.19 333.65 246.664 504.285c34.37-49.026 53.516-92.46 64.922-135.967 6.433 48.942 6.577 95.272-10.29 140.573 31.854-58.362 64.562-150.973 53.526-239.745 34.39 87.13 34.71 152.248-1.875 223.523 67.038-82.263 78.11-105.023 87.188-174.656 13.478 29.99 16.32 58.098 9.595 96.12 95.74-140.367 26.28-275.754-80.074-326.415 59.778 43.85 92.914 121.168 90.96 217.254-31.8-165.58-108.18-265.18-331.968-287.962zm-106.185 107.1c72.06 35.308 129.12 88.086 164.693 147.62-29.827-37.263-75.784-70.606-138.41-98.876 112.746 90.495 170.86 215.24 153.012 321.96 87.7-207.514 3.01-348.097-179.295-370.705zm193.834 32.91c64.25 34.715 95.31 113.943 72.336 195.584 2.308-71.497-33.978-148.48-72.336-195.584z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaserBlast;

impl IconShape for LaserBlast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.5 18.625v37.78l64.313 64.314 33.437-33.44-68.656-68.655H19.5zm55.53 0l55.44 55.438 13.218-13.25L101.5 18.624H75.03zM176.438 54.5L52.876 178.063 89.53 214.72 213.126 91.124 176.437 54.5zM19.5 82.844v23.625l39.28 39.28 11.814-11.813L19.5 82.844zm187.28 41.062l-84.905 84.906 24.344 24.375 84.905-84.937-24.344-24.344zm125.345 27.406c-6.366 0-12.706 2.423-17.563 7.282-9.713 9.717-9.713 25.47 0 35.187 9.714 9.718 25.444 9.718 35.157 0 9.713-9.717 9.712-25.47 0-35.186-4.858-4.86-11.23-7.28-17.595-7.28zm-87.844 10.25l-16.78 16.782c.252-.004.498-.03.75-.03 13.752 0 27.486 5.262 38.03 15.81 21.093 21.1 21.096 55.055 0 76.157-21.09 21.1-55 21.1-76.092 0l-.5-.53c-10.39-10.67-15.5-24.498-15.313-38.28l-16.78 16.78c2.906 12.924 9.352 25.194 19.374 35.22.235.235.48.454.718.686.136.156.267.315.406.47-8.723 9.11-8.618 23.566.344 32.53 9.082 9.086 23.823 9.086 32.906 0 2.04-2.04 3.626-4.36 4.75-6.844 22.125 7.47 43.827 4.068 73.687 12.5l29.783 29.782c-3.636 6.71-2.64 15.265 3.03 20.937 5.67 5.673 14.23 6.67 20.938 3.033L462.94 495.969h32.03V467L323.157 295.187c-5.594-15.51-7.705-28.616-9.406-40.656 6.178 2.096 13.263.677 18.188-4.25 6.91-6.912 6.91-18.118 0-25.03-6.542-6.544-16.924-6.847-23.875-1-3.867-12.71-10.74-25.536-25.188-40.406-1.645-1.692-3.408-3.25-5.22-4.688-9.666-9.018-21.237-14.86-33.374-17.594zM357.063 262.22c-3.525 0-7.028 1.34-9.718 4.03-5.38 5.382-5.38 14.118 0 19.5s14.09 5.382 19.47 0c5.38-5.382 5.378-14.118-.002-19.5-2.69-2.69-6.224-4.03-9.75-4.03zM227.595 335.31c-3.526 0-7.06 1.34-9.75 4.032-5.38 5.38-5.38 14.087 0 19.47 5.38 5.38 14.12 5.38 19.5-.002 5.38-5.382 5.38-14.087 0-19.468-2.69-2.69-6.224-4.03-9.75-4.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaserPrecision;

impl IconShape for LaserPrecision {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaserSparks;

impl IconShape for LaserSparks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M55.25 16.53l28.844 52.876 8.125 38.75-35.314-5.53-38.625-13.97v19.875l39.94 14.44 17.31 16.905-42.78 43.406 52-8.843 18.906 56.782-8.687 102.81-13.47 32.19-11.406-6.97-51.813-64.188v29.75l37.564 46.563L65.97 389.53 18 416.564l49.344 6.406-22 42.467 40.53-18.218 16.69 43.092 8.75-41.812 42.936 15.438-18.406-35.782 63.97 1.313-56-31.314L158 388.062l73.938-19.437 36.812-.156-46.03 72.75 77.25-41.5 33.124 91.874 22.812-83.813 56.22 54.19-13.22-82.564 53.375-2.562-45.936-37.906 81.406-53.594-86.813 4.562-14.187-89.5-39.844 80.25-44.594-64.844-22.062-98.468 84.625-18.72-15.938 26.095 38.188-13.032 10.188 45.75 24.78-36.407 39.438 18.44-14.405-36.532 38.594-10.47-43.564-19 20.406-33.874L422.22 51.47l-29.314-32.282-3.97 39.874-46.186-9.28 24.844 29.124-91.406 20.22-18.5-82.595H238.53l19.407 86.626-13.75 3.063-59.343 2 33-88.064-56.594 59.22L139.03 22l-11.905 65.97-23.47-21.69-27.124-49.75H55.25zM262 121.376l22.938 102.438-2.47 69.843-93.5-16.75 66.532 53.25-46.906 25.25-59.844 15.75-26.063-.25-9.187-34.156 9.813-116.125 15.5-32.875 39.343 33.438-5.062-45.25 58.625 16.812-42.94-41.656 56.126-25.938 17.094-3.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaserWarning;

impl IconShape for LaserWarning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.594 22.78c-30.506.17-59.178 22.692-80.125 62.97-.06.11-.13.2-.19.313L45.563 314.813l-.218.375C21.012 353.466 15.88 389.552 30.97 416.063c15.08 26.496 48.627 40.125 93.5 37.906h265.124c44.872 2.218 78.418-11.41 93.5-37.908 15.092-26.516 9.97-62.618-14.375-100.906l-.22-.344L336.375 85.345c-.075-.147-.175-.26-.25-.406-20.513-40.036-49.052-62.324-79.53-62.157zm-.28 18.845c13.573-.132 26.512 6.475 38.155 17.78 11.558 11.227 22.392 27.263 33.092 48.19L444.25 310.218l.22.342c12.067 18.934 20.57 36.022 24.905 51.563 4.362 15.64 4.54 30.2-1.5 42.438-6.04 12.238-17.97 20.85-33.75 25.687-15.675 4.806-35.56 6.383-60.406 5.125H139.905c-22.9 1.157-41.964-.16-57.406-4.5-15.56-4.373-27.874-12.147-34.78-23.906-6.91-11.76-7.756-26.4-3.845-42.408 3.886-15.904 12.366-33.698 25.28-53.968l115.47-201.938c.063-.12.125-.222.188-.344 10.85-20.89 21.77-36.997 33.375-48.343 11.673-11.413 24.55-18.213 38.125-18.345zm.186 18.688c-7.503.072-15.765 3.758-25.25 13.03-9.485 9.274-19.69 23.944-30.03 43.907l-.095.188-.094.156-70.718 123.687 61.625.19-31.25-18.032 9.344-16.188 51.064 29.5c1.282-1.427 2.68-2.77 4.125-4.03l-29.532-51.126 16.187-9.344 29.563 51.188c1.785-.586 3.63-1.04 5.5-1.407v-59.186h18.687v59.375c1.824.393 3.603.896 5.344 1.5l29.717-51.47 16.157 9.344-29.813 51.625c1.34 1.206 2.62 2.49 3.814 3.843l51.687-29.813 9.345 16.188-51.688 29.843c.566 1.702 1.04 3.44 1.407 5.22h59.656v18.688h-59.656c-.367 1.79-.84 3.538-1.406 5.25l51.687 29.812-9.344 16.156-51.624-29.78c-1.2 1.364-2.495 2.656-3.844 3.874l29.782 51.594-16.156 9.344L271 312.03c-1.75.608-3.54 1.105-5.375 1.5v59.283h-18.688v-59.094c-1.88-.375-3.74-.874-5.53-1.47l-29.532 51.188-16.188-9.344 29.563-51.188c-1.43-1.27-2.764-2.63-4.03-4.062l-51.19 29.562-9.343-16.156L191 294.75H99.75l-14.375 25.125-.125.22-.125.186C72.762 339.63 65.197 356.044 62.03 369c-3.164 12.957-2.05 21.92 1.814 28.5 3.865 6.58 11.153 11.875 23.718 15.406 12.567 3.532 30.025 4.95 51.876 3.813l.25-.033H373.968l.25.032c23.734 1.233 41.893-.468 54.436-4.314 12.544-3.845 19.08-9.322 22.438-16.125 3.358-6.802 3.88-16.225.28-29.124-3.597-12.898-11.31-28.78-22.874-46.875l-.094-.186-.125-.188-116.936-202.97-.094-.217-.125-.22c-10.195-20.01-20.283-34.584-29.656-43.688-9.375-9.103-17.467-12.572-24.97-12.5zm-.656 179.53c-10.807 0-20.39 6.403-25 15.376l-2.594 5.093-5.75-.032-102.438-.342-9.25 16.125H228.72l2.655 4.937c4.736 8.86 13.8 14.906 24.47 14.906 15.47 0 28.03-12.56 28.03-28.03 0-15.473-12.56-28.032-28.03-28.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Laserburn;

impl IconShape for Laserburn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.688 18.03l92.593 338.345-22.436-22.594 25.72 71.97-42.69-43.03 21 54.374-36.5-16.844 43.75 45.656c-77.97-7.228-136.785-18.17-168.155-30.5-9.618-3.78-16.582-7.697-20.407-10.97-3.826-3.27-4.07-4.86-4-5.78.07-.92 1.1-3.673 6.187-7.656 5.088-3.983 13.66-8.692 25.625-13.47 31.35-12.515 60.262-30.467 79.72-51.592 19.455-21.126 29.838-47.338 18.936-72.032-10.9-24.694-40.154-44.755-92.592-59.97-51.09-14.82-125.125-25.017-229.438-27.874v91.657c90.296-11.75 156.852 1.175 186.844 18.874 7.668 4.525 12.82 9.298 15.562 13.375 2.742 4.075 3.253 7.026 2.594 10.124-1.32 6.195-10.632 16.233-33.97 24.156-23.177 7.87-40.604 16.242-53.155 25.406-12.55 9.165-20.63 19.486-22.656 31.188-2.027 11.702 2.723 23.243 11.124 32.656 8.4 9.413 20.49 17.577 35.687 25.03 53.414 26.203 146.467 43.786 252.97 42.876 8.33 2.395 18.37 3.78 29.188 3.78 25.304.002 46.376-7.634 51.093-17.78v-8.594c-2.69-5.796-10.705-10.79-21.81-14l20.31-46.843-31.967 17.874 6.312-55.625-19.97 38.217-4.5-68.968-8.124 30.06-93.436-341.5h-19.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LaurelCrown;

impl IconShape for LaurelCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.594 73.375c-17.522 5.65-31.232 11.854-48.125 24.25-2.19 2.097-4.337 4.22-6.44 6.406.24.566.61 1.265 1.157 2.25 1.016 1.832 2.767 4.023 4.97 6.19-3.454 5.536-6.596 11.072-9.5 16.624-3.664-3.04-6.952-6.423-9.594-10.22-7.617 9.505-14.475 19.678-20.438 30.44.395 1.636 1.557 3.42 3.78 5.81 2.656 2.853 6.805 5.8 11.626 8.314-2.024 6.117-3.76 12.204-5.186 18.28-7.44-3.38-14.245-7.768-19.594-13.343-5.94 13.804-10.473 28.42-13.406 43.656 1.335 2.434 3.714 4.663 7.312 7.032 5.072 3.34 12.36 6.076 20.282 7.657-.045 6.437.25 12.822.812 19.124-11.407-1.673-22.405-5.248-31.375-11.156-.05-.034-.106-.06-.156-.094-1.31 15.59-.872 30.96 1.093 45.906 2.31 3.48 6.176 5.957 11.937 7.938 7.406 2.546 17.472 3.344 27.72 2.312 2 6.122 4.275 12.13 6.81 18-13.97 2.098-28.237 1.622-40.593-2.625-.337-.116-.665-.252-1-.375 3.978 15.49 9.66 30.37 16.844 44.406 3.553 2.804 8.35 4.216 14.72 4.656 9.3.644 21.144-1.73 32.438-6.343 3.712 5.257 7.63 10.34 11.75 15.25-14.57 6.715-30.36 10.675-45.063 9.75 9.952 14.602 21.638 27.964 34.844 39.75 4.26 1.446 9.3 1.465 15.374.28 9.6-1.873 20.855-7.404 31.03-15 .008.005.026-.005.032 0 5.154 3.978 10.476 7.75 15.906 11.25-11.976 9.91-25.625 17.696-39.53 21.22 11.654 7.88 24.148 14.67 37.343 20.186 4.937.423 10.29-.96 16.344-3.906 7.672-3.735 15.78-10.252 23.03-18.28 17.036 6.783 34.732 11.22 52.563 12.905l1.78-18.625c-14.268-1.35-28.584-4.77-42.562-9.938 6.883-11.108 11.61-23.173 12.94-33.437 1.178-9.114.083-16.157-3.782-21.438-8.08-1.58-15.89-3.94-23.375-7-.172 6.47-1.706 12.987-4.22 19.094-3.745 9.103-9.52 17.798-16.53 25.72-5.353-3.288-10.565-6.832-15.657-10.625 6.62-7.182 11.923-14.97 14.906-22.22 3.806-9.246 4.173-16.578.625-22.81-7.748-4.957-15.003-10.737-21.718-17.22-1.773 4.3-4.187 8.37-7.032 12.094-5.476 7.165-12.572 13.51-20.563 18.905-4.12-4.72-8.052-9.603-11.75-14.688 7.152-4.694 13.296-10.1 17.47-15.562 5.038-6.594 7.22-12.41 6.468-18.094-4.976-6.553-9.494-13.582-13.5-21-2.285 2.686-4.86 5.14-7.657 7.283-6.758 5.175-14.798 9.155-23.406 12.03-2.595-5.69-4.957-11.498-7-17.437 7.427-2.405 14.13-5.683 19.03-9.437 5.696-4.362 8.802-8.545 9.532-13.25-3.03-7.998-5.508-16.32-7.406-24.908-1.878 1.075-3.82 2.024-5.812 2.813-7.45 2.947-15.75 4.434-24.28 4.75-.662-6.16-1.027-12.403-1.033-18.72 6.957-.263 13.464-1.437 18.44-3.405 4.6-1.82 7.595-3.8 9.343-6.25-1.018-9.72-1.33-19.69-.813-29.813-.65.104-1.29.18-1.938.25-6.624.725-13.556.15-20.406-1.343 1.37-5.98 3.07-12.01 5.094-18.063 4.87.933 9.538 1.223 13.28.814 2.614-.286 4.532-.756 6-1.406 1.395-8.93 3.407-17.644 5.97-26.032-4.182-.736-8.284-2.092-12.25-3.875 2.834-5.457 5.926-10.928 9.344-16.405 2.414.963 4.716 1.665 6.687 1.97 1.107.17 2.023.265 2.782.28 1.946-4.64 4.022-9.17 6.282-13.563 5.898-11.802 12.415-24.25 17-37.937zm244.375 0c4.583 13.686 11.1 26.135 17 37.938 2.26 4.393 4.366 8.923 6.31 13.562.752-.016 1.66-.113 2.75-.28 1.98-.306 4.296-1 6.72-1.97 3.418 5.477 6.51 10.948 9.344 16.406-3.976 1.786-8.096 3.14-12.28 3.876 2.563 8.39 4.573 17.1 5.967 26.03 1.474.658 3.404 1.12 6.033 1.408 3.742.41 8.41.12 13.28-.813 2.026 6.063 3.692 12.104 5.063 18.095-6.837 1.487-13.762 2.036-20.375 1.313-.656-.072-1.308-.145-1.967-.25.517 10.124.236 20.092-.782 29.812 1.75 2.45 4.745 4.43 9.345 6.25 4.967 1.965 11.462 3.14 18.406 3.406-.006 6.316-.37 12.56-1.03 18.72-8.52-.32-16.808-1.808-24.25-4.75-1.994-.79-3.933-1.74-5.813-2.814-1.895 8.575-4.383 16.89-7.406 24.875.715 4.72 3.795 8.912 9.5 13.282 4.904 3.753 11.605 7.03 19.033 9.436-2.044 5.94-4.405 11.747-7 17.438-8.598-2.875-16.624-6.862-23.375-12.03-2.804-2.148-5.4-4.592-7.688-7.283-4.01 7.422-8.52 14.444-13.5 21-.76 5.682 1.43 11.502 6.47 18.095 4.168 5.457 10.313 10.87 17.467 15.563-3.697 5.085-7.63 9.966-11.75 14.687-7.99-5.396-15.086-11.74-20.562-18.906-2.838-3.715-5.234-7.778-7-12.064-6.71 6.478-13.976 12.236-21.72 17.188-3.547 6.233-3.18 13.565.626 22.812 2.985 7.25 8.288 15.037 14.908 22.22-5.095 3.795-10.333 7.334-15.688 10.624-7.003-7.922-12.754-16.617-16.5-25.72-2.513-6.106-4.047-12.623-4.22-19.092-7.497 3.064-15.313 5.418-23.405 7-3.873 5.28-4.96 12.324-3.78 21.437 1.327 10.264 6.08 22.33 12.967 33.438-13.974 5.168-28.293 8.587-42.562 9.937l1.75 18.625c17.84-1.687 35.546-6.116 52.594-12.906 7.25 8.028 15.358 14.545 23.03 18.28 6.056 2.947 11.408 4.33 16.345 3.906 13.2-5.517 25.684-12.302 37.342-20.187-13.896-3.52-27.562-11.293-39.53-21.19 5.442-3.504 10.74-7.293 15.906-11.28 10.18 7.604 21.456 13.126 31.062 15 6.056 1.182 11.09 1.185 15.344-.25 13.212-11.788 24.92-25.172 34.875-39.78-14.705.925-30.526-3.035-45.095-9.75 4.12-4.913 8.066-9.99 11.78-15.25 11.295 4.61 23.138 6.986 32.44 6.342 6.368-.44 11.166-1.852 14.717-4.656 7.183-14.036 12.867-28.917 16.844-44.406-.335.123-.663.26-1 .375-12.355 4.247-26.623 4.723-40.594 2.625 2.536-5.87 4.813-11.878 6.813-18 10.236 1.027 20.29.23 27.688-2.313 5.765-1.98 9.65-4.455 11.968-7.937 1.965-14.946 2.372-30.318 1.064-45.906-.043.028-.082.065-.125.094-8.97 5.908-19.97 9.483-31.376 11.156.563-6.302.856-12.687.812-19.125 7.92-1.582 15.21-4.317 20.28-7.657 3.593-2.366 5.946-4.604 7.283-7.032-2.934-15.234-7.47-29.852-13.408-43.655-5.347 5.57-12.133 9.96-19.562 13.344-1.427-6.078-3.162-12.165-5.188-18.282 4.805-2.513 8.942-5.464 11.594-8.313 2.212-2.376 3.402-4.15 3.813-5.78-5.97-10.774-12.814-20.955-20.44-30.47-2.642 3.796-5.93 7.18-9.592 10.22-2.905-5.553-6.047-11.09-9.5-16.626 2.208-2.166 3.953-4.36 4.968-6.19.538-.97.92-1.656 1.156-2.218-2.106-2.193-4.275-4.334-6.468-6.437-16.893-12.396-30.603-18.6-48.125-24.25zM152.81 134.313l24.094 129.718H341l22.906-124.5-57.937 63.5L261 135.845l-45 67.187-63.188-68.718zm27.563 148.406l3.563 19.217H334.03l3.533-19.218H180.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Laurels;

impl IconShape for Laurels {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.7 18.05c-21 .2-38.8 2.5-62 10.2-4.1 2-8.2 4.1-12.2 6.2.8 5.26 3.2 10.77 5.5 14.7-4.9 4.2-9.6 8.4-14.1 12.8-3.7-5.5-6.6-11.4-8.3-17.4-14.2 9.2-27.7 19.6-40.1 31.4 1.9 9.5 9.2 18.21 15.2 24.15-3.7 5.2-7.2 10.4-10.5 15.7-8.22-7.2-15.12-15.5-19.32-24.65C74.97 108.1 61.92 126 53.08 142.3c5.29 13 19.01 22.7 29.8 28.4-2 6.1-3.7 12.2-5.1 18.4-13.5-6.4-26.3-15.7-34.5-26.6-8.7 20.1-14.7 40.7-18.2 61.4 9.63 15.5 30.57 22.9 46 25.9.1 6.4.4 12.8.9 19.2-17.79-2.7-37.26-9.6-49.9-20.4-1.6 22.3-.5 44.5 3.4 66.2 15.25 13.7 41.14 15.3 58.6 13.7 2 6.1 4.1 12.2 6.5 18.1-18.61 4.5-43.29 1.1-59.3-6.2 6.6 23.7 16.4 46.4 29.2 67.4 19.33 8.6 44.52 3.6 61.72-2.5 3.7 5.3 7.6 10.5 11.6 15.5-17.8 9.5-39.9 11.5-57.52 10.1 12.3 16.3 26.62 31.2 42.72 44.4 4.9 1.1 10.5 1.1 16.7.3 11.7-1.7 25.2-7 37.9-14.7 16.7 13.5 34.9 24.7 54.1 33.1l7.5-17.2c-16-6.9-31.3-16.2-45.6-27.3 13.3-10.9 24.3-24 30.2-36.5 4.7-9.7 6.3-18.4 4.5-26.3-10.7-5.7-20.6-12.5-29.5-20.3-7.8 20.8-26.4 36.1-43.5 46-4-4.9-7.9-9.9-11.6-15 16.8-9.8 39.9-27.5 39.1-47.1-8.9-10.3-16.6-21.8-22.9-34.1-12 14-30.7 22.5-46.5 26.7-2.4-5.8-4.6-11.6-6.6-17.6 16.8-5.2 37.9-13 44.1-29.7-4.3-11.5-7.5-23.6-9.7-36-13.8 8.4-32 11.1-46.32 10.9-.6-6.2-1-12.4-1.2-18.7 15.52-.6 33.92-2.5 44.92-14.3-.8-12.6-.5-25.5.9-38.5-13.4 2.8-29 .3-40.42-3.2 1.3-6 2.9-12.1 4.8-18.1 12.82 3.2 27.12 6.7 38.82.8 2.7-13.6 6.7-27.3 12-40.8-9.9-1.8-20.2-6.3-27.7-10.7 3.3-5.3 6.8-10.5 10.5-15.7 8.1 4.2 16.3 8.8 25.2 8.4 5.7-11.6 12.3-22.65 19.5-32.75-5.1-2.7-10-6.4-14.4-10.6 4.4-4.3 9.1-8.5 13.9-12.7 3.8 3.54 8 6.18 12.3 8.2 15.9-18.6 35.9-36.23 49-53.8zm38.4 0c15.4 20.75 33.8 35.63 48.9 53.7 4.6-1.76 9.1-5.23 12.3-8.1 4.9 4.2 9.5 8.4 13.9 12.7-4.4 4.2-9.2 7.9-14.4 10.6 7.3 10.1 13.9 21.05 19.6 32.65 9-.1 18.4-4.4 25.2-8.4 3.7 5.2 7.2 10.4 10.4 15.7-8.8 5.9-18.2 9.6-27.6 10.7 5.3 13.5 9.3 27.2 12 40.8 12.3 5.4 27.3 2.7 38.7-.8 1.9 6 3.5 12.1 4.9 18.1-14.2 3.4-27.3 6.2-40.4 3.3 1.4 12.9 1.6 25.8.8 38.5 11.4 12.3 30.2 14.4 44.9 14.2-.2 6.3-.5 12.5-1.2 18.7-17.1-.5-32.8-2.5-46.3-10.9-2.1 12.4-5.3 24.5-9.6 36.1 8.2 17.4 27.8 25.3 44.1 29.6-2 6-4.2 11.8-6.6 17.6-18.5-5.6-34.9-13-46.6-26.7-6.3 12.4-13.9 23.8-22.9 34.1 1.5 22.4 22.4 37.8 39.2 47.1-3.7 5.1-7.6 10.1-11.6 15-19-11.8-36.6-25.8-43.5-46-9 7.8-18.8 14.6-29.6 20.3-1.8 7.9-.1 16.6 4.5 26.3 6 12.5 17 25.6 30.3 36.5-14.3 11.1-29.6 20.4-45.6 27.3l7.4 17.2c19.3-8.4 37.4-19.6 54.1-33.2 12.7 7.8 26.2 13.1 38 14.8 6.2.8 11.8.8 16.7-.3 16.1-13.2 30.4-28.1 42.7-44.4-18 1.7-37.9-2.3-56.5-9.7-.3-.1-.7-.3-1.1-.4 4.1-5 7.9-10.2 11.7-15.5 18.2 7.8 43.7 11.7 61.6 2.5 12.8-21 22.6-43.7 29.2-67.4-.4.2-.8.4-1.2.5-20.5 6.4-40.1 7.6-58.1 5.7 2.4-5.9 4.5-12 6.5-18 19.1 1.7 45.2.1 58.6-13.8 3.9-21.7 5.1-43.9 3.4-66.2-14.4 10.7-34.9 17.9-49.9 20.4.5-6.4.9-12.8 1-19.2 16.8-4.8 37.9-10 45.9-25.9-3.5-20.7-9.5-41.3-18.2-61.4-9.4 11.6-23.1 21-34.4 26.5-1.5-6.1-3.2-12.2-5.2-18.3 12-7.4 25.1-15.3 29.9-28.4-10.1-18.7-22.2-35.8-35.9-51.05-4.2 9.05-11.1 17.45-19.2 24.65-3.3-5.3-6.8-10.5-10.6-15.7 6.2-7.17 14.2-14.71 15.2-24.15-12.4-11.8-25.8-22.2-40-31.4-1.8 6-4.7 11.9-8.3 17.4-4.5-4.4-9.2-8.6-14.1-12.8 2.7-4.82 4.7-9.62 5.4-14.7-4-2.1-8.1-4.2-12.2-6.2-24.7-8.2-43.3-10.3-66.2-10.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LawStar;

impl IconShape for LawStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M308.53 22.844c-14.72-.147-28.23 9.623-32.217 24.5-3.06 11.418.25 23.036 7.75 31.093l-61.407 60.938-84.156-22.22c2.312-10.624-.677-22.176-8.938-30.436-12.907-12.91-33.842-12.91-46.75 0-12.907 12.906-12.907 33.84 0 46.75 8.48 8.477 20.43 11.377 31.282 8.718l22.062 83.687-61.812 62.313c-8.058-7.5-19.645-10.81-31.063-7.75-17.63 4.724-28.098 22.836-23.374 40.468 4.725 17.632 22.837 28.1 40.47 23.375 11.736-3.144 20.293-12.234 23.312-23.155l84.124 22.906 23 84.47c-10.784 3.093-19.728 11.592-22.843 23.22-4.726 17.63 5.71 35.743 23.343 40.467 17.63 4.725 35.775-5.71 40.5-23.343 3.096-11.556-.338-23.34-8.032-31.406l62.22-61.75 84.22 22.218c-2.797 10.937.063 23.033 8.624 31.594 12.907 12.907 33.842 12.907 46.75 0 12.907-12.907 12.907-33.843 0-46.75-8.342-8.342-20.04-11.284-30.75-8.844l-22.344-84.72 60.844-61.31c8.068 7.714 19.835 11.13 31.406 8.03 17.632-4.724 28.1-22.837 23.375-40.47-4.725-17.63-22.837-28.098-40.47-23.374-11.247 3.015-19.574 11.5-22.905 21.813l-83.906-22.844-22.78-83.593c10.447-3.265 19.05-11.643 22.092-23 4.725-17.63-5.743-35.744-23.375-40.468-2.754-.74-5.523-1.1-8.25-1.126zM234.814 152.78c-24.536 11.362-44.05 33.124-51.594 61.282-13.5 50.382 16.4 102.157 66.78 115.657 38.656 10.357 78.18-4.8 100.563-35.19-19.542 47.778-72.017 74.68-123.188 60.97-55.507-14.873-88.467-71.93-73.594-127.438 10.673-39.826 43.08-68.017 81.032-75.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LayeredArmor;

impl IconShape for LayeredArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.656 21.188L37.936 79.78c3.54 26.805 8.915 53.547 16.127 80.126L240.72 39.594l-19.282-12.5c-31.28-.885-62.204-2.842-91.782-5.907zm253.47.625c-40.51 3.975-83.496 5.938-126.47 5.843l204.625 132.72c7.108-25.89 12.487-51.92 16.095-78.032l-94.25-60.53zM257.937 50.75L59.468 178.656c8.025 26.32 17.865 52.456 29.532 78.313l243.25-158-74.313-48.22zm91.468 59.344l-74.562 48.437 151.28 98.782c11.714-25.803 21.592-51.91 29.688-78.187l-106.406-69.03zm-91.687 59.562L97 274.062c12.202 25.17 26.14 50.064 41.844 74.563l196.094-128.53-77.22-50.44zM352 231.22l-77.53 50.843 101.405 67.187c15.822-24.6 29.895-49.584 42.22-74.875L352 231.22zm-94.53 61.968l-108.345 71.03c13.564 20.062 28.326 39.847 44.28 59.313l132.032-85.28-67.968-45.063zm84.967 56.312L274.5 393.406l47.03 30.375c15.845-19.342 30.513-38.993 44.033-58.936L342.438 349.5zm-84.968 54.875L205.5 437.97c16.233 18.933 33.614 37.54 52.156 55.78 18.385-18.152 35.637-36.678 51.78-55.53l-52.092-33.626.125-.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeafSkeleton;

impl IconShape for LeafSkeleton {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.688 23.97c-37.59 15.43-40.433 37.366-28.032 62.5 25.773 4.386 51.188 11.535 76.156 21.343-10.142 21.927-18.285 44.526-25.28 67.468l-.97.064c.047.89.103 1.77.157 2.656-7.916 26.324-14.373 53.068-20.595 79.75L73.313 262c2.89-12.39 5.822-24.726 8.906-36.97 4.453 20.118 10.942 39.045 19.218 56.75-3.136 18.215-6.048 36.444-8.907 54.626l18.47 2.906c1.612-10.254 3.212-20.5 4.875-30.718 6.42 10.422 13.55 20.324 21.28 29.72-3.45 16.922-6.79 33.822-10.06 50.717l18.343 3.564c2.385-12.32 4.784-24.632 7.25-36.938 8.928 9.16 18.487 17.74 28.656 25.72-2.143 11.517-4.194 23.033-6.156 34.562l18.437 3.125c1.445-8.49 2.933-16.973 4.47-25.438 10.66 7.275 21.856 13.95 33.53 20.063-1.88 9.805-3.7 19.61-5.5 29.406l18.375 3.375c1.486-8.085 2.995-16.175 4.53-24.25 10.957 5.008 22.293 9.574 33.94 13.624-1.088 6.006-2.166 12.02-3.283 18l18.375 3.437c.978-5.233 1.925-10.463 2.875-15.686 10.815 3.22 21.88 6.072 33.157 8.5-.696 7.412-1.243 14.862-1.594 22.375l18.656.874c.308-6.588.787-13.157 1.375-19.688 9.484 1.65 19.08 3.05 28.814 4.156-.223 7.96-.224 15.95-.03 23.938l18.686-.438c-.176-7.31-.186-14.563 0-21.75 8.232.635 16.537 1.09 24.906 1.344 2.173 8.67 3.923 17.34 5.25 26l18.47-2.812c-1.57-10.244-3.702-20.484-6.376-30.72 5.348-11.266 10.022-22.69 13.938-34.218 5.188 5.993 9.63 12.537 13.093 19.53l16.75-8.28c-5.953-12.024-14.062-22.73-23.624-31.937 3.078-11.772 5.374-23.624 6.906-35.47 4.16 2.397 8.272 4.996 12.344 7.844l10.688-15.313c-6.972-4.874-14.058-9.078-21.188-12.78.713-13.41.407-26.78-.97-40.03 5.702 1.882 11.422 3.97 17.19 6.217l6.812-17.406c-9.05-3.527-18.038-6.593-27-9.28-2.54-13.382-6.2-26.6-11.032-39.53 4.745.416 9.502.888 14.25 1.436l2.125-18.562c-8.202-.948-16.415-1.716-24.624-2.28-1.745-3.662-3.585-7.304-5.53-10.908-3.654-6.767-7.676-13.404-12.032-19.937 10.805-.828 21.594-1.27 32.375-1.282V172.5c-15.084.016-30.15.835-45.19 2.344-7.082-8.91-14.882-17.548-23.405-25.875 13.413-1.578 26.972-2.55 40.72-2.75l-.283-18.69c-20.013.295-39.536 2.135-58.687 5.032-9.338-7.75-19.393-15.185-30.156-22.25 12.464-1.9 25.048-3.158 37.81-3.593l-.624-18.657c-21.006.717-41.422 3.476-61.406 7.624-8.818-4.88-18.055-9.504-27.688-13.937 11.513-2.03 23.036-3.72 34.563-5.094l-2.22-18.562c-21.036 2.504-42.11 6.034-63.186 10.78-12.616-4.747-25.834-9.15-39.658-13.155 7.034-1.47 14.04-2.595 21-3.314l-1.937-18.593c-18.886 1.95-37.535 6.48-56 12.468-.512-.113-1.018-.23-1.53-.343l-.22.938c-16.2 5.338-32.25 11.774-48.188 18.53-27.93-15.956-55.79-29.693-82.75-41.436zm133.875 41.75c14.853 3.45 29.035 7.32 42.53 11.56C214.07 81.89 198.03 87.278 182 93.5c-8.425-5.602-16.896-10.98-25.375-16.156 10.37-4.202 20.692-8.15 30.938-11.625zm74.062 22.624c.01.003.022-.004.03 0 11.267 4.387 21.996 9.055 32.19 14-23.21 6.29-45.89 14.11-68.314 22.437-8.172-6.34-16.437-12.444-24.75-18.343 20.28-7.33 40.55-13.317 60.845-18.093zm-142.563 26.72c7.12 3.175 14.216 6.57 21.25 10.186-14.62 40.292-24.633 81.18-32.625 122.22-6.923-20.8-11.385-43.227-13.093-67.282 6.837-22.36 14.748-44.17 24.47-65.125zm199.5.374c11.695 6.762 22.554 13.94 32.625 21.437-28.995 5.763-57.234 13.598-85.156 21.906-7.703-6.996-15.52-13.762-23.436-20.31 25.147-9.094 50.344-17.252 75.97-23.032zM156.938 134.25c9.297 5.287 18.503 10.975 27.625 17.03-17.695 54.5-30.927 108.908-42.437 163.157-8.016-11.01-15.162-22.676-21.313-35.062 8.632-49.215 19.214-97.813 36.126-145.125zm213.438 18.156c9.15 8.064 17.508 16.463 25.063 25.125-30.125 4.353-60.155 11.352-90.094 20.157-7.65-8.273-15.492-16.25-23.47-24 29.29-8.518 58.597-16.22 88.5-21.28zm-169.72 9.97c11.142 8.042 22.134 16.678 32.97 25.874-22.08 56.622-36.777 114.317-48.28 172.313C175.26 352.09 165.867 343 157.25 333.28c11.817-57.12 25.252-114.07 43.406-170.905zm208.407 32.218c6.334 8.695 11.96 17.613 16.875 26.72.18.332.353.664.532 1-5.79-.157-11.582-.236-17.376-.19-25.536.208-51.115 2.44-76.688 6.94-4.34-5.4-8.76-10.707-13.25-15.908 30.063-8.46 60.038-14.912 89.906-18.562zm-160.468 6.812c9.638 8.772 19.11 18.027 28.47 27.72-17.9 55.27-30.75 110.418-41.69 165.405-11.767-6.403-22.943-13.457-33.5-21.092 11.23-58.282 25.396-115.842 46.72-172.032zM411.47 240.78c8-.025 16.02.158 24.03.532 4.867 11.61 8.69 23.474 11.5 35.532-26.15-6.084-52.332-8.79-79.438-8.625-2.064.01-4.14.046-6.218.092-5.154-7.66-10.488-15.125-15.938-22.437 22.01-3.362 44.02-5.02 66.063-5.094zm-119.75 4c10.398 11.495 20.623 23.543 30.624 36.19-18.485 44.613-27.665 90.6-35.97 136.186-11.612-4.13-22.858-8.732-33.687-13.844 10.437-52.982 22.532-105.82 39.032-158.53zm81.592 42.157c26.524.234 51.896 3.38 77.438 10.063 1.707 12.324 2.383 24.8 2.094 37.344-20.57-8.23-41.475-12.975-62.063-17-5.547-10.423-11.383-20.543-17.467-30.406zm-37.718 11.344c7.404 9.927 14.69 20.182 21.844 30.75-8.883 33.454-16.7 67.386-21.25 102.314-10.867-2.388-21.495-5.138-31.875-8.28 7.776-42.615 16.013-84.614 31.28-124.783zm65.97 40.376c17.145 3.763 33.866 8.385 50.03 15.438-1.083 10.398-2.832 20.818-5.22 31.22-9.76-6.797-20.437-12.273-31.5-16.377-4.19-10.328-8.608-20.434-13.312-30.28zm-30.283 11.47c7.133 11.214 14.152 22.75 21 34.624-5.405 17.798-8.452 35.95-9.936 54.28-9.388-1.09-18.66-2.45-27.78-4.06 3.665-28.62 9.653-56.796 16.717-84.845zm53.033 43.687c5.906 3.208 11.56 6.874 16.812 11-2.052 6.67-4.393 13.317-6.97 19.937-3.02-10.528-6.305-20.85-9.842-30.938zm-18.72 14.812c1.664 3.074 3.325 6.167 4.97 9.28 3.348 8.024 6.316 16.05 8.906 24.064-6.206-.26-12.354-.65-18.47-1.126.89-10.92 2.386-21.668 4.594-32.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeafSwirl;

impl IconShape for LeafSwirl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M72.125 18.688c-9.46 13.14-16.043 26.715-20.344 40.406-77.626 45.738-20.02 138.16 54.44 156.5C92.84 159.11 134.66 125.15 85.937 70.47c-8.967 20.638-14.905 43.45-12.72 59.03l-18.5 2.594c-4.168-29.71 10.02-65.347 25.657-91.97l.063.032c2.062-3.534 4.335-7.046 6.843-10.53l-15.155-10.94zM347.25 47.593c-2.45.03-4.947.108-7.5.28 60.054 73.07 59.996 109.712 27.875 136.595 27.75 8.257 52.752 7.666 73.188.78-4.254-15.946-14.26-34.174-27.938-42.813l9.97-15.78c21.69 13.696 33.306 38.822 37.467 59.812l-.093.03c4.044 13.375 5.324 26.87 2.686 40.313l18.344 3.593c4.417-22.507.312-44.035-8.438-64.344 23.963-23.15 31.486-59.877 13.5-97.75-36.238 43.52-63.132-21.646-139.062-20.718zm10.063 108.437c-107.724 16.108-77.38 85.577-148.813 51.657 8.637 24.32 19.064 44.07 31.344 59.125 15.183-13.762 20.977-25.165 29.062-42.718l16.97 7.812c-8.85 19.21-17.296 35.014-37.22 52.03-.086.075-.163.147-.25.22-15.116 14.143-33.605 24.908-53.22 27.72l2.658 18.5c27.763-3.98 51.817-19.937 70.03-39.188 31.32 18.082 70.952 15.045 119.22-9.97-32.857-24.236-69.882-45.273-29.78-125.187zm-226.188 39.564c-16.46 35.83 4.11 98.707 69.344 42.656-22.37-4.4-45.016-12.364-69.345-42.656zM34.97 198.78c-25.453 49.62-7.315 149.23 69.593 81.69-26.776-12.287-52.236-29.996-69.594-81.69zm445.217 62.72c-15.204 58.85-114.852 8.227-128.343 82.594 26.05-4.657 55.36-15.45 68.75-29.188l13.375 13.063c-20.942 21.483-57.817 32.097-88.44 36.03v-.094c-12.127 2.265-24.29 3.608-36.56 3.688l.124 18.687c16.406-.105 32.412-2.222 48.094-5.624 48.993 98.302 148.144-20.957 123-119.156zm-425.156 72l-16.843 8.156c8.867 18.3 26.883 37.096 49.626 51.28.83.52 1.687.996 2.53 1.502 17.297 105.905 167.944 75.538 183.22-21.5-42.678 38.96-130.002-78.15-176.407-19.344 14.625 15.48 44.454 29.52 69.5 36.03l-4.72 18.063c-26.692-6.94-57.662-19.817-76.842-39.562-14.042-11.11-24.918-24.006-30.063-34.625zm229.72 79.938c-56.055 51.053 20.728 137.41 75.47 31.156-43.082 14.07-68.174 1.94-75.47-31.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeakySkull;

impl IconShape for LeakySkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.594 24.875c-73.387 0-122.254 46.017-120.594 98.375.417 13.16 3.075 26.14 8.313 38.03 16.764 23.135 48.402 34.675 73.843 37.064l-47.72 6.937-13.092 32.814c7.57 7.656 15.72 14.35 24.312 20.062l11.688-41.53 17.97 5.03-12.94 46.125c10.326 5.106 21.102 8.94 32.095 11.533l3.936-46.063 18.625 1.594-4.093 47.625c11.22 1.202 22.543 1.17 33.75-.158l-4.125-47.468 18.594-1.625 4 45.718c10.06-2.495 19.942-6.05 29.438-10.657L319.5 221.657l17.97-5.03 11.874 42.155c7.726-5.052 15.104-10.888 22.03-17.5l-15.968-36.436-44.72-6.5c24.866-2.334 55.656-13.404 72.69-35.5 6.22-13.203 8.7-27.83 7.874-43.53-2.973-56.486-59.27-94.44-132.656-94.44zm-74.156 82.75c17.97 24.493 35.356 31.6 63.062 34.75-34.05 58.587-110.778 10.01-63.063-34.75zm168.03 0c47.716 44.76-29.01 93.337-63.062 34.75 27.706-3.15 45.094-10.257 63.063-34.75zm-84.53 45.656l23.03 53.72c-11.685 7.06-33.11 7-44.406 1.938l21.375-55.657zm95.593 118.407c-55.816 38.673-129.347 40.137-186.5 4.375l.97 219.625h18.688v-.187c8.22-40.85 36.346-34.88 45.5.188h20.562V417.03c5.387-68.955 34.254-62.802 38.875-13.717v92.375h18.688v-74.032c4.78-29.54 24.89-62.024 33.343 5.594l9.875-155.563zm-52.874 44.875c7.31 0 14.594 7.55 14.594 18.782 0 11.23-7.283 18.78-14.594 18.78-7.31 0-14.625-7.55-14.625-18.78s7.316-18.78 14.626-18.78zm-82.094 8.657c4.173 0 9.164 3.062 13.688 10.81 4.524 7.75 7.72 19.454 7.72 32.533 0 13.078-3.196 24.813-7.72 32.562-4.524 7.75-9.515 10.813-13.688 10.813-4.172 0-9.163-3.064-13.687-10.813-4.524-7.75-7.75-19.484-7.75-32.563 0-13.078 3.226-24.78 7.75-32.53s9.515-10.813 13.688-10.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeatherBoot;

impl IconShape for LeatherBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.313 18.22c-38.374 0-65.98 2.768-85.032 8.5-19.05 5.73-29.247 13.7-35.874 25.468-12.14 21.562-10.572 61.474-8.375 120.593 19.884-8.89 47.444-11.333 78.19-10.905 35.384.493 74.694 5.72 109.31 14.375 18.682-46.793 28.3-91.058 38-135.344.553 43.798.98 87.61-9.655 131.406 26.36 9.144 45.587 23.717 56.53 39.438 11.877-31.154 20.094-58.353 23.626-81.094 4.292-27.623 1.972-48.605-6.874-64.406-8.846-15.8-24.57-27.567-50.656-35.75-26.087-8.183-62.19-12.28-109.188-12.28zM171.97 180.53c-9.123.087-17.842.61-25.94 1.47-9.856 77.77-11.774 156.56-4.468 254.563 26.544 23.08 66.735 31.19 105.47 40.906-32.55 1.308-65.25.195-98.5-9.595 8.33 17.868 23.528 25.03 44 25.03H450.5c37.102 0 22.515-40.208 3.094-66.936-22.223-30.585-65.654-34.498-101.22-58.533l.126.22c-38.968-15.458-77.94.41-116.906 31.562 20.12-29.928 48.293-56.017 80.187-56.47 3.742-.053 7.544.276 11.376.97-3.076-8.267-5.614-16.393-7.656-24.376-33.092-22.49-73.682-16.99-118 2.5 22.384-19.514 49.346-35.1 75.438-35.625 13.233-.267 26.238 3.352 38.312 12.28-5.426-35.452-1.14-68.74 9.438-102.47-4.554-2.32-9.476-4.46-14.782-6.31l-12.375-2.126-2.717 9.656c-35.354-9.928-78.42-16.166-115.875-16.688-2.34-.032-4.674-.052-6.97-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeatherVest;

impl IconShape for LeatherVest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.375 19.656c-38.78 0-73.995 3.935-100.5 12.407-13.253 4.235-24.39 9.556-32.813 16.78-8.42 7.226-14.124 17.087-14.124 28.094 0 4.472.917 8.784 2.53 12.876 3.433 52.216-35.145 118.26-77.28 151.406 9.894 50.565 32.645 102.465 66.53 149.81 39.964 32.405 91.668 49.857 144.282 52.314v-33.75c-16.175-.15-31.88-.668-44.5-1.594l1.375-18.625c11.96.878 27.288 1.356 43.125 1.5V350.97c-15.294.57-29.984 2.542-41.063 5.936l-5.5-17.875c13.523-4.142 29.83-6.512 46.563-7.155v-33.5c-4.892.263-9.767.762-14.594 1.438-28.855 1.45-53.472 5.125-75.906 10.593l-.22-.28c28.03-20.89 64.05-31.314 100.064-31.313 36.015 0 72.034 10.425 100.062 31.312l-.125.188c-22.516-5.463-47.247-9.113-76.25-10.532-4.746-.656-9.533-1.148-14.342-1.405v33.5c16.734.643 33.04 3.013 46.562 7.156l-5.47 17.876c-11.084-3.396-25.787-5.366-41.092-5.937v39.905c15.843-.144 31.16-.622 43.125-1.5L312.188 408c-12.627.927-28.317 1.445-44.5 1.594v34c54.5-1.12 108.566-18.29 150.187-51.47 35.375-47.383 58.567-98.53 68.5-148.405-43.943-32.66-85.096-102.138-80.344-156 1.132-3.463 1.75-7.065 1.75-10.782 0-11.008-5.67-20.87-14.092-28.094-8.422-7.225-19.59-12.546-32.844-16.782-26.506-8.47-61.687-12.406-100.47-12.406zm0 18.688c37.48 0 71.312 4.03 94.78 11.53 11.736 3.752 20.793 8.394 26.345 13.157 5.552 4.765 7.594 8.92 7.594 13.907 0 2.495-.582 5.05-1.875 7.688-36.805-16.793-82.838-25.218-128.876-25.22-44.633 0-89.28 7.903-125.5 23.69-.83-2.1-1.22-4.145-1.22-6.157 0-4.99 2.042-9.143 7.595-13.907 5.55-4.762 14.608-9.404 26.343-13.155 23.47-7.5 57.334-11.53 94.812-11.53zm-2.03 40.468c41.273 0 82.56 6.716 115.186 20.188-5.193 3.626-11.645 7.13-19.155 10.28-23.424 9.827-56.93 16.22-94 16.22s-70.607-6.393-94.03-16.22c-8.22-3.446-15.152-7.322-20.564-11.31C177.984 85.2 218.167 78.81 258.345 78.812zm-35.908 63.25c6.253.724 12.667 1.266 19.22 1.625.814 5.004 1.705 10.514 2.624 16.688 2.72 18.253 5.47 39.27 5.47 52.875 0 15.196-5.87 28.974-16.03 39.594-10.163 10.62-24.316 18.284-41.25 23.28-18.763 5.537-41.102 7.852-66.032 6.72-23.82-3.486-42.194-13.06-59.97-27.656 48.897 11.737 91.53 11.613 120.72 3 14.638-4.32 25.797-10.72 33.03-18.282 7.235-7.56 10.845-16.048 10.845-26.656 0-10.86-2.608-32.175-5.282-50.125-1.202-8.075-2.384-15.295-3.343-21.063zm71.688.47c-.946 5.705-2.108 12.72-3.28 20.593-2.675 17.95-5.283 39.265-5.283 50.125 0 10.608 3.61 19.096 10.844 26.656 7.234 7.56 18.393 13.962 33.03 18.28 29.11 8.59 71.588 8.735 120.314-2.905-17.762 14.562-36.125 24.13-59.938 27.595-24.778 1.092-46.988-1.242-65.656-6.75-16.935-4.997-31.088-12.66-41.25-23.28-10.162-10.62-16.03-24.4-16.03-39.595 0-13.606 2.78-34.622 5.5-52.875.905-6.08 1.788-11.517 2.593-16.47 6.518-.276 12.915-.738 19.155-1.374zm121.25 274.655c-88.88 60.702-217.204 60.827-306.25.375l-2.375 39.188c6.073 8.603 23.877 18.598 49.406 25.094 27.31 6.95 62.423 10.798 98.313 11.125 35.888.326 72.623-2.834 103.374-9.47 28.162-6.078 51.078-15.495 63.47-26.03l-5.94-40.283z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LeechingWorm;

impl IconShape for LeechingWorm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.594 16.5c-2.147-.007-4.297-.006-6.438.03-15.81.278-31.407 1.78-46.53 4.47-40.333 7.173-77.33 22.934-104.876 47.656-27.545 24.723-45.385 58.75-46.53 100.25-1.453 52.56 27.335 87.403 51.06 117.344 11.864 14.97 22.504 28.927 28.532 43.188 6.03 14.26 7.908 28.588 2.313 46.937-10.285 33.726-36.38 49.367-64.844 52.97-26.328 3.33-53.875-5.06-68.78-19.47v83.875h240.875c91.64-44.99 89.13-179.822 10.156-252.47-25.676-10.105-55.58-12.25-85.686-12.25 48.363-22.474 115.757-16.348 142.97 21.5 5.27 9.6 12.273 17.978 20.998 24.626 19.64 14.966 44.538 17.114 67.282 8.813 22.743-8.302 43.76-26.614 58.656-52.564 29.79-51.9 25.625-117.1-13.656-147.03-.288-.22-.585-.412-.875-.626l.155-.188c-3.3-3.033-6.712-5.958-10.188-8.78-60.71-38.006-120.518 24.125-130.562 87.343-20.896-53.192 26.93-110.032 73.72-121.53-36.918-16.038-77.8-23.96-117.75-24.095zM417 89.344c8.427 23.52 7.12 45.02-.75 65.187 20.403-13.75 32.3-29.77 41.47-46.53 6.046 7.484 10.53 16.85 13.25 27.375-10.75 15.446-23.42 29.015-43.25 35.375 15.52 3.282 31.007 5.977 45.842.97-.972 10.445-3.355 21.135-7.25 31.624-15.414 1.304-30.94-2.482-46.53-8.72 6.592 16.14 17.788 27.9 31.5 37.25-9.654 13.64-21.19 23.85-33.094 30.25l-18.22-52.655c-2.674 19.456-11.002 39.586-20.906 59.874-7.05-1.372-13.75-4.35-19.937-9.063-4.595-3.5-8.605-7.846-12-12.874 13.926-14.232 25.73-30.607 33.094-51.625l-45.345 17.845c-1.42-10.01-1.43-20.735.125-31.656l44.094-11.25-35.75-19.064c2.007-4.827 4.328-9.594 7-14.25 3.587-6.25 7.566-11.914 11.812-17L392.78 148.5c1.72-18.385.54-35.324-4.217-50.5 3.528-1.974 7.1-3.608 10.656-4.906 6.022-2.2 11.98-3.458 17.78-3.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LetterBomb;

impl IconShape for LetterBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M287.72 18.813l-65.314 84.25-56.094-59.907-22.437 71.25-68.156-22.25 36.343 77.125-82.688 30.282 74.75 54.907-84.78 85.968 95.436 9.906-39.03 90.312 108.063-35.094 4.156 90.594 68.53-70.406 48.72 58.156 26.967-61.937 84.22 54.124-17.97-89.125 71.938 20.81-36.906-79.5 61.5-9.467-44.75-50.094 41.905-42.658L441.97 213.5 477 131.437l-96.53 27.438 23.655-91.78-95.594 62.468-20.81-110.75zm-119.94 146.5c105.715 3.01 184.245 43.667 252 101.843l-179.842 13.72-72.157-115.563zm-15.593 10.312l44.907 71.875-75.28 36 30.374-107.875zm54.875 87.844l20.032 32.092 3 4.813 5.625-.438 48.593-3.718 31.375 80.624c-47.482-31.943-113.61-65.86-190.313-74.344l81.688-39.03zm212.125 22.436l-82.093 94.5-33.344-85.656 115.438-8.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lever;

impl IconShape for Lever {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.344 31.188c-35.92.543-70.472 6.628-102.97 18l5.72 17.468c30.61-10.843 63.185-16.653 97.187-17.156l.064-18.313zm18.687.187l-.06 18.375c46.9 1.963 96.236 13.842 146.56 36.47l9.376-16.25C356.84 45.9 304.253 33.282 254.03 31.374zm-139.093 24.5c-20.133 8.42-39.376 18.953-57.562 31.5l8.813 16.53c17.207-12.117 35.41-22.284 54.468-30.436l-5.72-17.595zm312.97 20.25l-61.5 106.53 55.124 31.814 61.5-106.532-55.124-31.813zm-174.063 6.313l-.03 18.406c39.736 1.29 80.36 11.3 120.342 31.062l9.375-16.22c-42.846-21.33-86.708-32.012-129.686-33.25zm-18.688.062c-29.644 1.034-58.722 6.555-86.625 16.156l5.72 17.53c26.066-9.063 53.198-14.28 80.875-15.28l.03-18.406zM42.126 98.53c-8.205 6.396-16.177 13.24-23.876 20.5l9.97 16.345c7.376-7.136 15.013-13.842 22.874-20.125l-8.938-16.72h-.03zm88.905 6.72c-17.292 7.142-34.04 15.886-50.124 26.125l8.813 16.5c15.13-9.78 30.847-18.16 47.06-25l-5.75-17.625zm122.626 35.28l-.062 18.44c30.17 1.18 61.405 7.815 93.156 20.405l9.438-16.344c-34.7-14.046-69.15-21.353-102.532-22.5zm-18.687.032c-23.744.82-46.85 4.73-69 11.563l5.718 17.5c20.297-6.28 41.433-9.915 63.218-10.688l.063-18.375zm-169.626 1.375c-7.647 5.49-15.13 11.32-22.406 17.5l9.874 16.157c6.96-6.02 14.107-11.72 21.407-17.063l-8.876-16.593zm82.97 16.344c-14.515 5.62-28.545 12.503-42.033 20.595l8.782 16.406c12.534-7.633 25.55-14.124 39-19.436l-5.75-17.563zM90.53 189.03c-6.896 4.782-13.607 9.887-20.155 15.314l9.844 16.125c6.23-5.272 12.61-10.237 19.155-14.876L90.53 189.03zm279.19 17.126L292.28 340.25c11.3 3.162 22.027 7.753 31.94 13.563l75.31-130.47-29.81-17.187zm-114.033 147.78c-60.607.002-110.206 45.816-116.406 104.752h82.126c-2.206-4.67-3.437-9.87-3.437-15.344 0-19.872 16.315-36.156 36.186-36.156 19.872 0 36.188 16.284 36.188 36.156 0 5.475-1.23 10.674-3.438 15.344h85.188c-6.2-58.936-55.8-104.75-116.406-104.75zm-1.53 71.94c-9.773 0-17.5 7.696-17.5 17.468 0 6.678 3.626 12.39 9.03 15.344h16.938c5.404-2.955 9.03-8.666 9.03-15.344 0-9.772-7.727-17.47-17.5-17.47zm-153.47 51.5v15.687h303.344v-15.688H100.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LifeInTheBalance;

impl IconShape for LifeInTheBalance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.03 22.313L209.19 72.156H132.28l-22.5-22.5L78.626 80.78l31.156 31.157 21.064-21.093h79.78l32.5 32.5V332.75h-.218c0 56.654-22.68 110.59-46.687 128.063-26.692 7.45-47.682 19.485-58.94 33.906h243.532c-11.076-14.24-31.834-26.13-58.156-33.595-22.125-16.208-44.998-65.613-47.687-118.188V123.313l32.467-32.468h78.375l21.094 21.094L438.03 80.78l-31.124-31.124-22.53 22.5h-75.5L259.03 22.312zM138.72 141.906c-11.43.448-22.967 6.792-30.25 20.47-18.616-32.072-67.794-24.488-66.532 15.03 1.184 37.068 51.412 49.448 66.53 88.813 15.97-39.372 67.584-49.38 66.344-88.814-.707-22.547-18.265-36.198-36.093-35.5zm305.81 46.78c-12.498-.098-24.312 3.91-35.75 10.94-24.375 14.98-22.752 50.796-72.467 63.655 56.016 32.366 90.476-55.05 148.218-60.842-14.287-9.422-27.5-13.65-40-13.75zm-103.624 34.126c-30.63-.368-36.37 22.524-11.406 36.938-7.054-13.125-2.727-27.236 14.47-36.813-1.04-.06-2.076-.113-3.064-.125zM18.75 283.72c0 21.618 42.385 39.155 94.656 39.155 52.27 0 94.625-17.537 94.625-39.156H18.75zm283.438 0c0 21.618 42.385 39.155 94.656 39.155 52.27 0 94.625-17.537 94.625-39.156H302.186z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LifeSupport;

impl IconShape for LifeSupport {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M374.688 33.78c-40.753-.25-82.475 21.226-109.22 71.782l-7.906 14.938-8.468-14.656c-32.643-56.628-91.52-77.628-141.406-67.813C57.801 47.848 17.09 87.075 19.31 157.126c1.276 40.232 18.886 72.314 44.876 102.063 7.425-19.163 12.86-40.794 16.218-64.844l.03-.188.033-.22c3.27-17.58 16.133-28.45 29.405-29.31 1.896-.124 3.8-.046 5.688.25 14.87 2.323 27.108 17.422 24.718 36.593v.06l-.03.064c-5.195 37.19-15.408 71.8-30.72 102.125 3.552 3.154 7.14 6.32 10.782 9.5 2.316 2.018 4.72 4.062 7.063 6.092 10.018-2.448 20.884-6.123 32.313-10.812.433.697.875 1.395 1.343 2.094l9.626 14.375c-8.86 3.69-17.542 6.848-25.97 9.374 42.482 36.955 86.22 77.407 112.75 132.437 16.882-33.235 40.17-60.668 65.502-85.124-1.818-1.453-3.493-3.138-4.97-5.062-8.02-10.457-7.668-24.424-2.718-37s14.513-24.804 27.563-34.813c13.05-10.008 27.32-16.04 40.75-17.56 3.357-.38 6.713-.476 10-.22 9.74.76 18.796 4.505 24.812 12.156 19.22-17.21 36.378-34.68 49.406-53.625 17.402-25.3 27.682-52.99 26.595-87.843-1.426-45.725-22.027-80.43-50.906-101.312-1.27 10.676-4.632 21.77-9.626 33.156-.075-.05-.144-.105-.22-.155l-15.874-10.53c5.078-12.455 7.72-23.76 7.563-33.25-7.31-3.52-14.927-6.292-22.75-8.25-9.104-2.28-18.47-3.506-27.875-3.564zm13.656 53.126c3.786-.046 10.03 1.552 17.875 6.75l17.092 11.313c12.656 8.387 12.5 16.663 10.97 19.28-.766 1.308-1.8 2.333-5.126 2.5-3.325.167-9.003-1.103-16.344-5.97l-17.062-11.31c-7.25-4.806-11.08-9.825-12.625-13.532-1.545-3.708-1.003-5.742-.344-6.813.66-1.07 1.778-2.172 5.564-2.22zM113.313 124.47c21.762.174 42.915 11.463 54.562 31.5 16.498 28.38 8.087 64.472-18.313 83.03l6.375-38.844c3.358-11.243 2.193-23.783-4.218-34.812-7.748-13.327-21.324-21.163-35.657-22.156-1.076-.075-2.17-.098-3.25-.094-7.57.023-15.222 1.952-22.282 6-12.853 7.37-20.63 19.956-22.155 33.437l-8.22 39.97c-.745-1.114-1.472-2.232-2.155-3.406-17.49-30.085-7.028-68.875 23.22-86.22 9.45-5.42 19.773-8.12 30-8.374.702-.018 1.39-.037 2.093-.03zm275.937 3.155l13.25 8.75c.805.534 1.607 1.013 2.406 1.5-7.525 10.237-15.925 20.55-25.03 30.844l-13.845-12.564c8.468-9.582 16.27-19.135 23.22-28.53zm-55.563 32.188c.66-.03 1.438.025 2.375.156 3.75.522 9.684 3.023 16.657 9.343l2.686 2.437 12.5 11.344c11.25 10.196 9.845 18.36 7.938 20.72-.954 1.177-2.125 2.02-5.438 1.686-3.312-.335-8.724-2.43-15.25-8.344l-15.187-13.75c-6.445-5.84-9.47-11.383-10.44-15.28-.97-3.9-.125-5.822.69-6.782.61-.72 1.487-1.443 3.467-1.53zM110.78 183.188c-4.597.032-9.852 2.955-11.936 14.156-9.634 68.432-36.04 121.17-79.03 153.25l-.002 26.562C76.6 342.28 110.698 278.136 121.75 199c1.323-11.076-3.913-14.852-9.063-15.656-.62-.097-1.25-.16-1.906-.156zM326.595 196.5c.27.252.536.5.812.75l13.063 11.813c-7.305 6.834-14.808 13.584-22.5 20.187-3.396 2.914-6.833 5.797-10.283 8.656L295.47 223.78c3.48-2.862 6.933-5.76 10.342-8.686 7.095-6.09 14.036-12.303 20.782-18.594zm-64.563 27.063c.826-.033 1.88.104 3.25.468 3.66.972 9.278 4.17 15.44 11.282l13.405 15.47c9.94 11.476 7.583 19.42 5.406 21.53-1.087 1.055-2.376 1.764-5.624 1.032-3.248-.732-8.36-3.47-14.125-10.125l-13.436-15.47c-5.694-6.574-8.007-12.42-8.5-16.406-.494-3.987.577-5.833 1.5-6.688.46-.427 1.023-.825 1.937-1 .23-.043.476-.083.75-.094zm-11.624 34.218c.585.732 1.182 1.46 1.813 2.19l10.686 12.31c-13.854 9.792-27.824 18.895-41.687 27.064-.605-1.04-1.25-2.066-1.94-3.094l-8.81-13.125c13.187-7.64 26.598-16.143 39.936-25.344zM174.5 275.69c.928-.06 2.182.136 3.938.843 3.51 1.416 8.668 5.277 13.906 13.095l11.406 17.03c8.45 12.615 5.14 20.207 2.72 22.033-1.21.912-2.586 1.438-5.72.312s-7.88-4.465-12.78-11.78l-11.407-17c-4.84-7.227-6.408-13.328-6.407-17.345.002-4.017 1.26-5.703 2.28-6.438.512-.367 1.136-.688 2.064-.75zm214.47 29.843c-1.06.03-2.157.12-3.314.25-9.257 1.05-20.83 5.685-31.47 13.845-10.638 8.16-18.118 18.144-21.53 26.813-3.412 8.668-2.755 14.985.156 18.78 2.912 3.796 8.806 6.048 18.063 5 1.926-.217 3.964-.6 6.063-1.124-3.063-8.48-2.586-17.12 1.03-24 5.506-10.474 16.72-16.732 28.72-16.375 5.37.158 10.643 1.827 15.468 4.717.667-1.31 1.253-2.612 1.75-3.875 3.412-8.67 2.755-14.954-.156-18.75-2.183-2.845-6.042-4.846-11.75-5.218-.95-.062-1.972-.092-3.03-.063zm-3.783 41.876c-4.623.21-8.865 2.97-10.656 6.375-1.897 3.613-2.527 8.145 4.064 15.69 27.222 28.585 69.735 53.89 116.28 64.28v-25.5c-39.302-10.528-75.917-32.2-98.5-55.844-3.69-3.612-7.17-4.908-10.25-5-.31-.01-.628-.014-.937 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LifeTap;

impl IconShape for LifeTap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M345.688 65.844c-35.618.5-72.53 18.186-98.813 55.594 10.073 20.198 14.32 42.84 11.063 66.156L239.405 185c6.576-47.067-22.98-91.607-72.97-112.28-69.356-23.26-149.8 17.77-146.842 110.5 4.334 135.738 198.593 214.873 219.5 292.905 7.42-27.684 42.628-58.402 82.687-93.188-2.85.51-5.782.782-8.78.782-33.258 0-58.156-32.542-58.156-70.19 0-37.646 24.9-70.155 58.156-70.155 15.437 0 29.067 7.034 39.25 18.313H380.312v-19.063H353.72v-18.688h71.905v18.688H399.03v19.063h34.439v3.843c15.718-25.613 25.388-52.978 24.467-82.31-2.326-74.106-53.54-116.433-108.812-117.376-1.146-.02-2.29-.016-3.438 0zM313 262.064c-20.678-.002-39.47 21.928-39.47 51.467 0 29.54 18.792 51.5 39.47 51.5 11.58 0 22.595-6.877 30.03-18.124h-16.217c-11.09 0-20.496-4.162-26.344-10.906-5.85-6.744-8.05-15.39-7.533-23.594.518-8.202 3.65-16.23 9.407-22.562 5.756-6.332 14.48-10.75 24.47-10.75h15.467c-7.414-10.596-18.078-17.03-29.28-17.03zm51.563 18.31v62.907h50.218v-62.905h-50.217zm-37.75 17.407c-4.823 0-8.008 1.747-10.625 4.626-2.618 2.88-4.337 7.11-4.594 11.188-.257 4.077.86 7.72 3 10.187 2.138 2.467 5.4 4.44 12.22 4.44h19.06v-30.44h-19.062zm106.656.158V328.5c10.466 1.267 15.374 7.182 15.374 18.75v34.25h30.437v-34.25c0-27.41-13.77-47.27-45.81-49.313zm29.967 103.218c-5.23 43.36-24.52 37.683-24.906 65-.167 12.38 11.43 22.625 25.814 22.625 14.382 0 26.25-10.24 26.25-22.624 0-27.455-21.384-21.81-27.156-65z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lift;

impl IconShape for Lift {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.125 25.095L86.563 125.625H150v271H86.563l171.53 100.563 171.563-100.562H366.22v-271h63.467L258.125 25.096zm2.125 69.687c.684-.028 1.34-.018 2 .094 17.524 2.275 31.665 19.426 34.656 41.375h-29.47l.002 18.688h29.218c-1.692 10.3-5.91 19.407-11.687 26.375 41.13 7.74 60.86 67.412 48.75 125.75h-33.033l-7.562 101.563h-72.5l-6.688-101.563h-31.593c-10.68-56.805 3.537-119.376 48.47-126.343-5.488-6.883-9.463-15.787-11.095-25.782h29.03V136.25H219.5c3.226-23.553 19.343-41.374 38.688-41.374.677 0 1.378-.066 2.062-.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightBulb;

impl IconShape for LightBulb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247 18.656c-80.965 0-146.875 65.02-146.875 145.625 0 45.63 15.758 67 33.313 94.845 11.706 18.57 23.767 39.91 30.53 70.563h165.095c6.728-31.387 18.91-53.12 30.718-71.875 17.58-27.92 33.314-48.912 33.314-93.532 0-80.66-65.127-145.624-146.094-145.624zm-99.78 127.906L170.437 167 210 201.813l31.188-34.125 6.78-7.438 6.907 7.344 30.75 32.72 39.97-33.47 22.686-19-7.655 28.594L304.75 310.28l-18.063-4.842 28.22-105.25-24.032 20.125-6.78 5.656-6.033-6.44-29.906-31.78-30.562 33.438-6.188 6.78-6.875-6.062-23.25-20.437 27.94 104.218-18.064 4.812-35.937-134.063-8-29.875zm22.593 201.813V389.5L315 348.375H169.812zm153.593 17.063l-153.594 43.53v29.438l153.594-43.5v-29.47zm0 48.875L203.97 448.156h119.436v-33.844zm-132.562 52.53v20.533h113.282v-20.53h-113.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightThornyTriskelion;

impl IconShape for LightThornyTriskelion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.3 27.76c-41.66 1.55-71.98 12.64-87.075 33.57-14.996 20.793-19.073 42.025-14.512 60.627l-28.9 37.893 44.15-9.817c9.06 9.9 21.452 17.84 36.494 22.88l.002.003c6.794 2.277 14.524 2.72 22.747 1.652l27.195 35.223 1.9-44.196c11.947-5.58 23.89-13.31 34.718-22.432 26.5-22.323 49.584-22.368 71.337 1.05 8.008 8.618 13.16 22.295 14.002 39.376l-41.3 5.558 38.694 24.616c-2.876 13.822-8.135 28.82-16.234 44.478-7.02 9.738-17.588 11.617-29.06 14.27v-.01c-26.697 5.474-44.733 17.682-56.735 34.3l-40.295-8.962 27.004 35.408c-5.565 16.46-7.995 35.085-8.66 54.656-.776 22.924-8.376 38.922-21.374 49.168l-23.673-30.664-1.823 42.39c-3.77.893-7.728 1.58-11.877 2.054-32.66 3.72-53.188-13.49-57.886-43.522l42.24-17.642-41.546-13.07c8.317-36.64 45.123-44.226 84.47-14.94-10.21-30.046-37.793-46.61-64.24-43.11l-34.695-30.7 6.337 43.107c-16.922 13.644-28.333 37.456-27.002 68.472l.002-.002c1.07 24.91 8.987 44.425 21.97 58.442l-5.603 43.533 28.908-26.523c14.04 6.71 30.718 9.905 49.143 9.525 28.805-.594 50.39-11.277 65.258-28.512l44.166 9.822-28.107-36.85c4.906-12.356 7.854-26.206 8.905-40.978 2.993-42.106 10.98-67 49.666-81.19 22.4-4.78 31.46 11.123 44 25.118 11.763 14.17 24.682 26.702 38.36 36.576l-5.956 46.278 33.45-30.694c28.676 11.837 59.32 10.656 88.874-11.508l41.772 17.157-21.6-41.423c15.304-31.94 7.437-78.643-23.68-116.072l18.168-34.85-36.265 14.898c-25.836-30.966-33.752-64.36-31.635-98.392l36.506-1.57-32.885-25.386c3.827-19.143 10.12-38.337 17.535-57.274-36.752 33.445-53.902 87.657-45.008 138.612l-27.043 20.877 32.71 1.405c6.93 20.493 18.49 39.818 35.142 56.267 10.972 10.84 18.435 21.89 23.017 32.54l-38.93 24.767 44.52 5.993c-1.05 13.187-6.81 24.267-15.57 31.41-36.14 29.463-71.665 4.02-99.827-24.9l-.004-.004c-11.303-14.4-29.244-23.823-19.684-45.554.5-1 .98-2 1.46-2.998.315-.593.63-1.187.984-1.8.703-1.215 1.193-2.397 1.508-3.542 22.616-50.238 21.588-97.116 2.597-128.728l20.597-39.502-40.066 16.46c-18.2-15.797-38.248-19.94-58.718-15.907l-28.97-33.874.32 44.435c-6.61 3.508-13.192 7.694-19.704 12.452-23.043 16.84-39.83 25.03-52.455 19.934-28.463-11.493-35.17-30.53-29.707-49.676l41.922 9.323-27.156-35.606c13.57-16.16 33.6-29.476 52.71-34.197z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningArc;

impl IconShape for LightningArc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M192.063 20.375l-44.625 98.563-36.344-13.657 40.312 47.22 29.47-50.656 17.093 159.437 88.874-159.936 7.906 138.22 74.72-140.408 32.905 9.094-32.594-57.28-58.75 91.343L300.657 27.28 216.75 153.657l-24.688-133.28zM61.25 100.813c-22.213 0-40.03 17.785-40.03 40 0 22.214 17.817 40.03 40.03 40.03.558 0 1.104-.04 1.656-.062l19.5 72.814-27.812 7.437 4.843 18.064 27.813-7.47 6.656 24.876-27.812 7.438L70.938 322l27.812-7.438 7.156 26.782-27.78 7.437 4.81 18.033 27.814-7.438 6.906 25.813-27.78 7.437 4.843 18.063 27.78-7.438 7.188 26.75-27.813 7.47 4.844 18.06 27.81-7.467 12.25 45.78h19.345l-13.563-50.593 27.813-7.47-4.844-18.06-27.81 7.467-7.157-26.78 27.78-7.438-4.812-18.064-27.81 7.438-6.907-25.813 27.78-7.436-4.812-18.063-27.81 7.47-7.157-26.78 27.78-7.44-4.843-18.06-27.78 7.436-6.657-24.875 27.78-7.436-4.843-18.03-27.78 7.436-19.564-73.03c12.173-6.842 20.344-19.858 20.344-34.907 0-22.215-17.787-40-40-40zm391.188 0c-22.213 0-40.032 17.785-40.032 40 0 15.052 8.19 28.066 20.375 34.906l-19.56 73.03-27.814-7.438-4.844 18.032 27.813 7.47-6.656 24.842-27.814-7.437-4.844 18.06 27.813 7.44-7.156 26.78-27.814-7.47-4.844 18.064 27.813 7.437-6.906 25.814-27.814-7.438-4.844 18.063 27.813 7.436-7.156 26.78-27.845-7.467-4.813 18.06 27.813 7.47-13.563 50.594h19.313l12.25-45.78 27.813 7.467 4.843-18.06-27.81-7.47 7.186-26.75 27.813 7.438 4.842-18.063L396 385.187l6.906-25.812 27.813 7.438 4.842-18.032-27.812-7.467 7.156-26.75L442.72 322l4.842-18.063-27.812-7.437 6.656-24.875 27.813 7.47 4.842-18.064-27.812-7.436 19.5-72.813c.562.024 1.12.064 1.688.064 22.212 0 40-17.817 40-40.03 0-22.216-17.788-40-40-40z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningBow;

impl IconShape for LightningBow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.97 17.375l47.436 75 8.47 13.688.03-.25L220.22 334l3.405-78.28 105.313 151.374 2.437-68.906 14.5 14.062 1.156 1.125 144.94 142.25-156.564-303.78-2.156 69.436-123.813-123.905-2.093 46.375L19.97 17.375zm446.5 1.53c-.523.005-1.063.03-1.595.064-6.066.372-12.796 2.708-19.906 7.75 6.678 2.253 13.083 5.75 18.842 9.936 10.075 7.32 18.823 17.062 23.594 28.282 10.19-16.118 6.488-29.96-1.75-38.157-4.738-4.713-11.36-7.923-19.187-7.874zM404.343 42.72L93.5 57.843l20.063 17.718L392.188 62c3.458-6.438 7.497-12.875 12.156-19.28zm23.78.093c-4.272 4.88-8.057 9.782-11.437 14.687 10.62 1.142 21.087 5.93 30 12.406 7.493 5.444 14.226 12.253 19.157 20 2.04-2.538 4.277-5.13 6.72-7.78-.48-9.738-8.59-22.29-19.72-30.376-8.186-5.947-17.27-9.09-24.72-8.938zm-16.28 33.25c-.486-.007-.965.01-1.438.03-1.798.08-3.505.395-5.062.876-16.464 34.053-16.13 67.398-17.25 95.03-.802 19.795-2.35 38.88-11.313 60.5l32 62.063c28.516-44.8 34.895-84.874 36.158-116 .877-21.643-.462-37.142 2.937-53.063 1.24-5.805 3.186-11.478 6.03-17.25-2.88-8.178-9.632-17.003-18.186-23.22-7.877-5.72-16.587-8.872-23.876-8.968zm-355 34.78L37.25 408.782c6.493-5.112 13.034-9.608 19.594-13.592L73.78 138.125l-16.936-27.28zm210.28 239.72c-31.528 18.55-59.427 23.91-88.437 28.28-28.43 4.283-59.555 7.39-90.875 21.094 7.244 4.844 13.495 11.588 18.407 19 6.118 9.236 10.55 19.92 11.843 30.75 3.73-1.565 7.482-2.922 11.28-4.093 18.75-5.782 38.11-7.495 62.22-11.125 31.644-4.766 68.924-12.73 109.375-36.314l-33.813-47.594zM66.25 411.219c-4.684 2.874-9.374 6.05-14.03 9.56 10.655 4.543 19.69 13.353 26.31 23.345 4.65 7.016 8.307 14.86 10.376 22.97 3.522-2.782 7.013-5.28 10.5-7.533.803-9.013-2.417-20.723-8.75-30.28-6.76-10.204-16.203-17.014-24.406-18.063zm-30.906 23.905c-1.157 1.104-2.316 2.222-3.47 3.375-18.448 18.448-14.666 35.774-4.186 46.156 10.098 10.005 26.772 13.74 44.218-2.25.107-8.647-3.138-19.216-8.937-27.97-7.648-11.54-18.73-18.76-27.564-18.186l-.062-1.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningBranches;

impl IconShape for LightningBranches {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M42.656 14.72C98.922 34.014 131.682 87.8 93.53 124.97c97.99 81.427 90.47 108.772 11.564 218.06C144.77 371 181.147 443.36 175.438 490.94H230.5c-32.26-22.573-43.393-49.275-48.563-74.72 29.67-3.367 57.124-.784 80.282 9.126 3.604 25.136 3.95 49.578 1.28 65.594h18.97c2.28-15.12 2.576-33.896.717-53.688 16.71 12.26 29.993 29.893 38.657 53.688h34.062c-30.534-30.354-48.743-63.438-64.562-97.063-5.033 1.243-9.97 2.304-14.813 3.22-3.77-15.606-8.914-30.76-15.56-44.19 14.544-19.12 21.514-36.89 20.874-54.53-.274-7.538-1.884-14.82-4.53-22.03 22.188-6.712 41.265-11.494 60.998-13.564 4.242 21.135 9.946 42.103 17.625 62.783l2.063 5.562 5.906.5c22.146 1.85 41.883 4.926 60.875 9.625 3.94 39.93-6.698 78.297-30.092 118.938 14.673 9.527 26.153 19.857 35.375 30.75h24.406c-40.497-24.248-32.673-75.68-8.22-102.375 21.968 11.687 36.194 23.99 47.844 41.5v-36.125c-26.635-3.933-42.61-21.916-51.22-47.657 16.828 5.22 33.48 11.873 51.157 20.283v-20.625c-19.077-8.64-37.455-15.373-56.31-20.532-4.706-27.01-3.845-59.278.03-91.875-28.84 7.984-57.094 11.11-83.906 10.157-4.173-24.797-6.5-49.993-7.75-75.5l-.656-13.156-12.22 4.97c-54.128 22.015-119.117 16.334-156.156-10.03C153.216 110.84 147.39 63.24 168 14.72H42.656zm285.531 167.03c1.283 20.255 3.302 40.46 6.47 60.53-52.267-5.78-97.91-27.234-130.063-58.186 37.293 11.99 82.246 11.504 123.594-2.344zm-121.53 50.094c13.693 7.486 27.002 14.627 38.374 24.47 11.47 16.32 17.658 29.84 18.126 42.748.49 13.534-4.895 27.892-20.437 46.875l-3.97 4.875 3 5.532c6.7 12.27 11.89 27.51 15.688 43.594-98.4 10.34-144.816-53.688-50.782-168.094zm152.78 29.812c12.68-.05 26.115 1.008 41.157 3.375 10.154 19.476 17.11 38.17 21.062 56.408-15.91-3.556-32.366-6.114-50.062-7.813-6.03-17.068-10.72-34.386-14.375-51.938.738-.01 1.474-.028 2.217-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningDissipation;

impl IconShape for LightningDissipation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M36.482 18.307l68.088 108.87-66.244 57.555 98.518 117.485-15.184 61.19 31.707 47.357c-7.105 4.968-13.8 10.476-20.04 16.463L68.268 346.8l30.278-15.138-80.19-122.713v78.92l25.94 34.96-17.662 31.54 33.834 33.485-24.6 37.483 60.45 54.406c-1.99 4.436-3.804 8.97-5.415 13.604h317.196c-1.926-5.546-4.137-10.952-6.604-16.213l64.03-65.492-51.272-58.762 2.412-9.872 17.65-35.838 38.887 29.164 20.445-24.053v-94.176l-37.71 64.083-35.904-31.76-35.458 145.218-38.77 15.212c-9.884-6.924-20.553-12.805-31.857-17.488l74.93-104.864-23.672-39.678 48.473-72.346-93.783 7.504 45.834-79.63 33.914 31.183 69.215-117.233h-21.7l-51.866 87.843-34.108-31.36-63.893 111.005-25.52 2.043 95.906-169.53h-134.18l-53.642 245.225 85.873-22.902-28.32 49.206-53.696 15.998 7.63 85.092c-7.638 2.81-15.008 6.158-22.07 10l-27.48-41.043 15.48-62.39-6.643-7.925-59.22-102.59 85.745-45.503-47.238-123.168H36.482zm283.875 207.755l-86 155.25c-8.45.748-16.718 2.11-24.752 4.057l-5.916-65.99 46.195-13.763 41.314-71.78 29.157-7.774zm33.332 39.946l12.873 21.576-71.024 99.395c-6.507-1.84-13.18-3.295-19.99-4.347l78.14-116.625zm55.14 109.084l31.264 35.83-47.92 49.014c-8.19-13.21-18.144-25.19-29.55-35.602l37.804-14.834 8.402-34.408zM74.018 401.268l43.662 43.212c-4.532 5.75-8.697 11.805-12.46 18.13l-44.927-40.43 13.725-20.912z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningElectron;

impl IconShape for LightningElectron {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M85.29 43.576C48.624 43.576 19.1 73.1 19.1 109.764c0 32.52 23.233 59.404 54.07 65.068l22.183 55.457-4.574 77.75 25.43-67.034 55.226-9.64-9.563 33.42-40.523 43.005 13.673 21.073-34.566 63.21 42.22 40.665-13.253-46.91 18.79-36.637 35.946 55.394-33.98-97.47 23.494-21.698 31.353 23.313c3.106-17.068 9.03-33.16 17.264-47.785l-23.878-5.95 7.818-29.7 52.002-9.076 16.733 14.202 28.564 25.223-12.37 14.01-31.537-27.846c-23.768 24.428-38.396 57.798-38.396 94.65 0 75.047 60.638 135.683 135.685 135.683 75.048 0 135.684-60.636 135.684-135.684 0-62.56-42.135-115.1-99.627-130.856l9.268 24.535 56.23 38.493-59.55 84.092-15.252-10.8 48.578-68.597-45.412-31.088-15.373-40.695c-.076-.008-.15-.018-.226-.025l-.55-2.03-5.584-14.78 43.95-11.47 24.723 30.344-5.058-55.688-67.59 16.438-5.533-20.354-106.79 4.165 3.104-14.223 37.72-40.457 47.858 3.623-49.888-30.36-50.307 48.028-67.222-1.027c-.297 6.424-1.317 12.665-2.974 18.645l65.802 1.004-7.5 34.38 116.063-4.526 10.23 37.64c-.008 0-.018.003-.028.003l16.553 48.63 40.404 28.473-36.286 50.028-15.13-10.973 25.163-34.69-29.887-21.066-19.857-58.34c-15.34 2.762-29.77 8.1-42.844 15.542l-26.13-22.18-52.185 9.108 6.605-25.094-39.216-8.52-47.223-14.714.024-.02-38.445-12.154 5.632-17.82 44.736 14.14c5.04-9.348 7.897-20.06 7.897-31.464 0-36.665-29.52-66.188-66.186-66.188zm26.454 126.887l26.526 8.264 44.187 14.123-5.31 18.548-64.704 11.293-18.906-47.266c6.403-.79 12.515-2.486 18.207-4.96z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningFrequency;

impl IconShape for LightningFrequency {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningHelix;

impl IconShape for LightningHelix {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.72 19.34v39.72L151.6 132.9l94.9-45.12L151 19.34H20.72zm196.98.1L313 76.78C226.5 118 135.1 161.4 57.53 198.3l161.57 86.1 59.6-39.2-39.4-34.9c82.3-40.6 168.3-83.5 241.8-119.93l-93.6-70.93H217.7zM361.9 170.5l-76.5 37.9 44.9 25.3c-54.2 35.6-111.8 73.6-160.6 105.7l325.2 154.8L307.5 347c57.6-32.3 117.5-65.9 168.8-94.6l-114.4-81.9zm13.2 160.1l-33.9 18.9 139.3 74.3c-35.1-31.1-70.3-62.2-105.4-93.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningMask;

impl IconShape for LightningMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M296.143 24.635l27.94 159.8-49.653-16.142 25.6 107.592-126.403-159.588 70.084 17.467-52.423-84.344c-13.778 10.68-26.45 24.165-37.666 40.045-30.15 42.69-49.177 102.418-49.177 168.57 0 66.152 19.028 125.877 49.178 168.57 30.152 42.69 70.825 68.102 115.228 68.102 44.403 0 85.074-25.412 115.224-68.103 30.15-42.692 49.178-102.417 49.178-168.57 0-66.15-19.027-125.878-49.178-168.57-23.847-33.765-54.278-56.706-87.93-64.83zM173.3 272.37c25.405.304 52.936 13.05 63.348 36.84-18.842 24.168-94.967 22.145-104.984-21.202 8.96-10.222 23.545-15.32 39.184-15.63.814-.015 1.63-.02 2.45-.01zm191.23 0c.82-.01 1.636-.007 2.45.01 15.64.308 30.223 5.406 39.184 15.628-10.017 43.347-86.142 45.37-104.984 21.203 10.412-23.79 37.943-36.536 63.35-36.84zm-98.41 92.653c1.604.016 3.213.052 4.82.106 41.875 1.414 111.476 12.976 89.94 64.24-11.586-20.46-47.418-35.624-89.94-35.624-42.52 0-77.675 15.24-89.352 35.625-12.623-46.682 34.766-64.838 84.53-64.347z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningSaber;

impl IconShape for LightningSaber {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M53.588 9.594l-45.426.59v34.808l61.945 65.485L152.7 82.16l18.878 33.037 23.248 3.875-20.558 47.28-4.46 6.214 18.03 21.952-44.455 77.384 29.174 31.877c4.798-4.18 9.5-8.29 14.074-12.305l-20.235-22.112 34.125-59.406 32.732 39.848c4.746-4.332 9.35-8.565 13.775-12.674l-53.664-65.33 34.428-47.952 70.312-4.5 11.69 55.26c4.892-5.432 9.38-10.62 13.41-15.546.65-.795 1.274-1.575 1.903-2.357l-10.9-51.53-.068.013-.97-7.688-123.89-1.77-11.798-59.585-89.673 34.808L53.59 9.598l-.002-.004zm433.5 21.717c-20.47 15.934-40.295 27.685-60.545 35.95 3.96 47.51-25.01 99.124-70.658 150.81-46.21 52.324-110.372 104.935-179.426 152.067L165.923 354.7c68.15-46.514 131.32-98.462 175.953-149 42.22-47.81 67.048-94.156 66.297-131.932-9.832 2.976-19.833 5.214-30.12 6.773-.49 27.362-11.265 54.746-40.388 90.353-32.157 39.316-86.64 90.12-176.682 167.738l-7.617 6.565-34.094-45.963-19.234 16.348c19.28 15.33 29.75 29.138 46.84 47.766l6.452 7.03-7.164 6.304c-24.68 21.712-50.044 41.688-76.758 60.162-5.077-3.61-11.26-5.746-17.908-5.746-17.062 0-31.094 14.032-31.094 31.093 0 17.06 14.032 31.093 31.094 31.093s31.094-14.032 31.094-31.094c0-2.58-.326-5.09-.93-7.493 26.655-20.534 54.276-39.37 82.285-58.246l7.198-4.848 5.368 6.818c16.493 20.95 32.353 43.3 48.01 66.34l20.156-17.422-45.942-52.59 8.565-5.96c131.204-91.3 210.172-166.176 250.75-226.72 36.76-54.847 42.27-96.536 29.033-130.757zm-43.92 180.997c-8.493 9.98-17.84 20.227-28.086 30.757l-57.637 94.442 59.53 92.6-54.91 65.912 14.36 11.962 63.684-76.447-60.614-94.285 25.96-42.535 32.49 2.754-9.878 70.8 70.487 13.335 3.474-18.364-52.993-10.025 10.145-72.703-42.842-3.63 26.13-42.817 32.08 20.58 38.048-10.06-4.778-18.07-30.1 7.96-25.51-16.366.024-.043-.154-.04-8.912-5.717zm-171.63 153.216c-5.31 3.943-10.75 7.927-16.26 11.934L312 412.385l-1.447 88.363 18.685.307 1.62-99.004-59.323-36.527zm-99.09 58.33l-21.65 37.592 26.21 46.526 16.28-9.173-20.983-37.25 12.285-21.33c-4.025-5.53-8.07-10.986-12.143-16.363zM51.5 449.79c6.96 0 12.4 5.44 12.4 12.4s-5.44 12.402-12.4 12.402S39.1 469.15 39.1 462.19c0-6.96 5.44-12.4 12.402-12.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningShadow;

impl IconShape for LightningShadow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M54.03 18.307l78.24 70.582-59.465 63.23 47.46 32.337c-12.38 20.72-11.76 47.146 1.848 67.297-41.062 42.994-76.7 92.232-103.752 147.098v94.705h210.83l54.38-56.323-137.246-56.648 32.123-88.188-4.672 71.834 30.37 12.85 47.302-136.66-21.504-3.96c-3.048 7.756-7.685 15.022-13.935 21.272v.002c-21.728 21.727-55.685 24.084-80.098 7.12 4.4-4.59 8.858-9.117 13.383-13.563 16.895 10.054 38.918 7.807 53.5-6.773 3.475-3.476 6.236-7.38 8.312-11.532l-35.115-6.468c6.365-5.588 12.814-11.057 19.356-16.372l20.384 2.813c-.046-4.63-.845-9.25-2.357-13.685l19.854 2.588c.835 4.507 1.187 9.085 1.035 13.655l47.713 6.58-29.21 88.61 42.555-.16 114.817-3.378 22.093 87.492 61.4 14.402V256.568l-138.655-.603 71.486-67.25-14.372 42.08 81.54-22.33V54.56c-89.873 12.397-189.27 52.305-277.49 115.64-11.892-10.783-26.992-16.177-42.093-16.177-14.996 0-29.99 5.32-41.844 15.954l-30.798-20.987 57.553-61.197L81.93 18.307h-27.9zm120.015 154.29c9.39 0 18.772 3.02 26.64 9.038-8.005 6.092-15.902 12.386-23.68 18.87l-28.694-19.552c7.678-5.568 16.705-8.357 25.735-8.357zm-38.32 22.393l26.593 18.12c-9.11 8.048-18.04 16.353-26.744 24.943-7.49-13.372-7.44-29.73.15-43.063zm249.87 142.254l-94.335 22.953-5.52 2.442-45.588-13.68-10.433 31.65 102.098 41.197-10.045 71.75h18.87l5.736-40.965 66.087 40.965h35.472l-98.73-61.196 3.14-22.42-.063-.026 8.037-35.107 46.153 42.402-20.88-79.966zm8.88 99.127l93.53 57.187h5.624v-44.354l-99.155-12.832z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningShield;

impl IconShape for LightningShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M464.188 21.844l-10.97 1.937C322.7 46.84 193.83 49.9 62.376 25.188c-17.847-.33-4.407-.276-19.063-.28l.376 8.062c0 20.07.373 39.718 1.187 58.81l.313 7.5 7.406 1.282c23.815 4.14 41.906 24.693 41.906 49.782 0 21.526-12.815 39.36-31.5 46.812L55.875 200l1.406 7.53C79.423 327.95 134.21 423.74 249.25 490.157l4.688 2.72 4.656-2.72C371.38 425.04 426.936 328.466 450 207l1.406-7.406-6.937-2.938c-18.255-7.72-31.095-25.293-31.095-46.312 0-25.048 18.128-45.617 41.906-49.78l7.376-1.283.344-7.468c.888-19.207 1.188-38.74 1.188-58.843V21.843zm-18.782 22.062c-.08 13.617-.337 26.97-.844 40.063-28.778 8.433-49.875 34.948-49.875 66.374 0 25.886 14.477 48.117 35.532 59.937C407.48 323.113 356.802 410 253.905 471.126 148.812 408.765 98.946 322.767 77.062 211.03c21.635-11.7 36.126-34.465 36.126-60.686 0-31.43-21.077-57.958-49.876-66.375-.476-13-.747-26.278-.843-39.782C138.186 58.14 213.08 62.986 287.812 60.28L196.03 182.25h51.69l-91.876 159.97 93.72-96.064h39.436l-95.53 147.156 183.093-184.625h-90.47l60.25-61.75H290l75.938-92.187c26.47-2.762 52.955-6.384 79.468-10.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningShout;

impl IconShape for LightningShout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.094 20.313l1.718 345.656c15.676 8.518 35.93 6.658 49.75-1.626 7.5-4.496 12.794-10.568 14.97-17.03 2.175-6.465 1.855-13.604-3.626-22.69-58.988-97.785-45.843-189.42 5.688-240.843 51.53-51.42 140.25-61.102 224.687-1.655 13.64 9.602 20.336 9.61 24.564 7.656 4.227-1.952 8.902-8.514 12.594-18.686 3.69-10.172 6.408-22.99 9.312-34.813 1.32-5.375 2.57-10.487 4.156-15.28l-343.812-.688zm172.625 39.25c-5.728.072-11.355.485-16.845 1.218L276 135.657l18.97-42.687c-35.907-23.667-71.29-33.814-103.25-33.407zm-84.064 31.093c-2.36 2.033-4.667 4.14-6.875 6.344-12.168 12.143-22.05 26.945-28.874 43.906l144.25 76.125L208 298.626l-29.625 88.906-2.03 6.064 4.905 4.062 53.625 44.656-23.28 52.125h20.5l17.686-39.687 47.657 39.688h29.188l-128.5-107.063 24.094-72.28L319.124 347l39.188 147.438h135.75v-74.782l-117-114.28 70.906-25.25 46.092 29.624v-22.22l-39.875-25.592-3.875-2.5L446 261l-86.563 30.844-109.093-35.625-.313-46.47 111.407-4.47 4.75-.186 2.657-3.97 30.28-45.468 94.938-8.25v-18.78l-101 8.81-4.5.376-2.468 3.75-30.156 45.22-111.125 4.468-126.72-68.438-10.437-32.156zm-46 97.22c-1.952 34.125 6.586 73.24 29.313 115l33.468-21.688-62.782-93.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningSlashes;

impl IconShape for LightningSlashes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M140.2 23.414c15.085 32.345 32.656 63.74 52.378 93.875l5.117 6.558-.023-34.914 71.494 120.16 12.21-30.672 62.49 111.574 10.792-23.053 46.98 65.72c28.694 19.943 58.638 37.808 89.563 53.27-9.573-53.755-22.974-106.946-46.167-158.7l-15.385 36.853-60.82-106.8-7.33 21.812-58.623-100.784-9.523 36.104-57.16-69.95-8.792 27.077-87.2-48.13zM32.905 30.65c.498 1.085 1.01 2.16 1.512 3.24l128.55 182.686-15.07 2.442 85.834 57.697-31.3 9.924 138.322 85.465-34.393 16.145 5.4 3.322c-.7-1.014-1.393-2.032-2.098-3.043 4.165 3.215 8.367 6.367 12.584 9.49l109.297 67.22c14.582 7.255 29.39 13.985 44.418 20.156-10.046-21.494-21.62-43.198-34.51-64.898l-83.413-116.693-12.685 27.093-61.118-109.127-11.734 29.474-56.094-94.275.014 21.255-48.426-62.06C123.39 81.91 77.68 52.7 32.904 30.65zM19.557 136.71l29.308 61.67-34.44-.745 81.34 67.69L60.59 275.1l123.84 95.517-44.7 3.76 148.02 83.487-32.973 12.033 117.977 27.077c-11.174-23.545-23.634-46.537-37.254-68.864l-68.41-42.074 34.47-16.183-143.597-88.726 33.185-10.52L98.2 208.132l30.69-4.97C94.145 177.7 57.52 155.358 19.556 136.71z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningSpanner;

impl IconShape for LightningSpanner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.355 18.375V53.21L89.04 99.51l-42.593 57.71 81.03-27.392 7.023 30.498 56.066 5.256 9.926 43.22-35.623 16.934-40.298-29.785-70.082 62.49 72.418-23.945 22.778 44.387 44.96-14.373 32.2-55.918c-10.238-23.8-9.676-51.92 4.183-75.996 7.208-12.53 17.085-22.504 28.644-29.575 2.33-.675 8.71-5.517 11.648-5.802 11.515-4.78 23.982-7.087 36.537-6.534 5.638.248 11.288 1.053 16.863 2.433l12.088 2.99-40.34 69.5c-3.456 6.002-1.275 14.09 3.895 17.085l.002.002c5.144 2.976 12.367.775 16.014-5.56l.01-.014 40.35-69.518 8.592 8.97c25.457 26.57 31.995 67.74 12.697 101.26-13.936 24.205-38.08 38.312-63.676 41.24l-29.91 51.937 27.017 23.355-19.92 43.863 85.913 67.684-43.625-74.252 37.785-33.21 47.89 26.284-51.698-66.78-19.377 32.37-24.12-43.85 62.49-32.706 17.52 39.714 30.37-26.28 32.705 50.81-23.944-88.77-29.788 24.526-4.672-66.577 75.338-48.472-81.787-4.59 28.616-55.82 36.155 26.585 26.335-16.34v-70.18h-2.63L456.878 50.53 415.41 27.757l-45.1 61.627-34.57-16.162 16.656-52.488-78.304 53.594-24.198-55.95h-65.783l-5.226.63 51.976 33.29-12.847 61.32-50.81 8.76-72.327-104H18.354zM304.56 109.3c-12.4-.082-24.632 3.262-35.138 9.68l-.102.06c-8.906 5.473-16.434 13.043-22.093 22.878v.002c-11.596 20.143-11.392 43.746-1.618 63.08l2.277 4.504-86.692 150.553-5.068.27c-19.984 1.06-39.3 11.34-51.25 28.92-7.377 10.693-11.713 23.632-11.713 37.552 0 36.546 29.828 66.374 66.375 66.374 36.546 0 66.374-29.828 66.374-66.375 0-5.057-.59-9.977-1.67-14.714-.1-.457-.207-.91-.316-1.365-.05-.2-.095-.4-.147-.6-1.198-4.772-2.917-9.394-5.143-13.763l-2.3-4.513 86.698-150.57 5.07-.27c21.685-1.153 42.1-12.294 53.73-32.492h-.003c12.81-22.25 10.9-48.614-2.115-68.81l-27.14 46.76c-8.31 14.434-26.838 20.938-41.575 12.407H291c-14.713-8.522-19.23-27.812-10.73-42.583l.01-.016 27.206-46.868c-.15-.007-.298-.035-.447-.04-.828-.037-1.655-.058-2.48-.063zM159.54 379.1c26.45 0 47.696 21.244 47.696 47.697 0 26.45-21.244 47.696-47.697 47.696-26.454 0-47.696-21.245-47.696-47.697 0-26.454 21.243-47.698 47.695-47.698z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningStorm;

impl IconShape for LightningStorm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M386.97 17.688c-.678 24.347-8.144 49.282-22.19 71.843-37.465 60.192-112.748 86.84-181.874 69.907 5.208-2.31 10.233-4.83 15.03-7.593 39.057-22.5 57.284-55.454 54.314-91.688-7.388 21.814-24.62 41.314-50.22 56.063-48.047 27.68-118.01 31.687-187.468 16.936v37.375c41.04 8.176 82.086 9.6 118.563 3.47.365.25.726.503 1.094.75l.093-.03 3.28 2.124c32.687 21.385 79.955 25.336 123.75 16.28 43.797-9.054 83.514-31.274 101.126-57.343l4-5.905 6.75 2.28c39.1 13.354 75.938 17.096 119.06 14.94.718-.056 1.442-.098 2.158-.157v-39.125c-36.865 3.595-75.212.762-111.407-9.032 9.5-26.66 10.5-54.67 3.94-81.093zM323.75 191.28c-17.796 9.052-37.843 15.86-58.625 20.157-31.336 6.48-64.594 7.087-94.688-.53L251.28 305l-93.06 20.375L457.874 495.97 348.53 319.936l58.064-14.968-82.844-113.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningTear;

impl IconShape for LightningTear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.094 16.03l-18.688.032.063 33.282c-15.95.64-31.854 3.145-47.595 7.53l-10.22-33.28-17.874 5.468 10.345 33.594c-12.496 4.636-24.867 10.44-37.03 17.438l-19.126-30.5-15.814 9.906 19.063 30.47c-10.68 7.15-21.16 15.22-31.44 24.218L66.907 90.124l-12.75 13.688 24.875 23.124c-2.465 2.406-4.937 4.83-7.374 7.344l-6.28 6.5 6.28 6.5c54.467 56.233 116.508 85.097 178.906 85.095 62.4-.002 124.43-28.87 178.907-85.094l6.28-6.5-6.28-6.5c-2.38-2.455-4.782-4.835-7.19-7.186l25-23.28-12.717-13.69-26.032 24.22c-9.15-8.024-18.462-15.315-27.936-21.875l19.312-30.782-15.812-9.938-19.188 30.594c-12.823-7.665-25.888-14.007-39.094-19.03l10.313-33.533-17.875-5.468-10.156 33.063c-15.513-4.467-31.21-7.082-46.938-7.906l-.062-33.44zM250.53 70.25c39.147 0 70.69 31.51 70.69 70.656s-31.543 70.688-70.69 70.688c-39.145 0-70.655-31.542-70.655-70.688 0-39.145 31.51-70.656 70.656-70.656zm64.69 9.063c32.377 11.564 64.16 31.955 94.28 61.468-30.015 29.402-61.683 49.757-93.938 61.345 15.08-16.01 24.344-37.562 24.344-61.22 0-23.838-9.4-45.545-24.687-61.593zm-129.408.03c-15.27 16.045-24.656 37.74-24.656 61.563 0 23.64 9.25 45.18 24.313 61.188-32.218-11.596-63.837-31.944-93.814-61.313 30.092-29.474 61.823-49.863 94.156-61.436zm64.75 10.813c-27.99 0-50.687 22.696-50.687 50.688 0 27.99 22.696 50.656 50.688 50.656 27.99 0 50.687-22.667 50.687-50.656 0-27.992-22.696-50.688-50.688-50.688zm78.875 146.406c-25.884 9.117-52.37 13.72-78.875 13.72-16.853 0-33.69-1.897-50.375-5.595l59.594 51.125-93.686 2.5L419.53 492.188l-85.81-144.375 71.53-.718-75.813-110.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningTree;

impl IconShape for LightningTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.84 19.947v57.305l70.31 28.326-1.896.434c12.213 53.392-5.893 155.87-30.828 212.508l-1.865 4.236 95.038 171.86h21.355l-53.166-96.143 70.908 11.306 49.078 84.835h21.59l-58.945-101.89-94.11-15.006-30.974-56.015c14.24-33.763 26.116-78.726 31.613-122.402 36.702 52.688 87.49 91.51 150.307 117.468l-42.524 56.25 110.696-3.39-20.938 107.442 36.47 17.543h43.112l-58.478-28.13 6.715-34.452 93.666 24.994 30.886 37.588h36.646v-20.68l-47.094-56.037c-23.62 1.667-48.992-5.188-70.86-20.316-.09-10.192.878-20.03 2.753-29.568l68.13-2.086 47.07 43.76V384.17l-39.97-37.156-70.252 2.15c5.574-16.8 13.888-32.684 24.07-47.945-43.356-22.47-72.41-50.796-90.066-82.745 21.43-2.416 42.896-6.837 64.38-13.75l47.82 74.295 64.02 9.26V269.4l-52.913-7.654-51.078-79.355-6.946 2.41c-60.644 21.063-121.398 20.804-182.894 10.532-50.274-52.162-36.778-108.118 6.07-129.256l100.938 60.31 96.457-11.402 90.366 109.04V194.74L412.043 95.23 311.81 107.078l-145.833-87.13H19.84zm218.752 229.84c.978-.007 1.95-.005 2.912.008 55.755.72 85.412 33.977 90.57 90.85l-1.982 10.177-75.91 2.323 33.88-44.815-11.656-4.426c-32.562-12.363-61.618-27.98-87.12-47.056 18.2-4.643 34.633-6.954 49.306-7.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LightningTrio;

impl IconShape for LightningTrio {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M292.53 20.5l19 40.594L66.314 28.75 362.03 158.125l-18.967-40.594 149.218 15.282L292.53 20.5zm-252 23.375L318.314 413.97 312.906 348l184.97 146.5L294 186.656l5.406 65.97L40.53 43.875zM20.907 76.22l36.5 316.405L83.03 351.75l68.095 139.344-9.594-241.125-25.624 40.843-95-214.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LindenLeaf;

impl IconShape for LindenLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M464.932 21.29C274.485 132.043-106.076-.603 69.61 354.474c11.676-12.52 24.432-24.32 37.908-35.48C67.722 262.93 54.24 199.74 90.232 154.392c-8.058 41.812 10.656 93.947 47.094 141.673 6.008-4.318 12.087-8.544 18.23-12.662 10.623-7.123 21.434-13.967 32.294-20.576-39.13-48.68-51.65-106.296-7.61-146.414-13.92 45.353 3.117 91.37 36.944 129.17 17.7-10.1 35.226-19.632 51.978-28.648-34.28-38.035-47.893-86.045-9.226-120.44-16.994 38.647.948 78.153 32.75 107.777 8.61-4.647 16.946-9.188 24.85-13.595 11.313-7.012 22.352-14.307 32.98-22.016-27.643-27.05-38.643-67.445 2.504-88.78-19.482 26.625-7.21 56.638 15.572 74.905 31.87-25.927 58.968-56.626 77.308-95.932-7.773 45.32-28.388 79.65-55.957 108.272 28.69 11.048 62.472 4.036 75.99-39.15-9.714 74.018-57.36 78.104-94.42 56.668-16.333 14.264-34.34 27.185-53.087 39.593 47.863 30.855 109.968 41.123 142.123 8.13-29.384 68.29-110.973 51.34-167.126 7.144-15.316 10.506-31.402 21.544-47.444 33.152 55.11 43.938 133.57 69.352 202.166 55.34-65.948 54.125-165.335 22.79-230.382-34.147-7.38 5.78-14.64 11.68-21.68 17.713-8.618 7.387-16.886 14.97-24.684 22.725 59.03 57.24 143.643 100.245 234.204 96.922-85.83 40.44-190.386-1.646-259.903-68.238-9.28 11.84-17.164 24.022-23.136 36.52-1.49 3.123-2.867 6.262-4.126 9.418C584.836 697.405 502.94 124.374 464.932 21.288zm-227.2 234.314c-24.016 13.397-48.39 27.648-71.77 43.324C94.374 346.923 33.86 406.27 23.024 485.322c5.26 3.375 14.588 7.464 26.88 9.916 13.06 2.605 29.48 3.515 47.915 1.71-12.04-37.794-7.385-73.55 7.88-105.505 16.808-35.178 45.69-66.18 78.222-94.062 17.278-14.808 35.602-28.676 53.81-41.776z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LinkedRings;

impl IconShape for LinkedRings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M321.7 21.36c-43.2 0-86.4 16.5-119.4 49.5-19.1 19.08-32.6 41.54-40.7 65.44 16.9-2.4 32.9-2.7 48.7-1.1 3.9-5.5 8.3-10.7 13.2-15.6 23.3-23.26 53.8-34.9 84.4-34.9 30.6 0 61.2 11.64 84.5 34.9 46.6 46.6 46.6 122.4 0 168.9-46.5 46.6-122.4 46.6-168.9 0-22.2-22.2-33.9-51.1-34.9-80.2-11.5 1.8-22.8 5.6-33.2 11.4 5.8 33 21.4 64.5 46.9 90 66 66 172.9 66.1 238.9 0 66-66 66-172.8 0-238.84-33-33-76.3-49.5-119.5-49.5zM147.6 158.2c-27.9 7.7-58.94 25.4-76.75 44-47.5 47.4-60.8 116-40.1 175.3 8.91 24.1 23.56 47.1 40.1 63.6 66.05 66 172.95 66 238.95 0 19.1-19.1 32.6-41.6 40.7-65.5-16.2 2.5-32.6 2.9-48.8 1.2-3.8 5.4-8.2 10.6-13.1 15.5-62.7 39.7-137.8 40.6-173.3-4.4-20.57-26-32.05-58.8-30.55-85.8 2.58-41.6 26.85-79.9 57.75-98.5 10.2-5.9 37.6-15.1 61.6-15.1 33.7 1.5 60.6 11.1 84.5 34.9 22.3 22.1 33.8 51.1 34.8 80.3 11.6-1.8 22.9-5.6 33.3-11.4-9.4-41.6-26.9-73.2-53.9-96.7-21.4-18.7-44.1-31.4-70.6-37.6-28.4-7-58.6-6.5-84.6.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lion;

impl IconShape for Lion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.885 20.447c-10.348.467-21.337 3.146-32.194 5.366l62.492 65.628-21.645.188c-29.376.187-75.695 6.154-103.555 22.303l31.756 51.576-40.625 21.098v56.577l46.54 26.32-46.54 40.076v32.268c28.217-1.233 60.63.636 89.135-8.907l31.902-10.658-21.828 25.586c-18.76 22-29.782 55.133-50.736 87.713 31.91-2.394 63.352-7.65 96.8-25.81l16.026-8.683-9.746 77.124c26.333-12.19 52.103-28.923 71.178-49.055 22.683-23.94 35.713-50.49 33.36-72.71l-.074-.75c-18.488-12.687-32.26-31.173-39.236-54.18-8.414-27.753-5.867-62.33 6.643-101.145-26.406-4.04-46.536-14.637-57.307-30.11-12.33-17.716-14.222-39.26-7.738-57.018 6.483-17.758 22.29-32.165 43.437-33.4 20.558-1.195 44.48 10.033 69.972 36.102 11.368 4.11 21.73 8.034 31.14 11.94 2.434-21.395-1.46-38.033-10.408-52.9-8.41-13.975-23.217-26.43-41.1-38.582l4.27 42.888-16.425-10.985C222.37 43.57 168.973 18.49 123.885 20.597l.002-.225zm100.387 77.997c-.436.008-.866 0-1.29 0h-.002c-13.54.785-22.545 9.105-26.937 21.135-4.393 12.03-3.243 27.353 5.51 39.93 8.755 12.576 25.128 23.158 53.548 24.784l12.595.69-4.344 11.827c-14.837 40.46-16.242 73.928-8.577 99.212 7.66 25.267 24.04 42.795 47.305 52.56h.037l108.59 38.474c5.65-11.9 11.672-23.813 17.988-35.71-4.997 2.188-10.513 3.41-16.32 3.41-22.52 0-40.78-18.262-40.78-40.782 0-22.518 18.26-40.78 40.78-40.78 20.66 0 37.697 15.373 40.373 35.3 10.666-18.062 21.885-36 33.48-53.683l-103.224-52.377-4.746-5.732c-3.93-13.556-11.515-23.32-26.39-33.324-14.876-10.002-37.034-19.57-67.784-30.623l-2.08-.767-1.53-1.607c-23.283-24.532-42.7-32.278-56.202-32.024zm119.04 89.93c8.272 0 14.657 6.387 14.657 14.657 0 8.274-6.387 14.688-14.658 14.688-8.27 0-14.687-6.414-14.687-14.687 0-8.27 6.416-14.655 14.687-14.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lips;

impl IconShape for Lips {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.844 112.344c-42.01 38.554-97.815 75.023-147.53 86.03 39.097 14.38 89.036 18.718 134.717 9.157 53.264 31.33 128.095 32.185 184.876 0 44.99 15.297 96.346 13.18 149.688-9.31-59.564-9.606-125.004-51.588-155.25-85.876-55.502 39.62-111 32.146-166.5 0zm-133.72 114.03c17.33 29.572 48.467 79.248 89.75 131.064 27.24 34.188 76.606 31.093 129.97 31.093 49.298 0 102.29.706 127.625-31.092 37.724-47.35 68.59-92.143 88.217-122-124.874 84.53-316.773 93.18-435.562-9.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LitCandelabra;

impl IconShape for LitCandelabra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.438 19.938c-12.487-.094-24.863 14.058-28.188 39.968-2.188 17.047 4.64 28.972 14.25 35.125-3.243-4.602-5.02-10.922-4.03-18.81 2.216-17.69 10.448-27.712 18.75-27.814 7.796-.096 15.655 8.56 18.655 27.813 1.305 8.378.14 14.725-2.438 19.218 8.516-5.808 13.958-17.446 11-35.532-4.45-27.22-16.27-39.88-28-39.968zm-115.625 8.03c-.406-.006-.814.01-1.22.032-11.437.61-22.756 12.442-27.155 37.75-2.942 16.92 2.337 27.784 10.718 33.25-1.762-4.28-2.41-9.893-1.312-16.938 2.903-18.63 10.36-27.357 17.906-27.812 8.55-.516 17.215 9.587 19.5 27.813.718 5.73-.048 10.632-1.75 14.656 8.2-6.214 13.617-16.725 11.625-30.97-3.35-23.948-15.755-37.58-28.313-37.78zM373.969 35.5c-.394-.008-.796.01-1.19.03-11.086.64-22.046 13.565-26.31 41.314-3.005 19.538 2.644 31.72 11.342 37.437-3.43-4.524-5.188-11.484-3.687-21.124 3-19.252 10.86-27.908 18.656-27.812 8.302.102 16.534 10.123 18.75 27.812 1.14 9.08-1.385 16.09-5.592 20.78 10.213-6.17 17.76-18.926 15.5-37.092-3.252-26.15-15.295-41.095-27.47-41.344zM256.843 83.97l-7.906 29c-4.147-.583-8.29-1.915-12.438-4.25v110.56h38.813V108.72c-3.604 1.357-7.21 2.523-10.813 3.343l-7.656-28.094zm-117.22 7.155l-8 29.313c-3.63-.79-7.272-1.978-10.905-3.532V219.28h38.81V116.907c-3.927 2.038-7.852 3.35-11.78 4.03l-8.125-29.81zM372.97 102.75l-7.783 28.5c-3.917-1.002-7.83-2.402-11.75-3.844v91.875h38.813v-91.874c-3.743 2.632-7.476 4.146-11.22 4.844l-8.06-29.5zM120.72 237.97v.03h-12.407c0 15.576 7.953 25.735 18.312 30.47v28.75c0 35.492 29.227 64.717 64.72 64.717h52.03v92.438c-22.13 3.525-41 15.434-41 35.688H312.72c0-20.314-18.847-32.19-40.97-35.688v-92.438h51.906c35.494 0 63.844-29.53 63.844-64.718v-28.5c10.6-4.616 18.813-14.846 18.813-30.72H392.25v-.03h-38.813v.03h-12.562c0 15.545 7.922 25.692 18.25 30.438v28.78c0 20.18-15.59 36.344-35.47 36.344H271.75v-64.968c10.464-4.672 18.53-14.86 18.53-30.594h-14.967v-.03H236.5v.03h-11.656c0 15.684 8.067 25.872 18.53 30.563v65h-52.03c-19.88 0-36.344-16.465-36.344-36.344v-28.533c10.57-4.627 18.75-14.845 18.75-30.687h-14.22v-.03h-38.81z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LizardTongue;

impl IconShape for LizardTongue {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.438 22.813l2.656 324.406c18.762-2.59 45.968-7.837 64.937-12.626-64.105-101.55-51.24-197.13 2.345-249.656 53.66-52.602 146.458-59.904 233.188 7.343 4.837-9.855 10.408-22.83 16.78-36 5.467-11.292 11.663-22.63 18.907-32.75l-338.813-.718zM193.155 61.75c-2.916-.003-5.797.078-8.656.25l93.125 55.25 13.47-23.938c-33.99-21.88-67.484-31.535-97.94-31.562zm-48.125 8.688c-16.48 6.286-31.224 15.78-43.56 27.874-19.777 19.386-33.67 45.742-38.5 77 45.306 7.664 79.056 38.977 82.5 80.97 4.68 57.115 70.693 102.11 120.624 96.593 66.34-7.337 91.348 25.706 101.937 75.938 11.52 54.665 62.34 79.21 126.5 65.5-50.166-15.56-93.128-41.772-92.655-102.844.473-61.074-34.86-95.83-82.28-98.783-59.558-3.705-78.226-42.47-81.25-94.5-2.15-36.966-41.773-95.566-93.314-127.75zm-83.936 130c.064 32.407 9.32 68.854 30.656 107.5l22.313-13.25-52.97-94.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lizardman;

impl IconShape for Lizardman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.5 19.438c-44.403 0-85.068 25.433-115.22 68.124-10.09 14.288-18.944 30.48-26.25 48.188-10.71-4.62-21.43-9-32.155-13.188L72.062 140c25.816 10.078 51.322 20.963 76.376 34.22 30.466 16.78 59.304 36.763 80.375 58.374-20.213.33-37.827 1.154-54.094 2.812.113-1.08.186-2.172.186-3.28 0-17.046-13.8-30.876-30.844-30.876s-30.875 13.83-30.875 30.875c0 5.228 1.298 10.156 3.594 14.47-9.395 2.82-18.86 6.195-28.686 10.186.125 65.892 19.137 125.358 49.187 167.908 30.152 42.69 70.817 68.093 115.22 68.093 44.403 0 85.068-25.4 115.22-68.092 29.778-42.166 48.693-100.945 49.155-166.125-11.774-4.744-23.037-8.627-34.313-11.782 1.728-3.95 2.688-8.317 2.688-12.905 0-17.812-14.438-32.25-32.25-32.25-17.812 0-32.25 14.438-32.25 32.25 0 .724.015 1.444.063 2.156-15.164-1.317-31.518-2.01-49.938-2.31 29.974-30.743 74.994-58.278 118.875-78.564 12.154-5.344 24.38-10.35 36.688-15.156l-6.813-17.438c-8.886 3.47-17.776 7.06-26.656 10.813-7.108-16.777-15.617-32.17-25.25-45.813-30.152-42.69-70.817-68.124-115.22-68.124zm-27.03 239.968l31.968 74.563 29.437-65.908 19.97 69.657 39.717-49.564-.375 66 28.47-22.906-2.438 51.344h.03l-26.594 49.437-.97-49.092-25.28 41.187-12.812-47.53-19.563 53.28-21.436-62.375-13.03 66.28-30.283-61.842-11.905 59.406-31.53-44.22-12.97 59.157-30.78-59.905-.97-46.188L158.375 351l12.28-72 36.44 60.906 18.374-80.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LobArrow;

impl IconShape for LobArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.03 14.47c-110.473 1.825-290.752 92.88-243.5 450.5 0-210.674 118.628-315.626 181.814-315.626 41.72 0 70.595 34.945 73.812 102.75h-40.592l7.218 13.687 114.94 218.283 8.25 15.687 8.28-15.688 114.938-218.28 7.218-13.688H441.97C438.38 104.607 361.12 15.24 274.25 14.47c-1.717-.017-3.465-.03-5.22 0zm-4.592 44.593c85.555-1.117 146.173 75.667 148.687 211.718h57.313L371 459.657 271.53 270.78h65.595c-2.322-140.208-60.25-201.84-171.72-180.25 35.16-20.848 68.674-31.07 99.032-31.468z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockedChest;

impl IconShape for LockedChest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.857 20.842c-12.535-.036-24.268 2.86-37.285 9.424h.004C61.356 54.6 19.966 120.734 17.982 175.91l41.848 14.236c4.33-61.89 47.057-128.37 101.527-155.86h.002c4.423-2.23 8.822-4.162 13.185-5.8l-22.26-7.45c-1.83-.123-3.637-.19-5.428-.194zm59.34 20.19c-10.478-.09-22.832 3.093-36.424 9.943l.004-.004c-48.23 24.34-89.625 90.513-91.548 145.436l156.485 53.24c3.865-62.22 46.797-129.372 101.613-157.035h.002l.002-.003c4.303-2.168 8.584-4.056 12.832-5.666l-134.54-45.036c-2.652-.542-5.458-.847-8.427-.873zm174.97 58.323c-10.476-.09-22.83 3.092-36.42 9.94l-.005.002c-48.577 24.518-90.225 91.473-91.586 146.623l46.205 15.72c3.914-62.188 46.825-129.274 101.607-156.92 4.522-2.283 9.04-4.258 13.53-5.91l-26.544-8.884c-2.164-.35-4.423-.55-6.785-.57zm63.554 22.014c-10.267.093-22.094 3.353-35.333 10.034-47.158 23.8-87.777 87.587-91.362 141.75l174.55-73.726c-.404-39.01-10.754-61.304-24.415-71.082-2.347-1.68-4.867-3.057-7.55-4.137l-.01.034-4.735-1.584c-3.48-.887-7.195-1.327-11.144-1.29zM17.9 195.622l-.035 187.484L59.46 397.58V209.764L17.9 195.624zM78.15 216.12v187.962l156.282 54.37V269.288l-29.053-9.886v119.43l-101.054-34.082V225.025L78.15 216.12zm414.22 3.683L318.433 293.27v189.236l173.935-73.504v-189.2zm-369.354 11.582v99.947l63.675 21.477v-99.763l-63.674-21.662zm31.306 28.797c9.705 0 17.573 7.867 17.573 17.572 0 6.34-3.37 11.88-8.407 14.97v28.53h-18.69v-28.746c-4.838-3.13-8.048-8.562-8.048-14.754 0-9.705 7.867-17.572 17.572-17.572zm98.797 15.464v189.307l46.626 16.22V291.51l-46.627-15.864z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LockedFortress;

impl IconShape for LockedFortress {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M102.78 20.625V113.5L149 165.22v183.03h-25.875L99.53 489.156h319.94L395.874 348.25H370.03V165.22l46.22-51.72V20.625h-53.938v43.97H329.47v-43.97h-53.94v43.97h-32.436v-43.97h-53.938v43.97H156.72v-43.97h-53.94zM263.813 157.72c30.17 0 54.625 24.455 54.625 54.624 0 20.84-11.65 38.946-28.812 48.156l27.625 140.25H210.375L238 260.5c-17.148-9.214-28.813-27.326-28.813-48.156 0-30.17 24.457-54.625 54.625-54.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LongAntennaeBug;

impl IconShape for LongAntennaeBug {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.58 22.85c-2.174.007-4.353.138-6.525.388-34.765 4.01-67.404 36.405-81.116 87.473-7.775 28.958-22.882 44.807-37.352 51.49-11.51 5.318-22.383 4.86-30.11.702v20.04c11.742 3.31 25.265 2.08 37.946-3.776 20.222-9.34 38.646-30.388 47.566-63.61 12.287-45.76 40.885-70.947 65.207-73.753 12.16-1.403 23.476 2.11 33.547 12.02 9.938 9.78 18.513 26.304 22.695 50.91 5.74-2.34 11.79-4.07 18.07-5.104-4.787-26.406-14.444-46.124-27.658-59.126C205.844 28.69 190.8 22.794 175.58 22.85zm164.857 0c-15.218-.055-30.263 5.84-42.27 17.654-13.15 12.94-22.78 32.528-27.59 58.74 6.3.84 12.384 2.374 18.173 4.526 4.242-24.07 12.717-40.296 22.523-49.946 10.07-9.91 21.386-13.424 33.547-12.02 24.322 2.805 52.92 27.99 65.207 73.753 8.92 33.22 27.343 54.268 47.565 63.61 12.757 5.892 26.368 7.098 38.162 3.71v-20.084c-7.74 4.262-18.71 4.773-30.324-.592-14.47-6.683-29.58-22.532-37.354-51.49-13.71-51.067-46.35-83.46-81.115-87.472-2.172-.25-4.348-.38-6.522-.388zm-81.11 94.332c-36.628 0-66.12 29.49-66.12 66.117 0 7.254 1.174 14.22 3.314 20.743l6.876 3.97c34.858 20.124 80.19 19.712 114.334 0l3.8-2.197c2.53-7.023 3.913-14.602 3.913-22.517 0-36.628-29.49-66.118-66.117-66.118zm-55.692 111.96c-28.358 74.212-10.03 151.08 56.904 221.358 66.006-69.856 84.616-147.21 56.888-221.332-13.99 6.558-29.088 10.553-44.45 11.96-.28 60.717-4.582 121.43-11.962 182.143-6.524-60.676-10.983-121.354-11.73-182.032-15.687-1.294-31.2-5.304-45.65-12.095zm-114.15 4.64L66.362 272.89l-43.94 1.253.534 18.68 54.244-1.548 21.482-36.328 75.123 16.555c.755-6.16 1.79-12.313 3.123-18.447l-87.444-19.272zm333.97 0l-79.898 17.61c1.347 6.127 2.418 12.273 3.195 18.432l67.506-14.877 21.48 36.328 54.244 1.55.534-18.682-43.938-1.254-23.123-39.107zm-325.44 67.515L77.89 343.72l-45.005 9.774 3.967 18.264 53.982-11.725 18.78-39.578 64.552 2.53c-.853-6.248-1.408-12.508-1.672-18.77l-74.478-2.918zm316.91 0l-66.78 2.617c-.273 6.262-.837 12.523-1.69 18.772l56.873-2.23 18.777 39.577 53.983 11.725 3.967-18.264-45.002-9.773-20.13-42.423zm-233.1 55.95l-68.317 11.737-16.406 45.202-45.32 19.347 7.34 17.188 52.78-22.533 15.47-42.623 60.86-10.457c-2.407-5.927-4.545-11.883-6.408-17.86zm156.532 1.243c-1.893 5.976-4.052 11.928-6.48 17.85l53.69 9.224 15.472 42.623 52.78 22.534 7.338-17.187-45.32-19.347-16.406-45.202-61.075-10.494zm-138.072 41.97c-1.914 29.147 4.493 60.784 17.197 87.61 11.43-7.24 21.753-15.01 30.81-23.166-19.876-20.682-35.897-42.284-48.007-64.445zm116.59 6.306c-11.704 20.247-26.642 39.966-44.766 58.857 8.48 7.573 18.01 14.778 28.56 21.553 8.677-27.852 14.833-55.58 16.205-80.41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lotus;

impl IconShape for Lotus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.963 40.213c-37.634 31.356-62.038 67.976-77.916 109.394 8.544 12.5 16.607 25.44 24.228 38.594 15.642-5.553 32.468-8.587 49.995-8.587 17.886 0 35.046 3.156 50.96 8.93 9.07-14.52 18.652-28.856 28.89-42.66-15.736-38.504-39.406-74.025-76.157-105.67zM434.593 72.5c-46.74 28.5-83.334 74.49-114.616 123.826 21.934 11.372 40.696 28.023 54.636 48.244 23.212-22.514 48.206-44.643 75.58-66.82-.882-31.955-5.798-67.033-15.6-105.25zm-353.03 1.094c-9.435 37.96-14.433 72.695-15.74 104.27 23.62 20.078 45.453 40.406 65.78 61.603 13.77-18.29 31.614-33.345 52.194-43.774-28.336-48.245-62.472-92.77-102.234-122.1zm-54.59 96.7C9.708 278.34 31.295 358.165 72.27 411.517c22.427 29.2 50.77 50.62 82.128 64.363-20.892-35.934-25.973-76.777-16.613-116.112 4.668-19.617 12.848-38.864 24.274-57.09-38.14-48.11-82.083-90.01-135.087-132.383zm462.588.464c-59.87 45.918-108.408 90.682-151.36 138.615 9.625 17.744 16.24 36.16 19.722 54.732 7.08 37.78 1.012 76.134-18.31 109.926 32.2-14.254 62.005-35.988 86.51-65.214 44.98-53.64 72.394-132.675 63.44-238.058zM251.27 198.3c-44.09 0-83.025 21.667-106.764 54.954 9.898 10.856 19.428 21.973 28.64 33.42 18.55-24.415 43.224-46.48 73.372-64.422l5.072-3.02 4.906 3.286c30.383 20.345 54.374 44.323 71.65 70.185 10.638-11.774 21.61-23.376 33.012-34.85-23.354-35.875-63.803-59.552-109.888-59.552zm-.268 43.182c-51.58 32.272-84.19 77.032-95.035 122.612-10.94 45.97-.302 92.658 35.986 130.607h108.904c34.806-36.38 47.222-81.652 38.696-127.15-8.466-45.177-37.988-90.634-88.55-126.068z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LotusFlower;

impl IconShape for LotusFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M152.313 19.438C138.075 73.11 172.984 126.662 178.25 180.25c-28.744-16.01-71.286-25.18-88.656-43.656 9.36 29.558 51.055 44.096 77.094 66.312-57.236 1.556-101.637 65.75-148.125 79 54.52 31.628 111.427.296 167.437 23.875-27.654 34.76-47.284 67.888-57.97 107.283C148.787 384.2 174.07 351.39 198.72 326c-11.686 54.742 1.313 109.477 28.155 164.22 13.028-52.977 67.36-98.796 75.03-157.533 22.665 36.313 53.4 62.266 83.158 103.938-14.644-51.287-47.12-87.914-64.22-123.625 52.358 5.59 115.075 28.68 168.5 43.47-29.835-58.79-64.534-103.922-107.78-125.158 33.01.717 70.858 5.604 103.312 10.907-33.377-19.14-68.513-28.226-110-33.032 49.013-47.885 68.943-95.774 68.406-143.657-48.033 32.51-96.09 58.57-144.124 74.75 17.206-28.64 40.82-59.57 62-85.468-35.326 20.535-61.807 48.477-88.22 85.094-23.716-46.89-79.993-64.068-120.623-120.47zm35.625 72.937c8.325 26.55 49.006 61.23 63.718 91.625-7.935 2.196-15.188 5.65-21.437 10.063-9.67-33.43-46.513-71.114-42.282-101.688zm213.28 31.906c-20.144 34.656-47.403 60.806-83 86.72-2.394-7.408-7.083-13.755-13.124-18.563 31.454-17.384 66.972-44.313 96.125-68.156zm-129.812 75.814c6.66.108 12.638 1.57 17.375 3.97 7.22 3.653 11.376 8.906 12.345 15.436.97 6.53-1.55 13.663-7.53 20.188-5.983 6.524-15.326 12.01-26.283 14.218-10.956 2.208-21.094.686-28.312-2.97-7.218-3.653-11.374-8.906-12.344-15.436-.97-6.53 1.55-13.694 7.53-20.22 5.983-6.524 15.328-11.98 26.283-14.186 2.738-.552 5.424-.86 8.03-.97.977-.04 1.955-.046 2.906-.03zm-63.562 30.562c-.138 2.495-.034 5.02.344 7.563.983 6.622 3.748 12.55 7.718 17.56-36.236-7.654-91.958 24.29-125.062 10.157 34.23-.804 77.367-27.78 117-35.28zm107.5 10.25c43.444 16.685 78.393 35.883 108.406 65.72-39.556-17.844-87.918-37.4-126.563-45.47 3.768-2.62 7.204-5.558 10.188-8.812 3.177-3.465 5.884-7.328 7.97-11.438zM274.156 271.5l.22.03c-19.568 32.856-17.574 83.757-44.313 131.845 8.36-50.135 3.05-88.19 17.593-130.438 7.4 1.1 15.3.903 23.344-.718 1.07-.217 2.108-.46 3.156-.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LoveHowl;

impl IconShape for LoveHowl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.844 30.03C322.35 30.595 280.21 52.186 253 99.313c-41.913-117.77-236.493-76.29-232 64.5 1.226 38.39 16.562 72.577 38.875 103.657l106.47-35.5c-19.878-1.048-40.956-9.436-68.75-32.595 32.054-18.916 57.893-20.767 90.936-23.47 26.713-14.39 66.464-26.884 84.095-17.5 30.984-18.317 69.612-41.87 108.625-56.655 5.083 19.926 5.332 44.544 3.5 67.75l-10.5-14.03c-51.46 11.565-77.358 112.79-.594 70.686l10.53-16.937c1.766 15.882 3.392 30.556.002 43.78-34.038 24.007-68.83 43.753-103.375 59.594-17.754 15.61-52.626 65.57-62.844 108.937 19.995 20.072 34.94 39.36 40.093 58.595 20.665-77.113 240.783-175.82 236.375-316.313-2.648-84.358-65.862-134.66-130.594-133.78zm-104.03 147.532c-13.527.067-25.784 3.437-37.158 9.094 17.228 19.24 47.604 22.858 43.03-8.937-1.984-.13-3.94-.167-5.873-.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LoveInjection;

impl IconShape for LoveInjection {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.814 19.584C86.886 19.1 66.43 42.18 74.574 72.572 33.3 61.514 1.52 106.864 33.804 137.152c27.285 25.595 75.65 12.207 105.592 13.594l35.608 35.61-20.8 20.798c-5.792-2.507-11.9-3.718-17.956-3.72-1.102 0-2.2.038-3.297.117-14.61 1.05-28.493 9.07-36.325 22.636-12.533 21.7-5.02 49.73 16.682 62.26l9.343-16.186c-12.953-7.48-17.322-23.778-9.84-36.73 7.204-12.477 22.578-16.98 35.274-10.622l.79.79 165.18 165.185c22 22 51.77 20.233 71.514 6.043l89.446 89.447 13.215-13.213-89.543-89.545c5.476-7.808 8.98-17.067 9.432-27.056.633-13.987-5.028-29.007-17.884-41.863l-166.363-166.37.516-.298c-7.48-12.954-3.115-29.253 9.84-36.73 12.957-7.48 29.25-3.115 36.73 9.84l16.185-9.345c-7.83-13.564-21.715-21.583-36.325-22.63-1.095-.08-2.195-.12-3.297-.118-7.712.003-15.515 1.955-22.636 6.066-20.796 12.005-28.546 38.234-18.14 59.498l-18.528 18.53-34.986-34.986c-1.04-30.028 11.983-81.578-14.238-106.203-8.923-8.378-18.818-12.176-28.182-12.366zm107.64 149.752L375.837 326.73l-49.754 49.754-157.39-157.39 49.76-49.758zm.837 26.373l-13.214 13.214L336.584 339.43l13.215-13.215L219.29 195.71z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct LoveSong;

impl IconShape for LoveSong {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.375 25.938l10.094 22.718c33.116 74.398 61.213 153.6 79.186 235.406-20.196-6.522-45.85 4.468-54.25 31.032-30.905-33.787-80.476-10.8-72.062 33.937 8.54 45.403 86.184 61.497 98.28 84.783 1.276-28.646 62.544-70.93 53.657-118.313-.327-1.75-.75-3.423-1.218-5.03-12.258-65.38-31.13-129.108-54.093-190.22l176.405 83.563 42.938 132.625c-19.32-3.615-41.855 7.648-49.625 32.218-30.906-33.785-80.477-10.8-72.063 33.938 8.54 45.402 86.184 61.466 98.28 84.75 1.273-28.583 62.278-70.746 53.72-118l-.03-.063c-.016-.082-.017-.166-.033-.25-.873-4.658-2.255-8.807-4.062-12.467l-70.906-218.97-1.25-3.874-3.72-1.72-206.687-95.625-22.562-10.438zm36.906 37.656l180.782 83.656 10.407 32.156-178.25-84.47c-4.2-10.534-8.526-20.98-12.94-31.342z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Lyre;

impl IconShape for Lyre {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.656 35.063c-15.053.138-33.413 5.378-46.97 15.812-10.75 8.276-18.777 19.27-21.186 34.438.21-.126.414-.252.625-.376-.843 2.816-1.313 5.786-1.313 8.876 0 17.087 13.85 30.937 30.938 30.937 14.293 0 26.324-9.705 29.875-22.875.028-.115.067-.23.094-.344.48-2.082.768-4.042.905-5.843.025-.327.017-.65.03-.968.005-.126.03-.25.032-.376.007-.182-.002-.353 0-.53 0-1.526-.098-3.036-.312-4.5-1.367-8.018-6.778-12.156-12.594-13.72-8.527-2.293-19.055.637-23.75 18.156l-.468-.125C62.04 74.12 72.213 63.885 83.94 60.78c2.476-.654 5.053-1.005 7.656-.968 9.072.13 18.445 4.88 24.562 17.126.087.173.165.355.25.53 5.208 15.233 2.11 43.32-3.344 57.626-7.288 18.753-22.376 40.504-47.687 65.5C6.99 258.252 4 329.824 39.97 388.814 75.936 447.8 152.13 493.56 254.437 493.56c102.306 0 178.47-45.76 214.437-104.75 35.882-58.848 32.982-130.225-25-187.812l-.406-.406h-.033c-25.31-24.996-40.367-46.747-47.656-65.5-5.23-16.453-9.09-42.988-2.655-57.625.058-.128.128-.25.188-.376.025-.05.037-.106.062-.156 6.117-12.246 15.49-16.996 24.563-17.126 2.602-.037 5.18.314 7.656.97 11.724 3.102 21.87 13.337 19.344 32.843l-.438.125c-4.694-17.52-15.222-20.45-23.75-18.156-4.41 1.185-8.603 3.85-10.97 8.562-.012.04-.017.085-.03.125-.975 3.007-1.5 6.203-1.5 9.532 0 17.088 13.85 30.938 30.938 30.938 17.087 0 30.937-13.85 30.937-30.938 0-4.355-.907-8.49-2.53-12.25-3.058-13.244-10.598-23.112-20.44-30.687-14.458-11.13-34.39-16.363-49.936-15.78-13.378.5-24.85 4.108-33.22 10.53-3.412 2.617-6.383 5.702-8.844 9.375-69.455 35.508-138.89 38.75-208.344-7.75-.642-.557-1.29-1.105-1.968-1.625-8.37-6.422-19.843-10.03-33.22-10.53-.97-.037-1.964-.042-2.968-.032zm52.78 53.124c6.338 2.648 12.666 4.987 19 7.032v313.06c-30.732-8.258-57.886-22.005-77.374-41.31-17.1-16.94-28.077-38.626-28.906-63.595-.828-24.97 8.274-52.702 28.97-82.625 41.323-59.752 57.163-103.6 58.31-132.563zm186.033 1.407c1.6 28.97 17.593 72.37 58.25 131.156 20.693 29.923 29.796 57.656 28.967 82.625-.828 24.97-11.807 46.654-28.906 63.594-19.023 18.846-45.374 32.4-75.217 40.717V94.844c5.636-1.606 11.27-3.35 16.906-5.25zm-35.595 10v312.53c-8.21 1.63-16.606 2.878-25.125 3.782V104.094c8.376-1.122 16.75-2.63 25.125-4.5zm-112.75.78c8.45 1.97 16.894 3.442 25.344 4.44v311.342c-8.59-.84-17.057-2.05-25.345-3.625V100.376zm68.938 5.564v311.375c-4.54.198-9.088.312-13.657.312-3.76 0-7.506-.053-11.25-.188V106.28c8.293.314 16.614.18 24.906-.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MaceHead;

impl IconShape for MaceHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.53 17l-17.06 78.28c16.922-5.973 35.088-9.273 54-9.436L220.53 17zm229.345 72.906L316.595 147c-3.795 39.747 34.37 73.846 69.06 72.875l64.22-129.97zM258.937 104.5c-32.528 0-62.575 10.45-87 28.156l25.407 4.375h5.25l2.437 5.595c23.25 53.012-17.348 112.788-68.374 118.438l-5 .562-3.22-3.875-17-20.438c-.525 5.093-.78 10.267-.78 15.5 0 82.018 66.28 148.313 148.28 148.313 4.25 0 8.47-.182 12.627-.53l-33.75-26.533-3.97-3.125.438-5c3.68-43.274 44.822-80.43 90.126-80.656 10.455-.05 21.14 1.866 31.625 6.126l4.69 1.875.967 4.97 10.094 50.844c22.1-25.897 35.44-59.5 35.44-96.28 0-9.856-.957-19.47-2.783-28.783l-4.468 9.032-2.22 4.5-5 .625c-50.94 6.367-104.295-42.347-94-99.312l1.906-4.97 3.594-1.968 24.03-10.28C307.597 110.71 284.007 104.5 258.94 104.5zm-212.28 25.625l92.687 111.5c33.964-7.128 63.11-49.168 50.187-86.938L46.657 130.125zm45.312 122.063L17.093 295.03l85.437 16.22c-6.812-18.196-10.56-37.885-10.56-58.438 0-.208-.002-.416 0-.625zm333.5 12.5c-1.457 20.667-6.685 40.294-15 58.218L496.593 315l-71.125-50.313zm-101.158 39.53c-33.81.786-65.258 28.287-70.656 58.532l120.625 94.813-29.874-150.344c-6.665-2.114-13.417-3.156-20.094-3zM179.188 399.5l8.594 93.156 52.25-73.937c-21.83-2.47-42.38-9.143-60.843-19.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Machete;

impl IconShape for Machete {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M485.813 19.125l-85.594 28.563c5.54 36.314 1.39 77.714-19.095 122.937-25.507 56.312-75.953 118.53-163.53 186.22l-11.25-14.908c85.803-66.357 133.95-126.46 157.75-179 17.45-38.53 22.02-72.994 18.81-103.687L170.94 295.063l-22-29.125-14.907 11.25 23.095 30.562-.25.188 34.22 44.968c.022-.018.038-.044.06-.062l11.814 15.625.968 1.374 6.843 8.97-21 35.155 16.032 9.592L230.032 383l3.25-5.406-.126-.156c149.192-98.997 283.78-234.44 252.656-358.313zm-27.407 211.563c-3.195 44.583-12.58 64.095-21.875 78.03-4.663 6.994-9.53 13.964-9.53 23.032 0 18.143 14.388 33.094 32.53 33.094 18.144 0 33.126-14.95 33.126-33.094 0-10.064-6.316-17.154-11.78-24.72-9.717-13.458-18.577-32.888-22.47-76.342zm-85.03 83.156c-4.187 58.39-16.517 83.938-28.688 102.187-6.11 9.164-12.47 18.28-12.47 30.158 0 23.76 18.865 43.343 42.626 43.343 23.76 0 43.375-19.582 43.375-43.342 0-13.182-8.283-22.467-15.44-32.375-12.724-17.626-24.305-43.055-29.405-99.97zM142.03 319.28c-4.855 3.834-9.67 7.734-14.405 11.72 3.36 9.22 7.55 20.726 11.875 32.72 3.4 9.423 6.637 18.544 9.594 26.905 8.9-9.123 18.042-17.753 27.5-25.875l-34.563-45.47zm-29.53 24.876c-7.328 6.596-14.497 13.383-21.53 20.344l25 63.594c6.146-7.627 12.39-14.988 18.75-22.094-.052-.145-.075-.26-.126-.406-3.47-9.91-8.09-22.787-12.688-35.53-3.423-9.494-6.464-17.82-9.406-25.908zm-35.844 34.97c-8.362 8.813-16.52 17.888-24.47 27.218l32.19 64.28c6.026-8.72 12.082-17.21 18.25-25.405l-25.97-66.095zm-37.5 42.968c-6.48 8.057-12.824 16.29-19.03 24.687 2.195 26.79 25.804 46.102 46.093 51.064 2.042-3.18 4.103-6.317 6.155-9.438l-33.22-66.312z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MadScientist;

impl IconShape for MadScientist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M311.406 34.53c38.542 34.197 66.87 98.28 74.875 174.72-11.743-12.09-28.16-19.625-46.342-19.625-31.736 0-58.082 22.898-63.532 53.063-8.41-4.385-17.872-6.64-27.344-6.72-8.31-.07-16.654 1.55-24.312 4.876-6.17-29.252-32.13-51.22-63.22-51.22-22.542 0-42.38 11.558-53.936 29.064C113.944 141.055 141.15 75.113 179 38.563c-19.415 11.684-37.058 28.147-52.156 48.5-31.764 42.817-51.75 102.623-51.75 168.875 0 66.25 19.986 126.057 51.75 168.875 18.93 25.516 41.84 44.93 67.25 56.468-45.36-32.216-78.958-104.326-86.375-191.28 11.57 17.39 31.35 28.844 53.81 28.844 33.153 0 60.45-24.968 64.157-57.125 15.126-10.57 37.57-8.8 50.657 3.81 5.34 30.3 31.764 53.314 63.594 53.314 18.094 0 34.454-7.425 46.187-19.406-9.26 85.518-43.967 155.398-89.906 184.875 28.267-10.987 53.744-31.607 74.436-59.5 31.764-42.818 51.78-102.624 51.78-168.875.002-66.252-20.016-126.058-51.78-168.875-16.92-22.81-37.022-40.748-59.25-52.532zM139.186 361.69c54.808 94.924 164.16 94.283 218.595 0-61.404 35.452-146.178 34.58-218.592 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Maggot;

impl IconShape for Maggot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.125 21.313c-21.555.258-42.353 12.478-51.75 40.062-31.275-32.385-97.713 10.676-87.97 53.094-53.072-25.932-95.368 64.237-60.06 98.155-45.317 10.395-40.488 81.212-3.814 94.22-32.227 43.025-7.694 78.033 31.47 77.53 4.022 19.097 11.888 31.042 21.125 37.594l.094.06c8.953 4.856 24.56 2.825 37.093-4.842 6.776-4.146 12.083-9.32 15.187-15.188 3.102-5.867 3.896-12.004 1.75-18.688l.28-.093c-3.663-9.363-12.124-19-27.25-27.626 6.36-16.708 3.205-38.016-10.25-55.813 22.183-16.804 22.08-38.52 10.72-60.592 21.896-10.4 31.902-24.247 32.594-50.625 3.057-3.222 6.862-4.167 9.78 2.937 21.42 52.122 39.85 45.656 33.907-7.375-1.574-14.063 31.85-10.588 30.064 5.188-6.937 61.29 11.886 76.603 30.25 6 5.39-20.734 32.76-3.333 27.78 7.968-25.11 57.02-12.883 64.416 25.345 18 15.174-18.424 30.523 5.896 21.5 16.47-37.808 44.3-35.244 56.726 12.905 29.03.78-.447 1.596-.86 2.438-1.25 1.196-5.386 2.855-10.744 4.906-15.967 7.79-19.84 21.046-38.1 37.374-50.782 16.327-12.682 35.897-20.147 55.5-15.78 5.836 1.3 11.25 3.598 16.22 6.656 2.937-36.742-21.102-65.87-58.158-56.5 11.587-32.65-7.79-61.53-34.312-73.75-20.627-9.505-45.55-9.277-62.188 7.282-9.412-28.555-36.517-45.688-62.53-45.376zm190.264 179c-10.646-.037-22.24 4.617-33.1 13.052-13.366 10.382-25.04 26.086-31.538 42.635-6.5 16.55-8.142 33.837-2.336 47.305 5.806 13.467 18.623 24.63 44.385 30.37 24.453 5.446 40.05.467 50.81-9.345 10.764-9.81 16.735-25.48 18.105-43.22 1.37-17.738-2.04-37.027-9.344-51.975-7.3-14.95-17.58-25.315-29.784-28.033-2.334-.52-4.74-.78-7.197-.788zm-84.984 107.343c-21.303 28.16-18.983 73.03 11.406 110.875-19.538-46.616-9.817-72.812 8.907-83.717-8.846-6.922-15.272-15.27-19.25-24.5-.382-.882-.727-1.766-1.064-2.657zm117.97 36.47c-7.383 4.792-16.037 8.025-25.845 9.437 10.56 18.267 6.302 45.215-31.592 76.093 48.096-16.604 64.47-51.016 57.437-85.53zm-307.532 70.968c-4.994 7.542-11.88 13.7-19.625 18.437-2.052 1.256-4.16 2.413-6.345 3.47 39.006 31.386 91.033 41.48 120.25-15.438-34.71 27.772-69.927 15.69-94.28-6.468z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicGate;

impl IconShape for MagicGate {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M43.72 13.844L18.155 64.97c27.97 13.658 58.89 24.446 91.53 32.436l-89.53 393.438H123.5l41.25-373.438 1.03-9.437 9.44 1.186c52.986 6.706 108.616 6.364 161.56-.594l9.44-1.218 1.06 9.47 41.25 374.03h103.314L402.156 96.75C433.81 88.828 463.8 78.25 491 64.97l-25.53-51.126c-112.422 54.9-309.332 54.9-421.75 0zm286 114.344c-14.14 1.644-28.428 2.836-42.783 3.562-21.804 10.4-32.54 26.267-35.312 54.406 27.25-30.575 55.034-36.127 81.188-29.906l-3.094-28.063zm-147.44.53l-10.03 90.97c8.553-37.432 27.04-73.21 54.875-87.625-15.038-.6-30.02-1.7-44.844-3.344zm64.97 13.313c-34.87 17.008-72.704 109.172-38.156 162.907-23.665 3.18-37.152-6.345-43.406-26l-4.313 39.125c9.257 32.188 30.822 44 56.844 44-12.7 21.47-47.05 23.77-62.94 11.188l-1.655 15.188c10.71 28.704 37.626 43.795 74.344 42.093-18.365 23.685-30.833 24.123-63.064 14 39.07 48.74 103.567 18.582 119.125-31.53 13.896 22.31-2.982 63.977-44.374 67.75 82.914 13.18 105.38-62.936 57.125-124.406 21.172 2.414 47.277 11.1 62.314 38.312l-10.813-98.22c-25.328-31.6-75.52-19.695-66.56-46.373 4.55-13.55 34.584-16.545 42.03 11.093 12.44-41.053-37.255-49.697-52.563-29.78 16.442-29.484 50.19-27.943 69.125-7.157l-5.03-45.5c-33.345-13.155-72.762 8.446-89.188 52.655-12.81-21.176-21.274-66.546 1.156-89.344zm92.03 255.22c9.187 42.963-7.44 81.635-44.81 93l75.217.25L363 429.875c-7.54-14.486-14.178-24.364-23.72-32.625zm-192.467 52.78l-4.5 40.845h67.843c-27.745-8.302-48.728-18.543-63.344-40.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicLamp;

impl IconShape for MagicLamp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.72 87.938c-2.082.017-4.18.31-6.282.874-13.45 3.608-21.412 17.53-17.782 31.094 1.384 5.172 4.235 9.52 8 12.75-31.85 15.446-53.498 45.172-59.28 78.72l-22.532 7.593c-11.235-2.877-21.416-4.2-30.53-4.095-14.696.167-26.65 4.02-35.908 10.97-18.518 13.896-23.316 38.02-19.53 60.655 3.784 22.636 15.81 45.127 34.343 59.344 18.532 14.216 44.715 18.96 71.03 4.875 4.43-2.373 8.776-4.81 12.813-6.97 2.993 10.772 14.018 17.16 24.75 14.28 10.253-2.75 16.547-12.963 14.656-23.31 16.984 10.05 34.495 15.674 52.186 17.405-14.094 20.893-32.316 39.57-53.97 54.78 27.754 27.726 224.764-24.853 229.626-61.592-26.89-2.484-52.525-9.935-75.562-21.563 67.995-43.983 128.655-133.27 160.656-234.563l-42.47 14.344c-44.11 67.313-122.214 103.81-167.155 28-16.198-7.454-34.36-10.948-53-9.593 1.656-4.69 1.95-9.913.564-15.093-3.063-11.443-13.392-18.998-24.625-18.906zM76.062 233.53c5.11-.027 10.865.51 17.312 1.75 18.656 36.728 39.31 63.938 61.188 82.845-.767.113-1.546.263-2.313.47-.146.038-.293.08-.438.124-2.846.324-5.588 1.044-8.218 1.936-9.64 3.27-18.73 9.084-27.156 13.594-20.655 11.056-36.95 7.41-50.844-3.25-13.895-10.66-24.256-29.5-27.28-47.594-3.027-18.094.948-34.097 12.31-42.625 5.683-4.263 13.943-7.186 25.438-7.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicPalm;

impl IconShape for MagicPalm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.813 23.188c-1.228-.006-2.455.027-3.657.093-10.103.56-19.646 3.682-30.156 11.25l20.72 196.782c-8.394 2.127-16.676 4.47-24.814 7.094L137.72 57.812c-7.032-1.706-17.442-.3-27.126 4.626-10.248 5.213-19.034 13.84-22.813 22.937L155.03 261.5c-7.414 4.345-14.59 9.137-21.5 14.47l-74.343-94.25c-16.34.698-34.965 14.455-37.562 32.655C28.89 222.693 93.978 297.77 126 357.405c10.3 19.184 29.543 50.725 39.188 70.064 5.83 11.693 16.004 24.238 27.843 32.342 11.84 8.104 24.7 11.82 37.907 8.282l112.907-30.22c5.493-1.47 9.196-5.39 13.22-11.937 4.02-6.545 7.535-15.137 12.905-23 20.61-30.185 50.432-76.085 115.186-112.062-2.696-15.053-7.405-24.57-12.72-29.563-6.03-5.667-13.198-7.372-23.686-5.843-18.062 2.63-43.498 17.063-69.594 36.874-1.68 1.39-3.318 2.802-4.937 4.22l-7-61.252 42.5-155.718c-4.478-7.355-13.806-13.258-24.845-15.97-10.874-2.67-22.506-1.698-30.28 1.595l-38.75 149.874c-9.365 1.58-18.732 3.17-28.064 4.812L273.69 27.5c-10.057-2.52-19.284-4.272-27.875-4.313zM234.343 255l30.157 56.625 54.406-33.906-33.78 54.186L341.562 362l-64.157-2.188 2.188 64.032-30.03-56.344-54.283 33.813 33.97-54.438-56.53-30.125 63.78 2.156L234.344 255z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicPortal;

impl IconShape for MagicPortal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M88.418 17.17l-66.12 475.242h18.866l66.12-475.242H88.42zm315.7 0l66.023 475.242h18.87L422.988 17.17h-18.87zm-56.26.24l-132.422.37c-59.343 41.506-78.325 97.982-61.596 168.03-22.324-31.34-32.747-63.248-33.59-98.234l-26.684 191.78c1.05-3.64 2.25-7.31 3.653-11.012l-3.843 12.385-4.934 35.454c.41 37.954 18.614 69.416 40.91 87.406-18.52-6.774-35.355-15.287-49.25-27.445l-9.207 66.152c43.032 20.635 88.614 24.346 120.56 17.78-33.542 18.813-71.344 29.428-125.382 16.886l-2.13 15.3h217.568c73.664-14.515 117.318-55.617 129.045-89.216 3.54 30.568-2.754 60.093-37.473 89.215h73.242l-41.553-299.11c-15.226-35.307-51.106-59.122-74.695-59.718 10.876-3.615 21.615-5.918 32.305-5.78 11.61.15 23.16 3.2 34.76 10.56l-4.207-30.278c-21.365-18.958-46.472-31.023-68.92-35.954 6.54-.477 13.043-.73 19.513-.685 15.23.104 30.273 1.868 45.18 6.21l-4.224-30.398C331.8 45.105 287.813 60.384 263.44 79.407c13.68-23.55 44.533-47.68 84.417-61.998zm-81.323 33.065c-68.785 37.085-71.87 82.26-36.1 122.146-7.626-69.52 80.94-110.016 118.96-59.032-40.867-20.17-77.79 7.84-76.21 47.723 23.234-23.997 98.678-13.267 79.795 36.19-11.3-33.297-56.74-30.094-63.648-13.77-14.75 34.866 64.34 14.582 98.117 66.284-18.85-10.875-47.74.482-39.22 14.59 32.28 53.45 84.53 113.185 13.3 147.025 23.57-38.677 10.786-65.734-21.85-81.43 25.644 66.744-5.1 163.717-103.81 133.19 62.83-11.442 78.355-62.576 57.263-83.425-23.617 60.37-122.14 97.174-181.444 38.453 58.693 22.535 99.285 7.31 120.644-26.39-35.89 21.435-95.375 6.933-113.994-42.977 28.694 29.187 67.102 37.963 91.195 20.356 13.217-9.658 8.303-25.06-8.55-29.402-24.53-6.32-61.988-12.852-76.563-36.588 21.722 6.003 43.444 10.698 65.166-3.375-33.985-22.07-81.546-50.75-50.348-100.278 1.008 35.15 17.23 56.557 53.197 48.254 9.285-2.142 16.8-15.472 8.55-23.373-61.138-58.54-47.58-160.406 65.548-174.168z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicShield;

impl IconShape for MagicShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M57.78 23.135c-1.517 29.085-2.193 55.608-2.266 80.316 6.56-2.716 13.703-4.333 21.228-4.333 31.245 0 56.883 25.64 56.883 56.887 0 31.246-25.777 56.3-56.883 56.3-6.068 0-11.95-1.003-17.488-2.77C71.906 332.82 108.064 376.35 147.668 401.9c20.677 13.34 42.986 21.7 64.268 33.245 17.444 9.463 34.177 21.525 47.42 40.127 13.23-18.597 29.925-30.658 47.324-40.122 21.226-11.545 43.46-19.904 64.064-33.242 39.46-25.543 75.488-69.07 88.135-192.324-5.32 1.708-10.974 2.723-16.907 2.723-31.107 0-56.88-25.058-56.88-56.3 0-31.244 25.634-56.888 56.88-56.888 7.63 0 14.745 1.697 21.23 4.508-.07-24.757-.745-51.334-2.265-80.49-59.488 13-130.78 19.266-201.5 19.888h-.163c-70.718-.62-142.008-6.888-201.496-19.888zm304.124 39.32l-27.117 93.18-17.945-5.22 11.504-39.532-85.116 63.646-11.19-14.97 129.864-97.105zm-205.394 1.01l81.732 59.512-11 15.107-34.338-25.004 34.79 103.514-17.714 5.955-53.47-159.085zm140.486 99.652l129.383 97.95-98.25-.48.09-18.69 42.15.208-84.653-64.087 11.28-14.9zm-122.357 37.71l10.83 15.228-36.206 25.754 104.898-.17.03 18.69-163.577.262 84.024-59.766zm117.79 21l17.806 5.675-49.39 155.008-31.248-96.46 17.777-5.76 13.324 41.124 31.73-99.586z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagicSwirl;

impl IconShape for MagicSwirl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.79 18.734C137.967 17.596 19.874 96.94 19.73 244.53l21.403-51.395c-9.485 72.28-7.75 147.236 38.79 202.502L38.2 377.355c39.24 69.774 126.333 90.976 200.855 92.51C124.11 429.9 67.87 342.277 63.912 246.492c-6.722-211.78 260.658-217.694 340.78-75.77-3.417-19.492-8.623-38.426-15.618-56.11 77.406 89.155 59.293 214.875-21.29 253.036-24.25 3.95-48.93 12.06-60.954 19-58.548 33.802-6.27 126.536 53.225 92.188 9.44-5.45 23.404-17.303 36.494-31.352 64.36-59.52 98.1-118.24 93.108-188.94-6.52 29.1-19.175 57.904-35.623 84.683 63.158-146.822 7.956-263.89-144.838-301.354 12.097 5.835 23.503 13.63 33.873 23.36-57.415-23.752-131.123-22.62-186.884 3.505 28.066-26.2 64.776-43.73 102.2-49.642-3.52-.205-7.054-.325-10.597-.362zm-19.74 160.202l-19.843 100.566c-2.958 3.81-5.64 6.852-9.033 9.94l-25.688-49.096-22.705 11.93 31.37 60.945c4.48 11.474 10.02 20.68 15.162 28.524 28.063 42.803 64.547 35.252 95.303 9.555l87.28-48.452-12.71-22.498-66.136 36.94c-1.517-3.154-3.266-6.552-5.056-9.51l67.818-64.96-17.54-18.695-66.47 63.762c-2.356-2.318-4.238-4.527-6.765-6.54l45.084-78.085-22.733-13.127-45.864 78.297c-3.79-1.31-7.72-2.2-11.595-2.745l15.656-81.896-25.533-4.854z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Magnet;

impl IconShape for Magnet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.063 25.656c-30.86.074-60.556 12.052-85.094 36.313C3.285 119 12.986 194.422 63.905 245.343c12.042 12.04 47.124 35.39 78.75 55.437l36.938-36.967c-23.064-18.33-46.265-37.235-54.375-45.344-38.193-38.193-42.604-75.96-13.44-105.126 29.167-29.166 66.482-24.61 105.126 14.03 8.09 8.09 26.932 31.048 45.22 53.907l37.03-37.03c-20.045-31.623-43.335-66.74-55.375-78.78-30.685-26.483-64.868-39.892-97.718-39.814zM309.375 160.47L273.845 196c13.103 16.54 24.525 31.2 29.5 37.656l31.53-31.53s-10.95-18.314-25.5-41.657zm54.125 33.124c-31.963 73.943-90.175 135.65-167.313 169.22 96.67-10.858 166.86-86.763 167.313-169.22zm58.438 0C378.812 293.36 300.23 376.616 196.155 421.906c130.426-14.648 225.167-117.06 225.78-228.312zm72.53 0C437.49 325.414 333.7 435.407 196.19 495.25c172.33-19.356 297.47-154.66 298.28-301.656zM194.345 275.5l-35.438 35.438c23.348 14.552 41.656 25.5 41.656 25.5l31.532-31.532c-6.443-4.963-21.143-16.33-37.75-29.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagnetBlast;

impl IconShape for MagnetBlast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.844 19.97c-28.18.03-55.19 11.19-77.875 33.624-26.88 26.58-37.526 56.483-36.095 85.875 1.43 29.39 15.237 58.516 39 82.28 9.592 9.593 44.044 33.04 74.78 52.563 1.14.723 2.104 1.293 3.22 2l44.344-44.344c-22.65-18.013-45.176-36.208-53.72-44.75h-.03c-24.88-24.882-22.98-56.233-5.626-73.032 17.354-16.8 48.748-18.29 73.25 5.937 8.61 8.51 26.702 30.837 44.656 53.313l38.438-38.407c-.71-1.12-1.305-2.073-2.032-3.218-19.468-30.66-42.827-64.955-52.47-74.656C195.738 33.16 165.59 20.706 136.564 20c-.91-.022-1.81-.032-2.718-.03zm190.312 77.25l-34.72 20.624c.836 1.31 1.673 2.633 2.502 3.937 19.683 31 36.406 59.032 36.406 59.032l3.75 6.25-5.156 5.157-46.313 46.31-7.47 7.47-6.5-8.344s-12.84-16.436-28.5-36.187l-28.843 28.843c19.79 15.62 36.22 28.437 36.22 28.437l8.374 6.47-7.5 7.5-52.344 52.374-5.156 5.156-6.25-3.75s-24.577-14.675-53.125-32.688l-19.78 48.22 36.375-14.344 15.156 81.718 28.126-55.28 60.406 63.25-15.718-86.126 51.875 6.28 2.624 1.345 4.03 47.344 77.595 11.092-12.095 52.375L403.47 492h86.624v-81.594l-50.375-29.22 10.092-41.31-96.718-3.032 14.094-44.313-42.157-29.967 2.345-21.094 52.344 17.06-31.126-69.75 42.72-22.53-65.44-20.063-1.718-48.968zm-35.78 54.03l-36.907 36.906c11.742 14.79 19.468 24.643 23.405 29.688l33.656-33.656c-3.222-5.365-10.39-17.252-20.155-32.938zm-92.407 92.406l-42.876 42.875c15.686 9.766 27.573 16.934 32.937 20.158l39.72-39.75c-5.06-3.934-14.962-11.59-29.78-23.282z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MagnifyingGlass;

impl IconShape for MagnifyingGlass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M333.78 20.188c-39.97 0-79.96 15.212-110.405 45.656-58.667 58.667-60.796 152.72-6.406 213.97l-15.782 15.748 13.25 13.25 15.75-15.78c61.248 54.39 155.3 52.26 213.968-6.407 60.887-60.886 60.888-159.894 0-220.78C413.713 35.4 373.753 20.187 333.78 20.187zm0 18.562c35.15 0 70.285 13.44 97.158 40.313 53.745 53.745 53.744 140.6 0 194.343-51.526 51.526-133.46 53.643-187.5 6.375l.218-.217c-2.35-2.05-4.668-4.17-6.906-6.407-2.207-2.206-4.288-4.496-6.313-6.812l-.218.22c-47.27-54.04-45.152-135.976 6.374-187.502C263.467 52.19 298.63 38.75 333.78 38.75zm0 18.813c-30.31 0-60.63 11.6-83.81 34.78-46.362 46.362-46.362 121.234 0 167.594 10.14 10.142 21.632 18.077 33.905 23.782-24.91-19.087-40.97-49.133-40.97-82.94 0-15.323 3.292-29.888 9.22-43-4.165 20.485.44 40.88 14.47 54.907 24.583 24.585 68.744 20.318 98.624-9.562 29.88-29.88 34.146-74.04 9.56-98.625-2.375-2.376-4.943-4.473-7.655-6.313 45.13 8.648 79.954 46.345 84.25 92.876 4.44-35.07-6.82-71.726-33.813-98.72-23.18-23.18-53.47-34.78-83.78-34.78zM176.907 297.688L42.094 432.5l34.562 34.563L211.47 332.25l-34.564-34.563zM40 456.813L24 472.78 37.22 486l15.968-16L40 456.812z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MailShirt;

impl IconShape for MailShirt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.018 21.47c-2.272-.005-4.546.015-6.82.06-36.368.74-72.766 7.872-105.448 20.613l.145.37c-38.557 13.652-71.722 33.97-94.426 69.07-27.634 42.722-39.162 105.694-29.997 202.04l.533 5.604 5.2 2.148c32.755 13.53 63.133 8.315 90.624-2.256l7.85-3.02-2.178-8.123c-7.86-29.316-7.11-59.575-.234-82.346 5.06-16.763 13.07-28.685 22.47-34.7.83 45.51-.165 98.438-5.76 150.86l-.412.778c.102.054.21.105.313.16-4.056 37.617-10.484 74.95-20.335 109.07l-2.05 7.095 6.433 3.632c71.865 40.593 186.79 35.656 259.605 2.108l7.31-3.367-2.245-7.73c-22.162-76.22-22.934-183.8-25.002-265.046 9.762 7.228 17.977 19.765 23.14 36.418 7.185 23.17 8.103 53.197.25 82.485l-2.17 8.095 7.815 3.035c29.822 11.578 60.122 11.905 89.725 3.178l6.06-1.786.6-6.29c9.165-96.35-2.403-159.354-29.974-202.09-24.33-37.712-60.728-58.286-102.7-71.882l.14-.357c-4.814-1.922-9.98-3.69-14.513-5.152-26.585-8.516-55.18-12.623-83.95-12.674zm-.07 18.846c21.927.032 43.68 2.533 64.208 7.64-12.15 13.886-30.527 22.83-50.57 26.112l-5.38.883-10.513 28.634-11.644-28.752-5.284-.785c-20.07-2.98-38.043-11.573-49.928-25.733 22.378-5.293 45.837-8.03 69.11-7.998zm82.786 14.067c37.39 10.9 68.45 25.843 91.172 52.037l-10.732 19.818 14.898 27.512 12.543-23.164c18.33 33.59 27.677 82.064 23.764 153.37l-9.552-17.64-14.9 27.512 7.775 14.356c-16.283 2.02-32.397.686-48.693-4.473 6.492-29.867 5.23-59.657-2.424-84.337-8.38-27.028-24.725-48.86-48.373-54.988l-12.053-3.123.37 12.445c1.34 45.107 1.617 101.145 5.76 156.678-18.66 6.12-49.793 10.57-82.124 11.61l6.127-11.315-14.9-27.512-14.897 27.512 6.246 11.535c-34.712-.246-69.467-4.502-90.836-11.444 3.393-36.233 4.697-72.2 4.838-105.547l8.37 15.453 14.898-27.512-14.9-27.512-8.47 15.643c-.095-8.21-.235-16.27-.44-24.012l-.278-10.627-10.502 1.64c-23.77 3.71-39.984 25.23-48.045 51.933-7.37 24.41-8.426 54.278-1.883 84.166-20.88 7.07-41.23 9.415-63.838 1.57-7.876-90.523 3.685-147.407 27.504-184.232 23.22-35.898 58.63-54.383 103.037-67.312 14.094 20.29 36.406 32.362 60.432 37.06l25.92 63.997 14.343-39.07 9.304 17.182 14.9-27.512-8.783-16.217c21.568-5.738 41.358-17.422 54.42-35.48zm-15.21 40.306l-14.9 27.51 14.9 27.51 14.898-27.51zM119.52 110.04l-14.897 27.51 14.898 27.512 14.9-27.51zm197.917 57.34l-14.898 27.513 14.897 27.51 14.9-27.51zM77.97 168.67l-14.898 27.512 14.9 27.51 14.897-27.51zm180.407 4.262l-14.9 27.51 14.9 27.51 14.898-27.51zM432.53 190.6l-14.9 27.51 14.9 27.513 14.898-27.512zm-145.886 48.963l-14.9 27.51 14.9 27.513 14.9-27.512zm-69.156 5.554l-14.9 27.512 14.9 27.51 14.9-27.51zm114.588 25.238l-14.898 27.512 14.898 27.512 14.9-27.513zm20.83 79.383c.627 6.774 1.322 13.517 2.092 20.215-21.064 7.54-59.77 12.824-98.217 13.01-38.48.186-77.818-4.65-100.44-12.733.94-6.74 1.792-13.502 2.568-20.27 26.296 8.143 62.176 11.137 98.186 10.966 35.813-.17 70.754-3.4 95.812-11.188zm4.53 39.366c3.016 21.5 6.925 42.273 12.064 61.57-52.01 21.488-127.94 27.74-188.018 13.318l8.5-15.697-14.898-27.51-14.898 27.51 6.248 11.54c-9.19-2.9-17.885-6.342-25.91-10.36 5.285-19.45 9.54-39.696 12.94-60.28 15.244 5.214 34.004 8.556 54.315 10.453l-7.21 13.313 14.9 27.513 14.897-27.512-6.564-12.12c10.836.607 21.945.864 33.07.81 37.896-.183 74.855-3.797 100.563-12.546z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MailedFist;

impl IconShape for MailedFist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.75 21.063c-1.306 0-2.582.045-3.813.125-1.964.127-3.778.385-5.5.718L171.47 82.5c4.257-1.103 8.72-1.688 13.31-1.688 21.424 0 39.93 12.778 48.407 31.094l39.188-67.844c-4.546-5.766-14.702-13.066-26.97-17.53-9.74-3.546-20.516-5.473-29.655-5.47zm85.72 17.53c-1.583-.03-3.07.047-4.47.188l-44.53 77.157c4.825-1.446 9.935-2.25 15.218-2.25 20.817 0 38.924 12.05 47.718 29.532l43.156-74.782c-4.125-6.924-13.916-15.663-25.78-21.532-10.44-5.163-22.204-8.138-31.313-8.312zm-162.5 29.344c-10.902.22-21.355 4.083-32.5 12.22C96.044 87.766 85.3 99.3 74.187 114.5L122 130.78l34.656-60.03c-5.398-1.782-10.563-2.693-15.5-2.813-.73-.017-1.46-.014-2.187 0zM370.312 85.5L325.5 163.156c5.325-1.817 11.015-2.844 16.938-2.844 20.334 0 38.045 11.61 46.906 28.532l36.97-64c-3.564-8.5-12.897-19.255-24.19-27.03C391.22 90.3 378.678 85.84 370.313 85.5zm-185.532 14c-19.27 0-34.718 15.448-34.718 34.75s15.45 34.75 34.72 34.75 34.687-15.445 34.687-34.75c0-19.302-15.418-34.75-34.69-34.75zM58.53 128.938C48.27 179.428 49.268 231.032 64.595 275c.186.536.372 1.06.562 1.594l.188-.22 7.125 10.22c.872 1.25 1.81 2.52 2.78 3.78-.837-41.212 10.51-89.245 37.438-143L58.53 128.94zm209.157 3.437c-19.27 0-34.687 15.416-34.687 34.72 0 19.3 15.417 34.75 34.688 34.75 19.27 0 34.718-15.446 34.718-34.75 0-19.304-15.448-34.72-34.72-34.72zm169.282 12.688l-41.783 72.375c-.048.614-.087 1.235-.156 1.843 4.283-1.206 8.784-1.874 13.44-1.874 21.296 0 39.572 13.55 46.717 32.438l36.532-63.25c-3.43-8.86-12.62-20.092-23.783-28.313-10.62-7.82-22.842-12.6-30.968-13.218zm-303.72 3.218C99.888 212.04 89.896 266.26 95.344 308.876c.133 1.044.286 2.063.437 3.094 20.05 17.924 47.18 35.918 76.25 51.717 40.17 21.83 84.096 39.88 118.064 50.125 42.028-15.246 84.304-46.497 119.156-96.468-.26.004-.52.03-.78.03-27.474 0-49.94-22.483-49.94-49.968 0-1.24.068-2.468.158-3.687-5.125 1.664-10.587 2.592-16.25 2.592-28.306 0-51.592-22.493-52.907-50.5-6.677 3.02-14.068 4.72-21.842 4.72-25.675 0-47.22-18.35-52.25-42.595-8.685 6.134-19.27 9.75-30.657 9.75-24.53 0-45.332-16.764-51.53-39.406zM342.438 179c-19.033 0-34.282 15.25-34.282 34.313 0 19.063 15.25 34.312 34.28 34.312 19.034 0 34.252-15.246 34.252-34.313 0-19.063-15.218-34.312-34.25-34.312zm66.03 57.125c-17.362 0-31.25 13.888-31.25 31.28 0 17.394 13.888 31.283 31.25 31.283 17.364 0 31.25-13.886 31.25-31.282 0-17.393-13.886-31.28-31.25-31.28zM64.907 307.25c-7.423 9.67-14.177 19.17-20.344 28.47 3.222 9.158 10.11 19.44 20.657 29.967 13.9 13.877 33.814 28.027 57.81 41.063 41.59 22.59 95.45 41.855 152.032 52.53 3.07-8.944 5.834-18.35 8.22-28.25-35.365-10.748-79.208-28.665-120.188-50.936-39.39-21.407-75.667-46.16-98.188-72.844zM32.72 354.563c-4.446 7.515-8.483 14.866-12.126 22.093 1.467 9.07 7.963 20.19 19.593 31.72 12.248 12.14 29.84 24.596 51.094 36.062 41.084 22.16 95.78 40.72 152.22 49.187h17.375c2.59-5.32 5.097-10.844 7.47-16.563-57.277-11.12-111.46-30.63-154.25-53.875-25.16-13.666-46.376-28.622-62.064-44.28-7.912-7.9-14.49-16.006-19.31-24.344zm-14.47 57.53v34.094c1.047 2.302 3.192 5.48 6.875 8.97 5.26 4.982 13.178 10.427 22.844 15.53 18.88 9.97 44.434 18.675 70.624 22.938H161c-28.807-9.095-55.546-20.318-78.594-32.75-22.413-12.09-41.336-25.303-55.375-39.22-3.173-3.145-6.107-6.326-8.78-9.56zm0 61.782v19.75h34.344c-4.66-2.048-9.133-4.183-13.344-6.406-7.93-4.19-15.012-8.627-21-13.345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Manacles;

impl IconShape for Manacles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.06 18.422c-36.695 0-69.95 6.1-94.865 16.498-12.458 5.2-22.882 11.456-30.625 19.096-7.742 7.64-12.924 17.156-12.924 27.62 0 .78.04 1.552.096 2.32h-.1v70.25c0 10.46 5.187 19.974 12.932 27.612 7.745 7.638 18.172 13.894 30.63 19.094 24.92 10.4 58.173 16.502 94.85 16.502 36.678 0 69.93-6.102 94.85-16.502 12.46-5.2 22.886-11.456 30.63-19.094 7.746-7.638 12.93-17.15 12.93-27.613v-20.703c9.27.424 17.71 1.55 25.307 3.23-.798 3.753-.985 7.68-.637 11.55.94 10.456 5.445 21.254 13.047 30.91 7.602 9.655 17.04 16.57 26.984 19.935 2.417.818 4.914 1.416 7.43 1.762-3.297 5.552-8.22 11.055-15.012 16.196-4.39-5.606-10.9-9.44-17.896-11.457-4.414-1.273-9.136-1.933-14.036-1.972-.7-.005-1.402.002-2.11.022-5.653.16-11.514 1.132-17.39 2.93-11.75 3.593-21.61 9.89-28.347 17.945-4.25 5.08-7.327 11.186-8.227 17.595-3.977.162-8.04.264-12.25.264-7.765 0-15.21.498-22.326 1.438-4.75-4.465-11.02-7.302-17.568-8.58-2.576-.503-5.235-.798-7.952-.885-1.018-.033-2.046-.036-3.08-.01-7.237.18-14.813 1.786-22.29 4.812-11.39 4.61-20.66 11.75-26.663 20.363-5.74 8.233-8.578 18.567-5.275 28.215-10.067 12.647-16.583 26.92-19.236 41.44-.624.295-1.245.608-1.854.96-9.362 5.405-13.828 15.76-14.393 26.244-.566 10.484 2.35 21.814 8.496 32.457 6.144 10.642 14.497 18.834 23.86 23.587 9.36 4.753 20.563 6.063 29.925.658.207-.12.397-.253.598-.377 11.812 4.73 25.68 7.51 41.473 7.867v12.76c0 10.462 5.187 19.975 12.933 27.614 7.745 7.637 18.17 13.892 30.63 19.092 24.92 10.4 58.173 16.504 94.85 16.504 36.677 0 69.93-6.104 94.848-16.504 12.46-5.2 22.888-11.455 30.634-19.093 7.745-7.64 12.93-17.153 12.93-27.615V361.11c0-.106.01-.21.01-.315 0-.105-.01-.21-.01-.315v-.396h-.012c-.23-10.182-5.338-19.442-12.905-26.908-7.743-7.64-18.167-13.897-30.625-19.096-24.916-10.4-58.168-16.498-94.863-16.498-36.696 0-69.95 6.1-94.866 16.498-12.458 5.2-22.882 11.456-30.625 19.096-7.744 7.64-12.927 17.156-12.927 27.62 0 .78.04 1.553.096 2.323h-.1v38.778c-11.41-.283-21.247-1.943-29.628-4.662 1.115-3.32 1.76-6.834 1.95-10.367.566-10.485-2.35-21.815-8.495-32.458-6.144-10.643-14.5-18.833-23.86-23.586-2.735-1.388-5.627-2.47-8.583-3.19 2.238-8.604 6.232-17.206 11.986-25.24 3.724 2.22 7.92 3.75 12.24 4.592 10.305 2.012 21.93.692 33.32-3.92 11.392-4.61 20.66-11.75 26.665-20.363 4.323-6.203 6.995-13.597 6.646-20.992 4.518-.398 9.198-.61 14.046-.61 5.697 0 11.203-.15 16.543-.425 4.364 6.35 11.35 10.637 18.898 12.812 10.088 2.908 21.785 2.614 33.537-.98 11.752-3.594 21.61-9.892 28.347-17.946 4.44-5.307 7.587-11.732 8.323-18.455 17.06-11.132 28.024-25.383 31.982-40.676 8.43-6.693 11.35-17.54 10.414-27.963-.938-10.456-5.444-21.254-13.046-30.91-7.602-9.655-17.04-16.57-26.984-19.935-3.73-1.262-7.645-2.008-11.53-2.096-1.297-.03-2.59.013-3.87.136-4.963.475-9.75 2.143-13.905 5.285-10.607-2.854-22.495-4.62-35.57-5.145V81.95c0-.106.01-.21.01-.315 0-.106-.01-.21-.01-.315v-.396h-.012c-.23-10.182-5.336-19.442-12.902-26.908-7.742-7.64-18.166-13.897-30.624-19.096-24.916-10.4-58.17-16.498-94.865-16.498zm0 18.69c34.588 0 65.87 5.96 87.667 15.056 10.898 4.55 19.377 9.9 24.697 15.15s7.36 9.904 7.36 14.317c0 4.412-2.04 9.065-7.36 14.314-2.635 2.6-6.05 5.224-10.145 7.765-25.566-12.5-61.797-19.834-102.223-19.834-40.424 0-76.645 7.32-102.217 19.833-4.094-2.54-7.508-5.164-10.143-7.764-5.32-5.25-7.36-9.903-7.36-14.315 0-4.413 2.04-9.067 7.36-14.317s13.797-10.6 24.696-15.15C92.19 43.07 123.473 37.11 158.06 37.11zm-.003 65.458c30.217 0 57.918 4.62 78.966 11.82-21.05 7.217-48.743 11.766-78.962 11.766-30.228 0-57.93-4.55-78.984-11.77 21.048-7.197 48.77-11.816 78.98-11.816zm191.517 30.582c1.67.07 3.59.435 5.774 1.174 5.826 1.972 12.726 6.725 18.293 13.795 5.568 7.072 8.568 14.894 9.118 21.02.55 6.127-1.038 9.786-3.442 11.678-2.403 1.893-6.333 2.578-12.16.606-5.826-1.972-12.726-6.723-18.293-13.793-5.567-7.07-8.567-14.894-9.117-21.02-.55-6.127 1.038-9.786 3.442-11.678 1.2-.947 2.785-1.59 4.796-1.752.503-.04 1.033-.05 1.59-.028zm-28.05 89.24c3.342.022 6.4.45 8.986 1.194 5.91 1.704 8.748 4.508 9.642 7.434.895 2.925.11 6.836-3.836 11.554-3.946 4.72-10.87 9.433-19.476 12.065-8.606 2.63-16.984 2.597-22.895.893-5.91-1.703-8.748-4.508-9.642-7.433-.895-2.926-.113-6.837 3.834-11.555 3.946-4.718 10.873-9.433 19.478-12.065 4.303-1.315 8.55-1.966 12.46-2.074.488-.013.97-.02 1.448-.015zm-116.596 30.702c1.762.047 3.414.225 4.924.52 6.037 1.178 9.11 3.722 10.257 6.558 1.147 2.836.71 6.8-2.807 11.848-3.518 5.046-10.003 10.35-18.344 13.726-8.343 3.377-16.692 4.077-22.73 2.9-6.037-1.18-9.107-3.724-10.255-6.56-1.148-2.836-.713-6.8 2.804-11.846s10.004-10.35 18.345-13.726c6.256-2.533 12.517-3.562 17.803-3.42zm150.53 63.177c34.59 0 65.87 5.96 87.667 15.058 10.9 4.55 19.376 9.9 24.695 15.15 5.32 5.25 7.364 9.905 7.364 14.317 0 4.412-2.044 9.065-7.364 14.314-2.636 2.6-6.052 5.226-10.148 7.767-25.56-12.48-61.792-19.834-102.217-19.834-40.052 0-76.002 7.23-101.517 19.488l.51 1.062c-4.625-2.763-8.467-5.636-11.352-8.483-5.32-5.25-7.364-9.903-7.364-14.315 0-4.412 2.044-9.067 7.364-14.316 5.32-5.25 13.796-10.603 24.695-15.152 21.8-9.097 53.08-15.057 87.67-15.057zm-214.036 29.033c2.013.127 4.382.795 7.125 2.187 5.485 2.785 11.635 8.472 16.135 16.266 4.5 7.793 6.35 15.965 6.02 22.107-.332 6.143-2.426 9.537-5.075 11.067-2.65 1.53-6.636 1.645-12.12-1.14-5.486-2.783-11.638-8.47-16.138-16.265-4.5-7.793-6.35-15.965-6.02-22.107.33-6.142 2.426-9.537 5.076-11.066 1.324-.765 2.982-1.177 4.996-1.05zm214.033 36.427c30.225 0 57.92 4.61 78.973 11.82-21.053 7.217-48.747 11.766-78.97 11.766-30.23 0-57.934-4.552-78.99-11.773 21.056-7.213 48.762-11.813 78.987-11.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mantrap;

impl IconShape for Mantrap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M60.406 156.688L24 259.75 203.938 324c-.238-8.905 1.562-18.017 5.625-26.594 7.02-14.822 19.54-25.345 33.906-30.187l-24.44-53.908-19.124 54.125-33-72.718-19.094 54.093-33-72.72-19.968 56.532-34.438-75.938zm399.781 0l-34.468 75.937-19.97-56.53-33 72.718-19.094-54.094-33 72.718-19.125-54.125-31.936 70.468c-2.292-.53-4.602-.85-6.906-.936-.462-.018-.915-.03-1.375-.03-14.28-.007-28.097 8.283-34.875 22.592-9.33 19.695-1.36 42.64 17.5 51.656 18.86 9.017 41.483.758 50.812-18.937 1.127-2.38 1.99-4.805 2.625-7.25l199.22-71.125-36.408-103.063zM199.78 178.03v18.69h120.595v-18.69H199.78zm50.126 35.345v52.906h18.688v-52.905h-18.688zm10.25 90.563c9.678 0 17.53 7.824 17.53 17.5.002 9.675-7.854 17.53-17.53 17.53-9.676 0-17.53-7.853-17.53-17.53 0-9.678 7.852-17.5 17.53-17.5zM99.53 336.967c-50.15 13.628-82.56 33.83-82.56 56.22 0 41.017 106.544 74.343 237.718 74.343 131.173 0 237.687-33.327 237.687-74.342 0-22.313-32.124-42.595-81.97-56.22 17.232 8.878 27.533 19.275 27.533 30.47 0 32.127-82.313 58.53-183.25 58.53-100.938 0-182.657-26.403-182.657-58.53 0-11.257 10.095-21.56 27.5-30.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MapleLeaf;

impl IconShape for MapleLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.094 25.593c-37.263 98.702-18.844 171.333 29.812 231.78-55.864-32.94-102.02-39.746-176.562-29.5 36.104 103.52 114.96 147.68 199.53 147.72-11.347 26.98-13.91 56.395-4.374 88.938 36.643-23.08 58.91-47.936 68.906-78.468 35.98 50.032 94.496 84.814 134.625 96.844l14.595 4.687-2.344-15.187c-2.565-14.66-.2-24.85 5.845-35.063 6.046-10.21 15.88-20.01 28.03-30.937l21.032-18.688-28.03 2.344c-36.735 3.018-73.025-3.842-108.813-33.906 24.9-.342 49.864-6.29 84.843-16.157-18.744-22.37-40.422-35.795-64.468-42.594 51.884-67.147 81.588-166.79 52.936-233.063-82.263 37.32-123.16 89.803-138.75 152.406C280.17 141.16 244.118 77.825 175.094 25.592zm15.125 69.53c23.525 72.024 54.17 141.623 99.28 207.814C351.886 256.397 374.437 198.35 394.187 132c23.69 55.974-11.423 128.012-66.656 182.406 23.724 3.552 53.686 11.745 73.407 18.875-24.69 5.254-57.005 7.874-83.687 7.5 3.243 4.133 6.564 8.242 9.937 12.344l.563-.468c38.655 40.348 80.204 53.028 120.875 53.75-6.873 6.918-14.447 13.48-19.25 21.593-5.292 8.936-8.076 19.652-8.78 30.968-33.344-12.87-77.914-40.503-107.75-78.344l-.19.125c-9.727-12.486-18.972-24.776-27.718-36.938-5.692 29.708-28.95 66.377-48.406 88.625 9.978-28.618 19.846-65.56 23.376-98.72-69.03 10.948-128.245-7.166-162.562-64.28 55.824 29.773 106.504 51.892 161.906 36.594-42.415-66.643-67.75-132.218-69.03-210.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MarrowDrain;

impl IconShape for MarrowDrain {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M415.03 38.906c-2.794.005-5.565.53-8.25 1.594-4.075 1.648-7.143 3.84-10.56 8.375-27.334 36.324-67.68 83.128-131.533 124.53l-12.28 18.75 18.312 5.595 11.03 3.344-5.563 10.094-9.125 16.562c2.385-1.362 5.07-3.048 8.25-5.188 15.275-10.276 38.768-18.713 62.75-25.812 15.215-4.503 30.475-8.303 43.563-11.156 31.948-9.55 60.308-14.5 83.625-17.156 52.326-5.95 22.144-83.66-32.094-55.594 37.618-27.9 8.9-73.98-18.125-73.938zm-346.655 45c-28.726.37-49.683 57.57-3.844 75.688-58.636-12.918-67.653 68.684-16.374 61.03 23.778-3.55 53.397-6.117 87.938-4.843 31.402-.33 63.477 2.57 92.47 11.22 6.33 1.89 11.21 3.374 15.155 4.344l10.53-19.094-19.22-5.844-11.936-3.625 6.844-10.436 11.562-17.688c-71.992-23.103-122.678-57.6-158.156-85.344-4.465-3.167-7.813-4.838-12.156-5.25-.94-.11-1.886-.168-2.813-.156zM354.22 211.594c-3.612.99-7.226 2.022-10.845 3.094-23.17 6.858-46.06 15.626-57.625 23.406-12.47 8.39-21.75 12.78-31.72 13.22-9.967.436-18.434-2.714-30.81-6.408-19.873-5.93-41.98-8.95-64.532-9.97l13.843 64.22 13.25-42.5 14.845 66.72 7.313 106.312 9.312 50.718 7.875-51.156 3.25-82.188 10.78-61.656 23.47 91.438 19.094-22.125 8.5 64.81 10.155 40.97 8.875-34.594L316.78 288l23.44 53.875 14-130.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Martini;

impl IconShape for Martini {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M382.313 17.156L347 80.594H58.937l13.657 15.53 172.03 195.5v155.063l-118.343 35.438v13.22h255.376v-13.22l-118.344-35.438V291.595l172-195.47 13.657-15.53h-80.595l30.28-54.344-16.342-9.094zM100.25 99.28h236.344l-12.25 21.97c-5.352-2.042-11.14-3.188-17.188-3.188-17.4 0-32.74 9.283-41.344 23.126H137.125L100.25 99.28zm257.72 0h49.686l-36.875 41.907h-22.31c-2.3-3.7-5.08-7.073-8.25-10.03l17.75-31.876zm-50.814 37.47c16.652 0 29.938 13.33 29.938 30s-13.286 29.97-29.938 29.97-29.97-13.3-29.97-29.97c.002-1.01.062-2.017.158-3 2.26 3.716 6.303 6.22 10.97 6.22 7.112 0 12.905-5.79 12.905-12.907 0-7.118-5.794-12.875-12.908-12.875-.35 0-.688.035-1.03.062 5.276-4.67 12.213-7.5 19.874-7.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MaskedSpider;

impl IconShape for MaskedSpider {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.9 18.98c-23.8 0-48.4 22.04-66.8 53.04-18.3 30.98-29.6 69.88-29.6 96.08 0 32 16 60.4 40.7 77.6 14.4-17.3 34-28.4 55.7-28.4 21.7 0 41.2 11.1 55.6 28.4 24.7-17.2 40.8-45.6 40.8-77.6 0-26.2-11.4-65.1-29.7-96.08-18.3-31-42.9-53.04-66.7-53.04zm237.6 14.14L419.8 207.1 324 264.4c2.8 5.4 5.3 11.2 7.4 17.3L434.6 220l58.9-139zm-475.24 0V81l58.92 139 103.22 61.5c2.1-6.1 4.6-11.9 7.5-17.3L92 207.1c-24.59-58-49.15-116.01-73.74-173.97zM255.9 236c-16.9 0-32.6 9.3-44.6 25.9-12 16.5-19.8 40-19.8 66.2 0 15.4 2.7 29.8 7.3 42.4 3.1-5.4 9-9.1 15.8-9.1 10.1 0 18.2 8.1 18.2 18.1 0 10-8.1 18.1-18.2 18.1-.3 0-.6-.1-.9-.1 11.7 14.6 26.4 22.7 42.2 22.7 15.7 0 30.5-8.1 42.1-22.7-.3 0-.6.1-.9.1-10 0-18.2-8.1-18.2-18.1 0-10 8.2-18.1 18.2-18.1 6.8 0 12.7 3.7 15.8 9.1 4.7-12.6 7.4-27 7.4-42.4 0-26.2-7.8-49.7-19.8-66.2-12.1-16.6-27.7-25.9-44.6-25.9zm-237.65 1.6v23.9l64.5 51.2 90.05 12.5c.1-6.4.7-12.6 1.5-18.7l-83.93-11.6-72.11-57.3zm475.25 0l-72.1 57.3-84 11.7c.9 6.1 1.4 12.3 1.5 18.7l90.1-12.6 64.5-51.2zm-263.6 81.1c10 0 18.2 8.1 18.2 18.1 0 10-8.2 18.1-18.2 18.1-10.1 0-18.2-8.1-18.2-18.1 0-10 8.1-18.1 18.2-18.1zm52 0c10 0 18.2 8.1 18.2 18.1 0 10-8.2 18.1-18.2 18.1-10.1 0-18.2-8.1-18.2-18.1 0-10 8.1-18.1 18.2-18.1zm55.3 32.3c-1 6.3-2.4 12.3-4.1 18.2l88 19.2 72.4 58.3v-24l-64.2-51.6zm-162.6.1l-92.18 20-64.16 51.6v24l72.44-58.3 88-19.1c-1.8-5.9-3.2-12-4.1-18.2zm149.9 39.7c-3.2 5.9-6.4 11.2-9.9 15.9l67.8 36 27.5 51h21.3l-35-64.9zm-137.2.1l-71.7 37.9-35.01 64.9h21.21l27.5-51 68-35.9c-3.6-5.1-7.4-10.8-10-15.9zm20.3 27.5c-5.4 8.7-8.6 18.9-8.6 29.8 0 15 5.9 28.6 15.4 38.7v-2.5c0-20.9 8.1-39.2 20.2-49.2-9.9-3.5-19.1-9.3-27-16.8zm96.6 0c-8 7.5-17.1 13.3-27 16.8 12.1 10 20.1 28.3 20.1 49.2v2.5c9.6-10.1 15.4-23.7 15.4-38.7 0-10.9-3.1-21.1-8.5-29.8z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MasterOfArms;

impl IconShape for MasterOfArms {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M89.045 14.615c6.77 31.628 8.796 63.257.937 94.885H27.695v25.783c14.904-4.855 30.023-7.95 45.23-9.543.047 127.8 1.575 243.702 30.27 365.713 30.09-118.464 27.335-237.957 27.258-365.027 15.218 1.827 30.365 4.857 45.315 8.857V109.5h-62.12c-6.642-31.628-5.722-63.257.768-94.885h-25.37zm334.61.004c-28.694 122.01-30.224 237.912-30.272 365.712-15.206-1.59-30.325-4.687-45.23-9.543v25.782h62.288c7.86 31.628 5.837 63.257-.934 94.885h25.37c-6.49-31.628-7.41-63.257-.77-94.885h62.12V370.79c-14.95 4-30.094 7.027-45.312 8.855.077-127.07 2.833-246.562-27.258-365.026zM255.34 23.36c-25.084 3.247-47.137 32.07-47.137 68.892 0 20.31 7.048 38.302 17.48 50.816l10.202 12.24-15.66 2.928c-13.684 2.56-23.8 9.845-32.27 21.42-8.47 11.576-14.848 27.52-19.31 45.8-8.22 33.672-9.91 74.718-10.137 110.554h43.994l11.88 158.584h96.356l10.508-158.584h41.87c-.013-36.225-.356-77.82-7.803-111.752-4.04-18.408-10.17-34.354-18.762-45.822-8.592-11.47-19.2-18.7-34.482-21.057l-15.98-2.466L296.2 142.3c9.983-12.452 16.68-30.23 16.68-50.048 0-39.264-24.734-68.813-52.34-68.813-2.905 0-4.742-.137-5.196-.08h-.004zM97.006 124.44c4.69-.02 9.383.093 14.074.328v181.015H92.383v-181.28c1.54-.034 3.082-.055 4.623-.062zm315.838 75.847h18.695v181.018c-6.233.31-12.467.404-18.696.26V200.288z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MatchHead;

impl IconShape for MatchHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.594 18.375c40.733 49.672 27.644 86.682 5.344 122.688.783-42.897-37.23-58.073-83.282-44.032 71.457.144 63.504 53.747 47.25 101.095-8.392 16.15-14.28 33.228-14.28 52.094 0 30.375 13.866 52.983 36.78 67.155-9.875-13.69-13.797-31.204-9.344-51.97 10.182-47.473 52.14-72.297 70.688-112.124 9.593 17.684 24.242 30.335 38.53 30.376 19.437.056 30.155-22.576 25.126-50.812 41.403 59.58 28.32 151.878-11.687 193.875 65.79-30.04 89.29-136.86 44.842-216.783.594 13.805-1.266 27.485-6.187 40.72-10.366-39.618-30.658-94.73-90.78-120.626l-.19-.06c-15.86-5.534-33.44-9.5-52.81-11.595zM358.5 238.53c-23.074 0-41.625 18.543-41.625 41.72S335.425 322 358.5 322c23.074 0 41.594-18.573 41.594-41.75s-18.52-41.72-41.594-41.72zm-88.188 75.75L17.75 468.657v23.938h59.97l237.718-148c-16.89-5.172-32.555-15.733-45.125-30.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MatchTip;

impl IconShape for MatchTip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M310.867 16.785L258.89 101.47l-51.976-58.402 2.188 102.407 19.962-46.123L251.2 171.03l23.19-28.46 3.16 60.08 80.108-64.298-48.486 91.705 47.433 21.08-38.93 15.894 69.548 110.654-80.776-52.3 5.45 36.505-44.467-49.445-30.987 73.61-12.482-85.963-41.273 26.937 1.053-46.378-83.27 6.323 82.218-40.055-88.542-29.512 43.772-19.898-117.313 11.42 89.94 43.8-79.426 55.48 95.778 4.675-34.46 57.232 57.82-26.863L131 453.262l77.66-93.657 18.69 129.067 33.287-100.45 93.285 84.055-23.957-83.273 136.207 68.642-78.377-138.935 81.11 9.827-75.325-68.94 80.225-31.98-94.026-21.025 43.8-50.225-61.32 16.936 43.803-112.13-98.7 85.85 3.504-130.238zM18.854 18.537v42.535c38.127 46.536 115.7 118.404 184.445 166.92-2.49 15.173 4.22 33.952 18.917 48.65 21.02 21.02 50.402 25.723 65.623 10.503 15.222-15.223 10.518-44.604-10.504-65.625-13.795-13.795-31.19-20.562-45.82-19.284-49.03-67.528-121.705-143.93-172.71-183.7H18.855z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MaterialsScience;

impl IconShape for MaterialsScience {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.977 22.395c-16.8 0-32.49 7.65-45.864 20.177-13.372 12.53-24.82 29.98-34.363 51.117-2 4.428-3.91 9.03-5.736 13.777-5.035-.793-9.986-1.442-14.83-1.926-5.77-.575-11.4-.932-16.87-1.06-16.42-.39-31.427 1.275-44.58 5.262-17.536 5.317-32.006 15.083-40.406 29.63-8.4 14.55-9.62 31.964-5.457 49.81 4.165 17.845 13.552 36.484 27.087 55.318 2.84 3.95 5.874 7.912 9.076 11.873-3.198 3.957-6.228 7.913-9.064 11.86-13.536 18.833-22.923 37.472-27.087 55.318-4.164 17.846-2.943 35.26 5.457 49.807 8.4 14.55 22.87 24.315 40.406 29.63 17.537 5.318 38.373 6.507 61.45 4.202 4.838-.484 9.78-1.13 14.808-1.922 1.83 4.755 3.743 9.366 5.746 13.802 9.543 21.14 20.99 38.587 34.363 51.116 13.373 12.528 29.065 20.18 45.864 20.18 16.798 0 32.49-7.652 45.863-20.18 13.372-12.53 24.82-29.977 34.363-51.116 2.003-4.436 3.916-9.045 5.746-13.8 5.022.79 9.96 1.437 14.794 1.92 23.078 2.304 43.915 1.115 61.45-4.202 17.538-5.316 32.008-15.082 40.408-29.63 8.4-14.55 9.62-31.962 5.457-49.807-4.165-17.845-13.553-36.484-27.087-55.318-2.837-3.946-5.867-7.902-9.065-11.86 3.202-3.96 6.237-7.92 9.076-11.872 13.535-18.834 22.922-37.473 27.086-55.318 4.164-17.846 2.943-35.26-5.457-49.81-8.4-14.547-22.87-24.313-40.406-29.63-13.152-3.987-28.16-5.652-44.578-5.263-5.474.128-11.105.485-16.874 1.06-4.84.484-9.787 1.133-14.817 1.925-1.828-4.746-3.738-9.347-5.737-13.776-9.543-21.14-20.99-38.59-34.363-51.118-13.373-12.528-29.065-20.177-45.863-20.177zm0 18.687c11.205 0 22.192 4.923 33.086 15.13 10.893 10.205 21.297 25.653 30.107 45.167 1.404 3.11 2.765 6.334 4.086 9.643-21.417 4.762-44.1 12.068-67.285 21.83-23.18-9.76-45.86-17.064-67.273-21.826 1.322-3.31 2.68-6.536 4.086-9.648 8.81-19.515 19.214-34.963 30.108-45.17 10.894-10.205 21.88-15.128 33.087-15.128zm-123.59 82.057c1.804-.018 3.637-.006 5.498.036 4.96.11 10.117.43 15.443.963 3.406.34 6.887.775 10.424 1.288-6.586 20.927-11.6 44.222-14.742 69.18-20.048 15.2-37.718 31.194-52.55 47.363-2.212-2.805-4.33-5.6-6.327-8.378-12.495-17.386-20.67-34.12-24.063-48.658-3.392-14.538-2.16-26.513 3.442-36.217 5.602-9.704 15.36-16.757 29.644-21.088 9.375-2.843 20.6-4.375 33.23-4.49zm247.168 0c12.63.115 23.855 1.647 33.23 4.49 14.286 4.33 24.04 11.383 29.643 21.087 5.602 9.704 6.835 21.68 3.443 36.217-3.39 14.537-11.57 31.272-24.063 48.658-1.997 2.778-4.113 5.573-6.325 8.38-14.83-16.167-32.495-32.157-52.537-47.355-3.14-24.962-8.16-48.26-14.746-69.19 3.533-.513 7.01-.95 10.413-1.288 5.326-.533 10.483-.853 15.444-.964 1.86-.042 3.693-.054 5.498-.037zm-49.92 5.64c4.97 15.438 9.085 32.472 12.156 50.7-9.716-6.567-19.876-12.932-30.446-19.035-10.565-6.1-21.15-11.713-31.69-16.843 17.32-6.455 34.127-11.407 49.98-14.82zm-147.317.003c15.85 3.414 32.655 8.366 49.97 14.82-10.54 5.13-21.125 10.743-31.69 16.842-10.566 6.1-20.72 12.462-30.434 19.024 3.07-18.223 7.184-35.253 12.154-50.687zm73.653 24.46c15.207 6.708 30.643 14.504 46.03 23.388 15.393 8.888 29.87 18.36 43.285 28.18 1.796 16.527 2.762 33.798 2.762 51.57 0 17.762-.963 35.026-2.758 51.546-13.415 9.818-27.89 19.288-43.278 28.174-15.39 8.885-30.83 16.684-46.04 23.392-15.212-6.708-30.652-14.507-46.042-23.392-15.385-8.883-29.854-18.35-43.264-28.164-1.795-16.523-2.76-33.79-2.76-51.557 0-17.775.965-35.048 2.762-51.577 13.413-9.817 27.885-19.288 43.273-28.172 15.388-8.883 30.824-16.68 46.03-23.386zm1.264 28.116l-53.502 33.017 53.502 33.02 53.502-33.02-53.502-33.018zm-110.76 39.134c-.827 11.698-1.257 23.68-1.257 35.885 0 12.198.43 24.172 1.258 35.864-14.25-11.77-26.943-23.85-37.827-35.873 10.884-12.022 23.577-24.104 37.827-35.876zm219.005.01c14.243 11.77 26.933 23.847 37.813 35.867-10.88 12.02-23.57 24.097-37.813 35.864.826-11.688 1.256-23.66 1.256-35.855 0-12.204-.43-24.18-1.257-35.876zm-173.8 8.394v65.198l56.19 34.677v-65.195l-56.19-34.68zm131.058.034l-56.177 34.67v65.164l56.178-34.67v-65.164zm-226.28 41.84c14.834 16.17 32.502 32.16 52.548 47.36 3.14 24.955 8.156 48.248 14.74 69.175-3.53.51-7.006.947-10.406 1.287-21.304 2.127-39.887.84-54.172-3.49-14.286-4.33-24.04-11.386-29.643-21.09-5.602-9.705-6.835-21.68-3.443-36.217 3.392-14.537 11.568-31.272 24.063-48.658 1.993-2.775 4.107-5.566 6.314-8.367zm319.024.003c2.207 2.8 4.32 5.59 6.313 8.364 12.494 17.385 20.67 34.12 24.062 48.657 3.392 14.537 2.162 26.512-3.44 36.217-5.604 9.704-15.36 16.76-29.646 21.09-14.284 4.33-32.864 5.617-54.168 3.49-3.397-.34-6.868-.775-10.395-1.285 6.585-20.932 11.6-44.23 14.74-69.19 20.04-15.196 37.706-31.182 52.535-47.345zm-73.687 62.483c-3.07 18.226-7.184 35.26-12.154 50.697-15.854-3.413-32.663-8.368-49.984-14.822 10.542-5.132 21.13-10.746 31.7-16.848 10.567-6.1 20.724-12.464 30.44-19.027zm-171.635.01c9.71 6.56 19.862 12.92 30.424 19.017 10.57 6.102 21.16 11.716 31.7 16.848-17.316 6.453-34.12 11.407-49.973 14.82-4.97-15.434-9.08-32.464-12.15-50.685zm86.37.85l.68.42.677-.42h-1.356zm-.56 45.767c23.19 9.76 45.874 17.065 67.294 21.826-1.324 3.32-2.686 6.55-4.094 9.67-8.81 19.513-19.214 34.96-30.108 45.167-10.893 10.206-21.88 15.13-33.085 15.13-11.206 0-22.193-4.924-33.086-15.13-10.893-10.206-21.297-25.654-30.107-45.168-1.408-3.12-2.77-6.352-4.095-9.67 21.416-4.762 44.098-12.066 67.283-21.825z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Maze;

impl IconShape for Maze {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M212.125 20.156V59.72H39.53V188.56H69.846V293H39.623V483.03H204.687v-12.936H382v-45.5h95.281V264.53h-25.655V74.813H384.03V20.157H212.126zm18.688 18.688h134.53l-.03 35.968H297V153.938H378.28v46.625h18.69V135.25h-81.283V93.5h117.25v171.03H342V201.47H224.656v9.343l-.03 70.187v9.344h75.467v-18.688h-56.75v-51.5h79.97l-.002 126.78-185.937-.03V252.72h41.656v53.686h18.72V174.062h66.875v-18.687h-85.563v78.654h-60.375V293H88.53V188.562h57.44v-18.687H58.22v-91.47h153.905v30.94H111.437v18.686h119.375V38.845zM342 283.22h116.594v122.686H301.97v18.688h61.31v26.812H204.69v-48.812H110v18.687h76v43.064H58.312V311.72h60.376v53.874h9.343l114.782.03v65H261.5v-65H342v-31.529h66.75v33.844h18.688V315.406H342V283.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MazeCornea;

impl IconShape for MazeCornea {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.063 20.514c-60.516 0-121.033 23.085-167.204 69.256-38.092 38.09-60.454 85.947-67.12 135.51h47.252l-.002 18.69H33.486l-.002 37.335-13.62-.002c2.38 23.163 8.178 46.037 17.382 67.816l45.617-26.34 26.598 46.07-16.183 9.343-17.254-29.882-30.796 17.784C56.107 387 70.31 406.626 87.86 424.176c37.834 37.834 85.302 60.154 134.507 66.986l-.002-44.988h53.196v18.69h-34.507l.002 28.14c65.096 3.84 131.476-19.092 181.213-68.828 17.646-17.647 31.908-37.394 42.81-58.43l-26.174-15.113-17.254 29.883-16.183-9.344 26.597-46.068 40.97 23.654c8.037-19.108 13.455-39.053 16.247-59.295h-47.667V236.27h18.69v34.505h30.804c3.78-65.028-19.158-131.32-68.84-181.004-18.245-18.242-38.734-32.866-60.572-43.9l-15.62 27.054 29.882 17.254-9.344 16.183-46.068-26.596 24.072-41.694c-19.263-7.87-39.353-13.088-59.715-15.664l.002 47.81H231.71v-18.69h34.505l-.002-30.75c-3.715-.173-7.433-.262-11.15-.262zM180.647 53.39l9.344 16.184-29.883 17.254 12.546 21.73c25.148-13.818 53.054-20.736 80.963-20.736 43.077 0 86.156 16.46 119.077 49.38 6.106 6.107 11.644 12.566 16.617 19.306l43.207-24.95 26.6 46.07-16.184 9.343-17.254-29.882-26.118 15.08c37.227 64.406 28.278 148.047-26.867 203.19-4.195 4.197-8.558 8.122-13.062 11.783l7.803 13.51-29.885 17.254 18.67 32.33-16.186 9.346-26.473-45.85c-45.283 17.244-96.464 14.22-139.68-9.062l-15.195 26.312 29.882 17.254-9.343 16.184-46.07-26.598 24.78-42.918c-8.228-5.7-16.067-12.21-23.4-19.543C87.165 327.98 73.88 259.57 94.683 200.395l-46.91-27.082 9.347-16.185 32.33 18.667 17.255-29.883 13.38 7.73c4.404-5.71 9.22-11.205 14.456-16.44 6.993-6.992 14.446-13.234 22.257-18.74L134.58 79.985l46.068-26.597zm72.504 57.018c-37.152.095-74.26 14.304-102.572 42.615v.002h-.002c-56.824 56.827-56.825 149.187 0 206.012h.002v.002c56.825 56.824 149.19 56.824 206.014-.003 41.23-41.23 52.65-100.932 33.99-152.46l-8.295-22.9-5.946 14.663c-2.25 9.23-6.96 17.972-14.137 25.148-20.905 20.905-55.083 20.905-75.988 0-6.89-6.887-11.492-15.22-13.84-24.04-.027-.097-.055-.195-.08-.294-.16-.614-.31-1.23-.446-1.85l-.12-.548c-.118-.56-.23-1.12-.332-1.682-.047-.262-.087-.524-.13-.787-.086-.522-.17-1.044-.24-1.568-.03-.23-.055-.46-.083-.69-1.92-15.857 3.16-32.42 15.27-44.528 7.507-7.508 16.73-12.305 26.434-14.42 19.705-7.247 16.066-6.905-12.795-14.603-20.152-5.61-37.377-8.034-46.708-8.072zm.09 18.668c7.882-.013 15.756.77 23.533 2.213-1.27 1.106-2.548 2.198-3.767 3.417v.002c-20.038 20.04-25.754 49.133-17.162 74.347-.25-.004-.497-.02-.748-.02-26.44 0-47.87 21.434-47.87 47.873 0 26.44 21.43 47.87 47.87 47.87 26.44 0 47.87-21.43 47.87-47.87 0-.8-.02-1.595-.06-2.385 24.655 7.47 52.58 1.506 72-17.914 1.232-1.23 2.337-2.52 3.455-3.805 7.455 39.732-4.12 82.156-34.984 113.02h-.003c-49.69 49.69-129.894 49.69-179.582 0h-.002c-49.69-49.69-49.687-129.894 0-179.585l.002-.002c24.754-24.75 57.083-37.106 89.447-37.162zm70.97 21.32c-8.947 0-17.897 3.44-24.778 10.32-13.763 13.764-13.763 35.795 0 49.557 13.762 13.763 35.793 13.763 49.556 0 13.763-13.762 13.763-35.793 0-49.556-6.88-6.882-15.83-10.322-24.777-10.322z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MazeSaw;

impl IconShape for MazeSaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.256 21.322l-28.205 85.29c-22.57 13.108-41.614 30.854-56.2 51.63l-66.834-23.65 40.375 80.273c-6.504 24.305-7.92 50.25-3.372 76.29L18.166 321.63l85.09 28.14c13.108 22.692 30.9 41.838 51.748 56.492l-23.57 66.61 79.908-40.194c24.45 6.6 50.57 8.05 76.783 3.455l30.348 63.588 28.02-84.732c22.83-13.163 42.075-31.066 56.777-52.05l66.443 23.513-40.135-79.802c6.58-24.48 7.998-50.63 3.356-76.87l63.628-30.364-84.92-28.084c-13.162-22.71-31.02-41.86-51.937-56.494l23.59-66.664-80.166 40.322c-12.48-3.326-25.39-5.316-38.523-5.844-12.48-.5-25.16.323-37.86 2.56l-30.49-63.888zm61.78 79.842c1.972.004 3.938.044 5.898.12 17.16.675 33.88 4.133 49.593 10.034l-31.627 35.71 33.116 26.36-14.9 18.65c5.292 3.287 10.21 7.18 14.64 11.616l26.547-33.228-32.352-25.752 22.454-25.356c30.827 16.123 56.32 42.248 71.307 75.405l-47.745 2.898 4.777 42.056-23.547 2.633c1.45 6.208 2.123 12.43 2.104 18.567l42.124-4.71-4.668-41.085 33.918-2.06c.656 2.102 1.27 4.227 1.846 6.373 8.98 33.516 6.615 67.36-4.74 97.474l-35.925-31.81-26.36 33.112-18.475-14.76c-3.293 5.29-7.194 10.2-11.633 14.625l33.072 26.42 25.75-32.352 25.55 22.625c-16.174 30.833-42.366 56.303-75.59 71.247l-2.904-47.856-42.057 4.776-2.618-23.406c-6.213 1.435-12.437 2.09-18.574 2.055l4.7 42.035 41.087-4.666 2.062 33.982c-2.01.624-4.037 1.224-6.09 1.774-33.593 9-67.515 6.603-97.683-4.82l31.734-35.836-33.115-26.36 14.78-18.504c-5.28-3.307-10.177-7.224-14.59-11.677l-26.475 33.142 32.35 25.754-22.53 25.44c-30.75-16.183-56.15-42.34-71.06-75.5l47.576-2.888-4.778-42.057 23.6-2.638c-1.426-6.215-2.073-12.44-2.03-18.58l-42.253 4.726 4.668 41.088-33.7 2.048c-.623-2.008-1.22-4.03-1.77-6.078-8.983-33.523-6.614-67.374 4.748-97.494l35.625 31.548 26.36-33.113 18.683 14.927c3.304-5.283 7.218-10.184 11.668-14.602l-33.314-26.61-25.752 32.35-25.248-22.36c16.13-30.74 42.22-56.153 75.312-71.11l2.88 47.453 42.058-4.775 2.654 23.738c6.21-1.44 12.434-2.122 18.57-2.095l-4.732-42.324-41.088 4.667-2.04-33.62c2.098-.654 4.214-1.28 6.358-1.855 13.972-3.744 28.002-5.516 41.795-5.488zm7.796 94.92v27.672c16.05 3.987 28.07 18.578 28.07 35.803 0 17.224-12.02 31.815-28.07 35.8v29.863c2.81-.372 5.63-.91 8.443-1.664 34.82-9.332 55.364-44.915 46.034-79.736-7.052-26.314-29.1-44.465-54.478-47.74zm-18.687.31c-2.19.353-4.38.81-6.57 1.397-34.82 9.33-55.362 44.914-46.032 79.733 6.877 25.665 28.02 43.555 52.602 47.463v-29.908c-15.518-4.354-27.012-18.676-27.012-35.52 0-16.843 11.494-31.165 27.012-35.52v-27.645zm9.873 44.97c-10.16 0-18.196 8.035-18.196 18.195 0 10.158 8.036 18.194 18.196 18.194 10.16 0 18.195-8.036 18.195-18.195 0-10.16-8.036-18.197-18.195-18.197z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Meat;

impl IconShape for Meat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.156 98.063c-4.05-.11-8.044 1.117-11.656 4-1.542 1.23-3.1 2.884-4.47 4.75-22.9 31.22-48.278 57.33-75.186 81-8.76 14.692 10.695 44.406 25.594 44.406 34.144-12.928 69.617-22.516 106.75-26.314 42.628-4.358 17.688-68.134-26.25-45.47 30.3-22.666 7.094-61.79-14.782-62.374zM310.47 108.156c-6.167-.108-12.215 1.172-17.595 4.28-1.576.912-3.042 1.948-4.406 3.095-.038-.056-.09-.13-.126-.186-79.912 66.402-116.334 73.468-158.22 86.844-6.886 2.2-12.27 7.18-16.5 15.5s-6.892 19.843-7.343 33.125c-.9 26.563 6.935 59.927 23.72 89.03 16.72 28.99 43.37 53.946 67.656 67.126 12.143 6.59 23.682 10.167 32.375 10.436 8.694.27 13.915-1.95 17.782-7.375 30.986-43.45 89.343-69.052 156.157-92.25-.005-.006.003-.023 0-.03 2.012-.663 3.967-1.51 5.842-2.594 8.2-4.738 13.535-12.897 16.282-22.125 2.747-9.227 3.22-19.75 2.03-31.25-.953-9.233-3.033-19.127-6.155-29.374-5.916 1.366-11.628 3.157-17.908 5.47 2.835 9.25 4.69 17.978 5.5 25.81 1.007 9.74.403 18.06-1.375 24.033-1.777 5.972-4.412 9.338-7.718 11.25-3.308 1.91-7.543 2.505-13.595 1.06-6.052-1.443-13.55-5.07-21.47-10.81-15.838-11.482-33.334-31.223-47.624-56-14.29-24.78-22.61-49.838-24.624-69.314-1.006-9.738-.403-18.027 1.375-24 1.78-5.973 4.414-9.37 7.72-11.28 1.653-.957 3.52-1.58 5.75-1.782.557-.05 1.147-.067 1.75-.063 1.81.014 3.824.272 6.094.814 6.05 1.444 13.518 5.04 21.437 10.78 8.218 5.957 16.884 14.166 25.314 24.126 5.07-4.055 9.34-8.25 13.406-13.188-8.97-10.46-18.366-19.26-27.75-26.062-9.354-6.78-18.733-11.61-28.094-13.844-2.34-.558-4.674-.935-7.03-1.125-.885-.07-1.776-.108-2.657-.124zm7.967 34.188c-.438.024-.86.063-1.28.125-17.327 2.54-14.97 36.035 5.03 74.56 20 38.528 50.52 67.576 67.844 65.032 5.995-.88 9.263-5.687 10.658-12.875-1.67 2.187-3.847 3.484-6.72 3.907-15.316 2.248-42.316-23.093-60-57.156-17.682-34.064-19.254-63.91-3.937-66.157 3.638-.53 7.69.417 12.345 2.782-8.68-6.8-17.353-10.583-23.938-10.218zM102 325.124c-16.555 1.844-35.304 3.26-57.063 4.376-49.128 2.523-25.555 71.576 30.094 52.22-49.365 29.9 3.86 86.927 26.97 46.75 10.362-18.016 21.88-33.79 34.375-47.814-8.42-9.644-16.078-20.224-22.563-31.47-4.52-7.835-8.462-15.898-11.812-24.06z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeatCleaver;

impl IconShape for MeatCleaver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M312.813 24.313L88.5 282.938l65.563 95.718c90.372-68.07 182.097-177.937 254.843-295.844l-96.094-58.5zm9.125 30.03c2.658.03 4.815.813 6.562 2 3.494 2.376 6.438 7.41 6.438 16.376 0 17.928-14.45 41.012-29.657 48.124-7.603 3.555-12.692 2.844-16.186.47-3.494-2.377-6.47-7.412-6.47-16.376 0-17.93 14.48-41.014 29.688-48.126 3.803-1.777 6.967-2.5 9.625-2.468zm102.937 38.188c-73.88 119.784-166.747 231.365-260.25 301.564l42.53 62.125c93.965-68.158 219.3-202.6 281.564-324.845L424.874 92.53zM73.5 294.126c-17.832 17.12-35.684 32.712-53.563 46.844V461.56c27.78-33.634 57.404-75.49 87.75-117.53L73.5 294.124z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeatHook;

impl IconShape for MeatHook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.125 18.656v6.032l54.438 53.906h.03v.03c2.217 2.217 3.63 2.42 6.063 2.032 2.434-.39 5.708-2.133 8.28-4.75 2.575-2.617 4.295-5.977 4.69-8.5.393-2.522.15-3.913-1.876-5.937L47.97 18.655H19.124zM82.47 26.72l21.5 21.53c4.92 4.92 7.263 11.428 7.405 17.594 6.714.273 13.716 3.122 19.22 8.625l17.468 17.468c.34-6.957-1.773-13.648-7.25-19.126l-36.782-36.78c-6.475-6.477-13.824-9.254-21.218-9.313-.113-.002-.23-.002-.343 0zm-42.907 44.5c.058 7.362 2.678 14.552 8.718 20.593l36.782 36.78c5.65 5.652 12.415 7.837 19.376 7.5l-17.72-17.718c-5.363-5.364-8.03-12.332-8.28-18.97-6.285-.08-12.954-2.5-18-7.53l-.032-.03-20.843-20.626zm70.968 13.25c-.31.01-.615.026-.936.06-2.572.284-5.678 1.858-8.125 4.407-2.45 2.55-4.063 5.91-4.345 8.688-.282 2.778.198 4.917 2.813 7.53l76.187 76.19c2.197 2.196 3.592 2.374 6.063 1.968 2.47-.407 5.784-2.178 8.406-4.844 2.62-2.667 4.4-6.098 4.812-8.657.412-2.56.16-3.933-1.844-5.938l-76.187-76.188c-2.667-2.666-4.665-3.29-6.844-3.218zm73.907 43.843l22.344 22.343c4.72 4.72 7.05 10.902 7.345 16.844 6.355.545 12.876 3.377 18.063 8.563l17.468 17.468c.34-6.953-1.772-13.646-7.25-19.124l-36.78-36.78c-6.46-6.46-13.816-9.24-21.19-9.314zm-43.28 44.468c.06 7.362 2.678 14.555 8.718 20.595l36.75 36.78c5.658 5.66 12.433 7.843 19.406 7.5l-17.718-17.718v-.03c-5.076-5.085-7.768-11.573-8.25-17.876-6.042-.275-12.34-2.682-17.156-7.5l-21.75-21.75zm70.937 13.282c-.312.01-.616.028-.938.063-2.572.283-5.677 1.857-8.125 4.406-2.446 2.55-4.03 5.88-4.31 8.657-.284 2.778.166 4.918 2.78 7.532l76.188 76.186c2.196 2.197 3.59 2.407 6.062 2 2.47-.407 5.816-2.177 8.438-4.844 2.62-2.666 4.37-6.097 4.78-8.656.412-2.56.193-3.933-1.812-5.937l-76.187-76.19c-2.668-2.666-4.692-3.29-6.876-3.218zm71.03 29.97c-3.313.05-6.626.415-9.905 1.062l35.124 35.156c6.147 6.147 8.275 14.778 7.094 22.125-1.182 7.347-4.958 13.717-9.938 18.78-4.98 5.066-11.316 8.97-18.72 10.19-7.4 1.218-16.1-1.008-22.31-7.22l-35.845-35.844c-4.095 17.737.565 36.847 14.094 50.376 11.374 11.376 26.703 16.47 41.843 15.375l.062.22c.365-.11.75-.205 1.125-.313 4.49-.42 8.953-1.393 13.28-2.906 30.926-4.998 78.05-2.65 108.783 13.25 37.49 19.398 53.545 58.738 35.843 87.845-17.13 28.168-59.12 36.55-96.25 12.53l26.688-12.155-68.938-31.156 9.125 22.03 23.095 69.407 111.53-5.31 7.97-28.314 27.875-7.97 5.75-111.53-154.313-50.937c3.607-17.396-1.155-35.938-14.375-49.158-10.587-10.587-24.592-15.75-38.687-15.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MechanicalArm;

impl IconShape for MechanicalArm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M324.563 39.156c-1.138.025-2.285.144-3.438.407-9.223 2.097-15.004 11.275-12.906 20.5.006.032.022.06.03.093l-22.813 28.188-3.25 4 1.688 4.906 13.906 40.563-142.655 24.03c12.343 10.045 19.98 25.555 19.28 42.595-.146 3.584-.664 7.08-1.5 10.437l130.532-53.438-.125-.968c5.93 7.795 15.912 12.005 26.375 10.124 14.91-2.68 24.684-16.683 22.063-31.5-2.294-12.967-13.248-22.02-25.938-22.28-1.812-.04-3.636.1-5.5.436-3.173.57-6.11 1.66-8.75 3.156l-8.343-24.344 18.592-22.968c2.22.41 4.566.407 6.907-.125 9.223-2.1 15.003-11.277 12.905-20.5-1.835-8.07-9.098-13.487-17.063-13.314zm115 29.032c-1.277.04-2.56.218-3.844.562-4.19 1.123-7.587 3.714-9.814 7.063l-38.687-6.126-3.97-.624-3.188 2.437-38.656 29.688c6.234 2.39 11.882 6.11 16.53 10.874l30.314-23.28 37.656 5.968c3.954 5.975 11.386 9.05 18.688 7.094 9.138-2.45 14.542-11.83 12.094-20.97-1.99-7.422-8.55-12.396-15.844-12.686-.42-.017-.856-.014-1.28 0zm-39.188 57.906l-1.875.125-30.375 2.093c.874 2.415 1.57 4.92 2.03 7.53.66 3.716.842 7.42.595 11.032L397.938 145l28.03 9.5c.094.592.186 1.19.344 1.78 2.45 9.14 11.863 14.575 21 12.126 9.138-2.448 14.543-11.862 12.094-21-2.448-9.136-11.832-14.54-20.97-12.094-1.712.46-3.293 1.163-4.717 2.063l-31.564-10.688-1.78-.593zm-34.563 38.5c-2.905 5.672-6.976 10.723-11.937 14.78l42.594 23.564c-.117 1.813.065 3.678.56 5.53 2.45 9.14 11.832 14.574 20.97 12.126 9.138-2.45 14.542-11.862 12.094-21-2.448-9.136-11.833-14.542-20.97-12.094-.408.11-.793.238-1.187.375l-42.125-23.28zm-244.125 4.187c-15.272.178-28.172 10.388-32.156 24.532l63.626-4.125c-4.89-11.59-16.144-19.853-29.72-20.375-.584-.022-1.17-.037-1.75-.03zm33.626 39l-65.688 4.282c3.957 13.412 16.086 23.334 31 23.907 17.34.664 31.975-11.602 34.688-28.19zm8.53 26c-10.032 13.228-26.167 21.558-43.937 20.876-1.114-.043-2.217-.107-3.312-.22l53.47 84.19c8.282-19.396 26.015-33.782 47.155-37.532l-53.376-67.313zm63.813 85.064c-23.575.275-42.9 18.79-43.875 42.5-.28 6.824.998 13.33 3.5 19.187l71.907-49.217c-7.55-7.335-17.78-11.998-29.25-12.438-.768-.03-1.52-.04-2.28-.03zm41.844 28.03l-71.375 48.876c7.424 6.734 17.208 10.987 28.125 11.406 24.605.945 45.182-17.993 46.188-42.47.258-6.297-.803-12.316-2.938-17.81zm-86.406 60.188l-7.47 43.438H280l-9.03-41.563c-11.892 11.045-27.98 17.576-45.408 16.907-16.657-.64-31.6-7.736-42.468-18.78zm-38.53 62.125v24.75h169.374v-24.75H144.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Medal;

impl IconShape for Medal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M140.5 19.156V192.28l21.813 28.532h15.53V19.156H140.5zm56.03 0v201.656h122.064V19.156H196.53zm140.75 0v201.656h12.345l22.094-28.53V19.155h-34.44zM173.94 239.5v18.125H338.03V239.5H173.94zm30.78 36.813l8.032 10.53c-25.262 12.014-45.128 33.46-55.094 59.813l65.03 47.47 5.47 3.968-2.094 6.437-17.312 53.69 45.656-33.064 5.5-3.97 5.47 3.97 62.468 45.22c24.872-19.957 40.78-50.6 40.78-85.063 0-6.494-.573-12.854-1.655-19.032l-58.845 42.94-11-15.095L361.688 347c-10.683-28.55-32.932-51.392-61.125-62.78l6.125-7.908h-38.813l-25.5 78-17.75-5.812 23.594-72.188h-43.5zm-52.374 89.625c-1.123 6.286-1.72 12.76-1.72 19.375 0 32.163 13.84 61.008 35.907 80.937l19.69-61.03-53.876-39.283zm107.562 78.343l-51.53 37.314c15.266 8.124 32.707 12.72 51.25 12.72 18.673-.002 36.218-4.676 51.562-12.908l-51.282-37.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MedalSkull;

impl IconShape for MedalSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.563 20.844c-43.486.112-87.294 4.423-131.563 13.843v53.97c93.527-27.524 193.554-20.19 277.844.75V34.968c-45.613-8.42-91.43-13.623-137.594-14.095-2.896-.03-5.788-.04-8.688-.03zm-3.657 68.5c-12.22.072-24.497.58-36.75 1.562V289.47c14.508-5.86 30.758-9.126 47.78-9.126 16.62 0 32.512 3.09 46.75 8.687l.002-196.936c-17.3-1.715-34.878-2.678-52.563-2.75-1.744-.007-3.473-.01-5.22 0zm-55.437 3.47c-14.55 1.76-29.064 4.18-43.407 7.436v180.72l33.156 25.467c3.22-2.642 6.652-5.084 10.25-7.375V92.813zm131.905 1.436v204.156c3.657 2.274 7.125 4.74 10.406 7.375l31.033-24.75V101.126c-13.522-2.72-27.365-5.028-41.438-6.875zm-65.438 204.78c-50.672 0-89.812 32.778-89.812 70.75 0 24.138 15.838 46.124 40.375 58.97l-17.406 60.156 17.937 5.188 12.47-43.03 24.53-.002v44.813h18.69v-44.813h25.06l12.47 43.032 17.938-5.188-16.813-58.156c26.797-12.478 44.344-35.544 44.344-60.97 0-37.972-39.11-70.75-89.783-70.75zm-55.343 41.033l44 48.406-52.063-6.94 8.064-41.467zm109.72 0l8.06 41.468-52.062 6.94 44-48.408zm-55.69 61.687l15.064 29.47h-30.125l15.062-29.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Meditation;

impl IconShape for Meditation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.375 19.375c-11.768 0-22.676 6.137-31.156 17.22-7.267 9.494-12.397 22.54-13.72 37.25 11.14-4.926 22.473-7.91 33.813-9V83.25c-10.965 1.377-22.008 5.008-33.157 11.03 1.968 12.487 6.703 23.502 13.063 31.814 8.48 11.082 19.387 17.22 31.155 17.22s22.707-6.138 31.188-17.22c6.167-8.06 10.783-18.667 12.843-30.688-12.07-6.832-24.194-10.997-36.406-12.344V64.75c12.676 1.087 25.22 4.516 37.344 10.188-1.155-15.158-6.336-28.614-13.78-38.344-8.482-11.082-19.42-17.22-31.19-17.22zm-46.594 117.25c-10.442 4.8-18.39 11.182-22.593 18.47l-.375-.095-41.625 64.438-50.656-21.97c-29.375-16.118-61.574 24-30.624 41.688l94.47 44.063 38.03-50.064c18.7 33.703 16.77 67.43-10.97 101.156-8.344-.642-16.37-.958-23.967-.906-40.312.278-68.942 10.254-73.907 28.78l.03.002c-4.44 16.58 10.992 36.67 39.126 55.28 55.675 29.297 95.38 38.468 156.968 42.344h1.562l.438.125c.424.026.823.07 1.25.094l-.032.314 92.063 28.72-22.19-53.72L183.595 375.5l5.875-17.72 71.81 23.845 71.845-23.844L339 375.5l-48.094 15.97 94.438 31.374c33.494-20.046 52.528-42.468 47.656-60.656-5.95-22.21-45.925-32.107-99.25-27.782-26.392-33.215-26.196-66.41-9.53-99.625L361 283.22l94.47-44.064c30.95-17.687-1.25-57.806-30.626-41.687l-50.688 21.968L332.562 155h-.062c-4.217-7.246-12.135-13.596-22.53-18.375-.2.27-.392.547-.595.813-11.268 14.725-27.633 24.562-46 24.562s-34.732-9.837-46-24.563c-.203-.265-.394-.543-.594-.812zm-63.686 311l-16.72 40.5 69.876-21.78c-17.624-4.574-34.93-10.634-53.156-18.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Megabot;

impl IconShape for Megabot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.732 22.063L256 62.508l24.268-40.446L256 34.313zm-10.783 17.01a108.982 108.982 0 0 0-7.02 7.67c-10.614 12.81-18.59 44.316-21.583 56.257h23.61c1.65-8.502 5.383-33.391 10.327-41.63a76.828 76.828 0 0 1 4.235-6.349zm70.102 0l-9.569 15.948a76.828 76.828 0 0 1 4.235 6.348c4.944 8.24 8.676 33.129 10.328 41.631h23.61c-2.993-11.94-10.97-43.447-21.585-56.258a108.982 108.982 0 0 0-7.02-7.67zM153.412 74.755l-40.096 9.254-21.486 29.752 6.522 23.474L151 124.7V103h9.475zm205.176 0L351.525 103H361v21.7l52.648 12.536 6.522-23.474-21.486-29.752zM240 80a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm32 0a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm-103 41v20.875L181.563 167h42.019c5.75-7.427 13.98-12.846 23.418-14.984v-20.287L236.271 121zm106.729 0L265 131.729v20.287c9.437 2.138 17.667 7.557 23.418 14.984h42.02L343 141.875V121zM151 144.664l-21.066 3.555-6.647 33.234a43.003 43.003 0 0 1 20.467 9.465l16.168-26.95zm210 0l-8.922 19.305 16.168 26.949a43.003 43.003 0 0 1 20.467-9.465l-6.647-33.234zM256 169c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-55 16v14h14.615a40.734 40.734 0 0 1-.615-7c0-2.386.218-4.722.615-7zm95.385 0c.397 2.278.615 4.614.615 7s-.218 4.722-.615 7H311v-14zm-180.457 13.88c-13.245.104-27.387 10.127-33.78 27.216-2.873 7.68-3.621 15.307-2.681 22.177 3.907-1.326 7.72-1.573 11.105-1.45 8.12.294 14.768 2.896 14.768 2.896s6.724 2.4 13.043 7.508c3.008 2.43 6.121 5.59 8.267 9.955 5.665-4.63 10.506-11.182 13.567-19.364 7.868-21.032-.145-41.693-15.37-47.388-2.854-1.068-5.863-1.573-8.92-1.55zm280.144 0c-3.056-.023-6.065.48-8.92 1.548-15.224 5.695-23.237 26.358-15.369 47.39 3.061 8.182 7.902 14.735 13.567 19.364 2.146-4.366 5.26-7.524 8.267-9.955 6.319-5.107 13.043-7.508 13.043-7.508s6.649-2.602 14.768-2.897c3.386-.122 7.199.125 11.107 1.451.94-6.87.192-14.499-2.681-22.18-6.394-17.088-20.537-27.11-33.782-27.212zM201 217v1.438l21.223 10.61 6.511-6.51a41.582 41.582 0 0 1-5.152-5.538zm87.418 0a41.582 41.582 0 0 1-5.152 5.537l6.511 6.512L311 218.437V217zm-44.69 16l-17.95 17.951-28.52-14.26-9.873 29.91L233 281.898v18.374L243.729 311h24.542L279 300.271v-18.374l45.584-15.295-9.416-30.122-28.945 14.471L268.27 233zM61.34 247.445c-1.4.108-2.595.366-3.336.703-1.076.49-1.442.674-2.055 2.313-6.14 16.414-3.47 34.046-.72 44.732a100.42 100.42 0 0 0 5.421-4.025c-.06-8.656 1.072-18.097 4.329-27.606-1.955-5.047-3.188-10.484-3.64-16.117zm389.32 0c-.45 5.633-1.684 11.07-3.639 16.118 3.257 9.508 4.39 18.95 4.329 27.605a100.54 100.54 0 0 0 5.421 4.025c2.75-10.686 5.42-28.318-.72-44.732-.613-1.64-.98-1.823-2.055-2.313-.74-.337-1.936-.595-3.336-.703zM89.92 264.811c-2.26-.082-4.258.265-5.334.755-1.076.49-1.442.674-2.055 2.313-6.14 16.414-3.47 34.045-.72 44.732 9.088-6.258 22.677-17.806 28.818-34.22.613-1.64.459-2.018-.031-3.094s-1.772-2.648-3.532-4.07c-3.518-2.845-8.033-4.649-8.033-4.649s-4.591-1.604-9.113-1.767zm332.16 0c-4.522.163-9.113 1.767-9.113 1.767s-4.514 1.804-8.033 4.649c-1.76 1.422-3.042 2.994-3.532 4.07-.49 1.076-.644 1.455-.03 3.094 6.14 16.414 19.73 27.962 28.818 34.22 2.749-10.687 5.42-28.318-.721-44.732-.613-1.64-.98-1.823-2.055-2.313-1.076-.49-3.073-.837-5.334-.755zm-280.867 13.431c-4.628 4.392-9.834 7.931-15.37 10.455-3.713 8.427-8.69 15.616-13.993 21.627a100.44 100.44 0 0 0 1.449 6.594c9.088-6.259 22.678-17.807 28.818-34.22.613-1.64.457-2.019-.033-3.094-.18-.394-.495-.867-.871-1.362zm229.576 0c-.376.496-.694.968-.873 1.362-.49 1.075-.646 1.454-.033 3.093 6.14 16.414 19.73 27.962 28.818 34.221a100.44 100.44 0 0 0 1.45-6.594c-5.305-6.012-10.283-13.2-13.997-21.629-5.534-2.524-10.738-6.062-15.365-10.453zm-51.785 7.014L297 299.129v8.6l-8.715 8.714 12.848 25.696 10.06-10.06c1.057-10.982 6.498-20.736 14.54-27.481zm-126.52 0l-6.216 19.342c8.04 6.745 13.482 16.5 14.539 27.48l10.06 10.06 12.848-25.695L215 307.73v-8.6c-7.25-4.82 0 .273-22.516-13.873zM160 313c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm192 0c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm-155.041 40.688c-3.93 8.143-10.484 14.806-18.537 18.894l6.308 25.234-17.46 4.368-6.303-25.207c-.323.008-.643.023-.967.023-8.03 0-15.536-2.354-21.88-6.39l-1.12 1.119v25.324L156.03 433l46.407-10L215 397.875v-26.146zm118.082 0L297 371.728v26.147L309.563 423l46.408 10L375 397.053v-25.324l-1.12-1.12C367.537 374.646 360.03 377 352 377c-.324 0-.644-.016-.967-.023l-6.303 25.207-17.46-4.368 6.308-25.234c-8.053-4.088-14.607-10.75-18.537-18.894zM176 441c-12.82 0-26.656 6.6-37.19 16.936 4.2 1.769 8.076 4.255 11.518 7.21C157.383 459.082 166.28 455 176 455c11 0 20.95 5.223 28.363 12.637 5.328 5.327 9.512 11.968 11.451 19.363h14.31c-4.391-23.86-25.658-46-54.124-46zm160 0c-28.466 0-49.733 22.14-54.123 46h14.309c1.94-7.395 6.123-14.036 11.45-19.363C315.052 460.223 325 455 336 455c9.72 0 18.617 4.082 25.672 10.146 3.442-2.955 7.318-5.441 11.517-7.21C362.656 447.6 348.821 441 336 441zm-211.336 32c-5 0-11.05 2.777-15.637 7.363-1.997 1.998-3.571 4.292-4.802 6.637h31.96a39.015 39.015 0 0 1 2.95-7.729c-4.414-3.928-9.883-6.271-14.47-6.271zM176 473c-5 0-11.05 2.777-15.637 7.363-1.997 1.998-3.571 4.292-4.802 6.637h40.878c-1.23-2.345-2.805-4.64-4.802-6.637C187.05 475.777 181 473 176 473zm160 0c-5 0-11.05 2.777-15.637 7.363-1.997 1.998-3.571 4.292-4.802 6.637h40.878c-1.23-2.345-2.805-4.64-4.802-6.637C347.05 475.777 341 473 336 473zm51.336 0c-5 0-9.051.777-13.637 5.363-1.997 1.998.629 3.56 1.197 8.637h32.88c-1.232-2.345-2.806-4.64-4.803-6.637-4.586-4.586-10.637-7.363-15.637-7.363z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeshBall;

impl IconShape for MeshBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.3 19.39c-9.4.1-18.9.8-28.3 2 16.5 3.4 33.2 9.1 49.6 17.1 11.6 5.7 23 12.4 34.2 20.2 6.3-.5 12.5-.8 18.6-.9 7.2-.1 14.2 0 21.2.5 18.1 1.3 35.4 4.6 51.4 10-40.1-30.7-88.9-47.7-138.9-48.8-2.7-.1-5-.1-7.8-.1zm-58.5 17.4h-4.6c-6.1.2-12.2.8-18.1 1.9 14.4 7.3 29.9 19.4 46.3 35.3l4.6 4.6c19.1-7.2 38.3-12.6 57.1-16-4.6-2.7-9.1-5.1-13.7-7.3-24.4-11.9-48.7-18.2-71.6-18.5zm-57.9 14.9c-4.2 3-7.6 9.8-8.4 22.4-.9 13 1.2 31.11 6.4 52.21 10.6-7.7 21.8-15 33.6-21.8 11.8-6.81 23.7-12.91 35.6-18.21-15.7-15.1-30.2-25.9-41.9-31.7-6.1-3-11.1-4.4-15.1-4.9-3.6-.44-7.4.41-10.2 2zm-27.2 23c-19.08 22.6-30.22 53.71-32.73 90.01-.35 5-.53 10.2-.53 15.5 12.4-14.6 26.56-28.5 42.46-41.5-.6-2.1-1.2-4.2-1.7-6.3-5.6-22.1-8.3-41.61-7.5-57.71zm222.1 1.7c15 12.9 29.4 27.61 42.7 44.01 2.8-.8 5.6-1.6 8.4-2.3 20.8-5.4 39.5-8.3 55.4-7.4h.1c-22.6-19.71-54.2-31.21-91.1-33.71-5.1-.4-10.2-.6-15.5-.6zm-28.1 1.6c-21.6 2.4-44.1 7.5-66.7 15.4 16 17.71 32.5 38.61 48.8 61.91 24-11.5 47.5-21.3 69.5-28.8-16.1-18.9-33.6-35.21-51.6-48.51zm-85.5 22.71c-13.5 5.6-27 12.3-40.4 20-13.3 7.7-25.8 16-37.5 24.9 7.1 23.3 17.2 49.5 30.1 77.1 22.7-15.8 46.7-30.7 71-44.2 9.1-5.1 18.3-10 27.5-14.7-17.1-24.3-34.4-45.7-50.7-63.1zM68.35 111.9c-38.15 49.7-55.05 112.9-46.88 175 3.31-16.5 9.05-33.2 17.03-49.5 5.66-11.6 12.45-23.1 20.25-34.3-1.14-13.6-1.3-26.9-.4-39.8 1.25-18.1 4.6-35.4 10-51.4zm363.95 17.3c-12.2.1-27.5 2.5-44.7 7-.3.1-.6.2-.8.2 7.3 10.2 14.2 20.9 20.7 32.1 6.8 11.8 12.8 23.7 18.1 35.7 15.1-15.7 26-30.3 31.8-42 5.7-11.8 5.9-19.4 3.6-24-3.8-4.8-11.2-8.2-23.7-8.9-1.6 0-3.3-.1-5-.1zm-64.6 12.9c-22 7.1-46.3 17-71.2 28.9 9.5 14.4 18.9 29.5 28.1 45.4 9.8 16.9 18.7 33.8 26.8 50.2 23-16.3 43.2-32.8 59.9-48.4-5.6-13.5-12.3-27-20-40.4-7.3-12.6-15.2-24.5-23.6-35.7zm-243 16.2c-18.2 15.6-33.85 32.5-46.7 50 2.65 24 8.68 49 18.16 74.2 3-2.9 6.04-5.8 9.24-8.6 15.1-13.7 31.7-27.2 49.5-40.2-12.5-26.6-22.7-52.1-30.2-75.4zm348.6 13.8c-7.4 14.4-19.5 29.9-35.4 46.3-1.5 1.5-3 3-4.5 4.6 7.2 19.1 12.5 38.3 16 57.1 2.6-4.6 5-9.1 7.3-13.7 15.9-32.6 21.9-65.2 16.6-94.3zm-193.7 7.2c-9.7 4.9-19.5 10.1-29.1 15.5-24.7 13.7-49.1 29-71.9 45 7.6 15.2 15.9 30.8 24.9 46.5 10.1 17.4 20.6 34 31.1 49.6 16.8-8.2 34-17.3 51.4-27.4l.2-.1c17.5-10.1 34.1-20.5 49.7-31-8.2-16.9-17.4-34.2-27.5-51.7-9.4-16.2-19.1-31.8-28.8-46.4zm210.9 45.8c-3.3 16.5-9 33.2-17 49.5-5.7 11.6-12.5 23-20.3 34.2 1.2 13.6 1.3 27 .4 39.8-1.2 18.2-4.6 35.5-10 51.5 38.2-49.7 55.1-112.9 46.9-175zm-427.9 6.8c-2.63 4.5-5.08 9.1-7.32 13.7-18.29 37.5-23.4 74.8-13.5 107 8.44-18.5 22.34-37.1 39.94-55.7-8.8-21.8-15.18-43.6-19.12-65zm355.9 5.1c-16.9 15.3-36.7 31.1-58.9 46.8 11.4 24.6 20.7 48.2 27.7 69.9 18.1-15.6 33.8-32.5 46.7-50-2.4-21.6-7.6-44.1-15.5-66.7zm-255.3 13.8c-16.3 12.1-31.6 24.5-45.3 36.9-4.9 4.5-9.6 9-14.1 13.5 5 11 10.6 22 16.9 32.9 7.6 13.4 16 25.9 24.9 37.6 21.9-6.7 46.2-16 71.9-27.8-10.2-15.2-20.3-31.4-30.1-48.3-8.7-15.1-16.8-30.1-24.2-44.8zM344 294.5c-15.3 10.2-31.5 20.3-48.4 30.1-17 9.8-33.8 18.7-50.2 26.8 16.3 23 32.7 43.3 48.3 59.9 13.6-5.6 27.1-12.3 40.4-20 13.3-7.7 25.9-16 37.6-25-6.7-21.8-16-46.1-27.7-71.8zM90 315.8c-19.39 21.9-32.45 43-36.72 60.9 3.49 3.3 9.91 6.1 20.78 6.8 13.06.9 31.04-1.3 52.24-6.5-7.7-10.6-15.1-21.8-21.9-33.5-5.2-9.2-10.03-18.4-14.4-27.7zm345.5 16c-12.4 14.5-26.6 28.5-42.4 41.5.6 2.1 1.1 4.2 1.6 6.3 5.6 22.1 8.3 41.6 7.5 57.7 19.1-22.5 30.3-53.7 32.8-90 .4-5 .5-10.2.5-15.5zm-207.3 27.8c-24.6 11.4-48.2 20.7-69.9 27.7 15.6 18.1 32.5 33.8 50 46.7 21.6-2.4 44-7.5 66.7-15.4-15.4-16.9-31.2-36.8-46.8-59zM377 385.7c-10.6 7.7-21.8 15-33.5 21.8-11.8 6.8-23.7 12.8-35.7 18.2 15.7 15 30.2 25.9 42 31.7 11.3 5.5 18.9 6 23.6 3.9.6-.3 1.2-.7 1.7-1 4.1-3 7.5-9.8 8.4-22.4.9-13-1.3-31.1-6.5-52.2zm-238.3 7.4c-2.1.6-4.2 1.1-6.3 1.7-22.1 5.5-41.58 8.2-57.74 7.4 22.58 19.2 53.74 30.3 89.94 32.8 5.1.4 10.3.5 15.6.5-14.6-12.4-28.5-26.6-41.5-42.4zM289 433.3c-19.2 7.3-38.3 12.6-57.1 16.1 4.5 2.6 9.1 5.1 13.7 7.3 32.6 15.9 65.2 21.9 94.3 16.6-14.4-7.4-29.9-19.4-46.3-35.4-1.5-1.4-3.1-3-4.6-4.6zm-177.1 10.4c49.7 38.1 112.9 55.1 175 46.9-16.5-3.3-33.2-9.1-49.5-17.1-11.6-5.7-23.1-12.4-34.3-20.2-13.6 1.1-26.9 1.2-39.8.4-18.1-1.3-35.4-4.7-51.4-10z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalBar;

impl IconShape for MetalBar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M322.248 85.684L61.432 224.717l-41.145 109.94 7.233 3.85 153.673 81.8 308.495-164.215-37.752-99.903-129.688-70.506zm119.035 95.187l25.11 66.45-102.56 54.594L430.39 186.64l10.893-5.77zm-89.576 47.417L284.957 343.9l-41.67 22.182 72.195-118.62 36.225-19.175zM72.38 248.78l28.21 14.933-54.012 54.012L72.38 248.78zm210.827 15.767L211.19 382.87l.26.16-17.208 9.16 5.795-83.618 83.17-44.025zm-165.334 8.312l16.963 8.98-60.445 60.445-16.93-9.012 60.413-60.414zM181.42 306.9l-6.174 89.07-54.1-28.798 60.274-60.272z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalDisc;

impl IconShape for MetalDisc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.53 17.594c-25.88 0-50.532 7.233-72.874 20.375L440.75 249.155c.064 2.51.125 5.03.125 7.563 0 48.374-11.77 92.984-31.375 128.905L126.656 130.5c18.283-38.372 48.536-73.165 79.97-92.53l-4.75-3.907h-23c-26.634 21.17-51.19 50.724-67.657 85.374l2.968.032 12.343 11.124c-4.922 10.525-9.25 21.577-12.905 33.125l277.438 250.25c-7.94 10.24-16.614 19.337-25.875 27.155L103.78 205.345c2.375-14.753 6.394-29.394 9.782-41.72L109 159.5H95.406c-3.734 12.13-6.807 24.154-9.125 37.094h7.69l9.78 8.844c-1.135 7.016-2.067 14.14-2.72 21.375l249.626 225.156c-10.244 6.75-21.046 12.017-32.312 15.655l-218.156-196.75c3.004 59.868 22.88 113.578 53.062 152.97 32.824 42.835 77.36 68.624 126.28 68.624 6.896 0 13.707-.53 20.408-1.533.166-.022.333-.04.5-.062.335-.05.665-.102 1-.156 41.91-6.194 79.226-31.575 106.812-68.533 31.904-42.742 51.312-101.145 51.313-165.468 0-17.144-1.398-33.854-4.032-49.97-.132-.816-.265-1.625-.405-2.438-7.573-45.756-25.125-86.527-49.313-118.093-32.823-42.838-77.36-68.626-126.28-68.626zm-76.092.812c-17.844 1.912-34.983 7.274-51.032 15.625h26.72c7.77-5.878 15.89-11.115 24.31-15.624zm-132.72 101c-6.665 12.61-12.44 26.114-17.187 40.375h41.72c4.374-14.114 9.698-27.613 15.875-40.374H70.72zm-26.78 77.03c-1.885 9.768-3.286 19.787-4.22 30h42.594c.874-10.188 2.2-20.2 3.97-30H43.937zm38.5 30.19c-1.088 11.86-1.082 21.727-1.344 32.343H38.438c.8 64.638 21.266 122.89 53.437 164.874 29.497 38.495 68.465 63.195 111.563 67.812-24.67-13.206-46.746-32.573-65.032-56.437-34.936-45.595-56.473-107.688-57.28-176.19h5.624l13.313 11.69c-1.658-13.463-.116-30.614 1.093-43.5l-.656-.595H82.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalHand;

impl IconShape for MetalHand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M283.688 18.813c-38.33 25.823-51.42 66.972-57.282 113.437l57.938 2.97c-2.787-42.22-3.627-85.758-.656-116.407zm-98.313 4.375c-35.286 31.43-43.448 76.698-44.75 126.53l54.813-6.187c-6.11-43.135-10.502-88.38-10.063-120.343zm200.594 24.25c-28.798 31.16-56.436 70.27-67.658 113.5l59.438 13.187c1.11-42.06 3.945-91.463 8.22-126.688zM90.155 65.06c-30.32 35.04-33.082 79.895-28.312 128.375L114.812 180c-11.28-41.052-21.046-83.966-24.656-114.938zM229.97 151.19c-5.35 38.24-6.93 79.505-4.5 116.593l43.905-4.31c3.854-.38 7.62-.625 11.28-.72-2.135-38.26-4.094-73.888-4.624-109.22l-46.06-2.343zm-38.095 11.53l-44.594 5.063c-.775 37.416 1.78 75.885 6.782 107.032l48.625-4.78-10.812-107.313zm130.688 18.313c-7.007 27.123-12.36 56.088-15.782 83.72 17.464 3.32 31.8 10.584 42.876 20.97 2.85 2.67 5.467 5.517 7.875 8.53L367.44 191l-44.875-9.97zM112.78 199.813l-40.81 10.313c3.534 26.614 9.47 53.31 16.405 76.563 5.11-3.96 11.43-6.54 18.344-7.22l25.405-2.5-19.344-77.156zM490.94 262.72c-10.24 26.004-30.77 42.114-61.532 63.092l32.75 47c31.33-30.658 40.613-67.443 28.78-110.093zm-208.47 18.655c-3.582.068-7.336.302-11.25.688l-162.656 16c-4.92.484-7.92 2.12-10.718 5.218-2.797 3.1-5.212 8.038-6.78 14.75-3.14 13.427-2.588 33.404 1.06 55.19 6.962 41.56 24.88 89.976 42.314 118.686h30.5L138.375 330.25l18.438-3.03 27.062 164.686h32.438l-10.032-169.78L224.938 321l10.125 170.906h31.563l9.344-172.156 18.686 1.03-9.28 171.126h39.843c23.722-35.09 40.288-91.7 35.686-136.594-2.382-23.244-10.14-42.914-24.03-55.937-12.155-11.395-29.33-18.476-54.407-18zm135.626 60.844c-12.445 5.68-25.504 10.022-38.5 12.655 1.982 21.14.153 43.672-4.625 65.594 25.43-8.55 49.294-22.796 68.717-41.47l-25.593-36.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MetalScales;

impl IconShape for MetalScales {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M38.676 18.352V122.57l129.047 129.045V18.352H79.727l.002 99.343H61.04V18.352H38.675zm147.734 0v244.793h141.496V18.352H186.41zm160.184 0v230.945L473.322 122.57V18.352h-19.818l.002 99.343h-18.69l-.002-99.343h-88.22zm83.152 174.224l-18.46 18.46.003 80.677H392.6l-.002-61.992-52.114 52.114h-13.632v122.47L429.746 301.41V192.576zm-347.492.002v108.834l104.408 104.406V281.834h-15.15l-51.627-51.625.002 61.503H101.2l-.003-80.192-18.943-18.942zm124.123 35.125h101.207v18.69H206.377v-18.69zm-1.027 54.13V413.91h102.816V281.834H205.35zm-83.55 85.558v126.346h80.026v-61.138H187.01l-28.08-28.08.002 65.443h-18.69l-.002-84.132-18.44-18.437zm268.343.055l-17.15 17.15v85.366h-18.688l-.002-66.677-29.315 29.315h-13.3v61.138h78.455v-126.29zm-164.106 9.52h64.953v18.687h-64.953v-18.687zm-5.52 55.633v61.138H293v-61.138h-72.484z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MeteorImpact;

impl IconShape for MeteorImpact {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M63.813 18.156L166.72 231.75l.436-.22c19.154 38.026 58.547 64.19 103.938 64.19 64.132 0 116.344-52.204 116.344-116.345 0-13.892-2.45-27.23-6.938-39.594l.25-.093-1.875-4.125c-1.206-2.955-2.532-5.827-3.97-8.656-.072-.145-.143-.292-.217-.437L325.156 18.155h-20.53l28.812 63.032c-9.563-6.095-20.072-10.8-31.25-13.907l-22.47-49.124h-20.5l20.657 45.22c-2.9-.22-5.828-.345-8.78-.345-6.296 0-12.474.502-18.5 1.47l-21.22-46.344h-20.53l23.28 50.907c-7.435 2.5-14.537 5.745-21.22 9.624l-27.686-60.53h-20.532L197.313 89.5c-7.408 6.096-14.07 13.09-19.782 20.813l-42.155-92.157h-20.5l51.03 111.656c-5.242 11.087-8.81 23.124-10.31 35.782L84.562 18.156h-20.75zm428.937 228.75l-65.406 3.22 17.687 19.186 47.72 36.594v-59zM20.53 266.28v68.5l72.376-35.842 39.5-26.344L20.53 266.28zm387 6.47l33.97 64 51.22 61.75.03-69.063-57.5-44.093-27.72-12.594zm-39.5 25.656l29.595 103.5.125-.062 41.875 92.72 53.094-.002v-66.75l-62.25-75.062-62.44-54.344zm-232.467 2.938l-19.25 6.844-95.782 47.468v98.125l84.345-103.655.03.03 30.657-48.81zm177.218 3.53l-.28 112.376 10.156 77.313h96.47l-38.407-85.032.092-.03-68.03-104.625zm-54.342 8.876L224.5 416.594l-10.25 77.97 89.53-.002-11.03-84.062-34.313-96.75zm-94.657 1.625L93.47 393.75l-71.064 87.313-1.875-1.532v15.033h81.94l40.5-104.063 20.81-75.125zm36.126 4.875l-35.062 65.563-.063.156-42.25 108.592h72.845l10.03-76.187-5.5-98.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Microchip;

impl IconShape for Microchip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.5 38.97l-2.406 9-4.313 16.093-34.936-9.344-3.375 12.53-26.75-7.156-4.845 18.03 26.78 7.19-2.874 10.655 34.94 9.343-12.25 45.718-34.94-9.343-3.31 12.282-26.75-7.157-4.845 18.062 26.75 7.156-2.906 10.907 34.936 9.344-12.53 46.69-34.907-9.345L78 240.75l-26.78-7.188-4.845 18.032 26.78 7.187-3.25 12.095 34.907 9.344-12 44.75-34.906-9.345-2.875 10.75-26.78-7.188-4.813 18.032 26.75 7.155-3.343 12.53 34.906 9.345-4.47 16.688-2.405 9.03 9.03 2.407 254.845 68.28 9.03 2.408 2.408-9.032 4.468-16.655 34.813 9.313 3.342-12.5 27.032 7.25 4.844-18.032-27.032-7.25 2.875-10.75-34.81-9.312 12-44.75 34.81 9.312 3.25-12.094 27.033 7.25 4.812-18.03-27.03-7.25 3-11.157-34.814-9.313 12.5-46.656 34.814 9.313L439 263.843l27.03 7.25 4.845-18.063-27.03-7.25 3.28-12.31-34.78-9.314 12.25-45.72 34.78 9.314 2.844-10.625 27.06 7.25 4.845-18.063-27.063-7.25 3.375-12.593-34.78-9.314 4.312-16.062 2.436-9.03-9.03-2.44-254.845-68.25-9.03-2.405zm13.188 22.874L419.53 125.28 334.564 442.19 97.75 378.75l84.938-316.906zM375.28 132.78L305.5 393.22l-175.313-47-4.843 18.06L309.72 413.69l9 2.406 2.436-9.03 72.188-269.44-18.063-4.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MicroscopeLens;

impl IconShape for MicroscopeLens {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M229.28 21.97v39.75c-30.905 1.29-61.546 9.284-89.53 23.905l21.406 37.063C184.2 110.92 210.32 104.28 238 104.28c93.408 0 168.938 75.53 168.938 168.94 0 26.766-6.234 52.056-17.282 74.53l-5.97-2.563-26.467-12.437c-21.125 44.53-66.495 75.313-119.064 75.313-8.49 0-16.8-.778-24.844-2.313l-7.375 33.375C127.89 424.178 69.03 355.665 69.03 273.22c0-26.843 6.267-52.2 17.376-74.72l-37.312-21.53c-40.207 78.3-28.27 175.748 33.937 242.093l-31.124 31.125 13.22 13.218L116.53 412c24.013 21.04 53.516 35.934 86.064 42.28l-6.938 31.44c1.515.333 3.016.636 4.53.936.01.002.023-.002.033 0 6.05 1.198 12.11 2.15 18.155 2.813.01 0 .02-.002.03 0 3.02.33 6.053.58 9.064.78 4.53.3 9.056.458 13.56.47 25.954.06 51.352-4.64 75.095-13.564 2.363-.888 4.734-1.81 7.063-2.78 9.477-3.953 18.656-8.6 27.468-13.876 2.518-1.508 5.014-3.076 7.47-4.688 1.227-.805 2.444-1.605 3.655-2.437 2.424-1.663 4.802-3.39 7.158-5.156 8.243-6.18 16.06-12.97 23.375-20.345 2.09-2.107 4.15-4.268 6.156-6.47 1.007-1.105 1.98-2.213 2.967-3.342.977-1.118 1.952-2.235 2.907-3.375.005-.007-.005-.026 0-.032.954-1.14 1.912-2.275 2.844-3.437.005-.008-.006-.026 0-.033.936-1.168 1.867-2.34 2.78-3.53 2.748-3.582 5.375-7.252 7.907-11.032.842-1.257 1.682-2.502 2.5-3.78 1.912-2.992 3.734-6.052 5.5-9.158l36.688 15.782 7.375-17.158-66.032-28.437c11.786-24.18 18.458-51.308 18.563-79.97h28.06c0-16.67-1.963-33.12-5.75-49.06L485.657 220l-2.187-18.563-43.876 5.188c-11.17-33.444-30.614-63.935-57-88.406-24.59-22.81-53.15-38.68-83.25-47.72L309.5 32.625l-18.03-4.844-10.22 38.126c-10.994-2.27-22.124-3.643-33.28-4.156V21.97h-18.69zM123.595 95c-10.347 6.634-20.245 14.223-29.53 22.813l30.28 30.312h.03c6.448-5.856 13.358-11.22 20.657-16.03L123.595 95zm-42.688 36.094c-8.512 9.367-15.998 19.302-22.53 29.656l37.187 21.47c4.692-7.334 9.95-14.283 15.687-20.782l-30.344-30.344zm83.688 61.062c-21.845 19.907-35.906 48.677-35.906 80.625 0 60.152 49.005 109.158 109.156 109.158 60.15 0 109.156-49.006 109.156-109.157h-18.688c0 50.038-40.43 90.47-90.468 90.47-50.037 0-90.47-40.432-90.47-90.47 0-26.47 11.628-50.238 29.814-66.81l-12.594-13.814zM239.25 215.5c-33.542 0-60.938 27.395-60.938 60.938 0 33.53 27.392 60.906 60.938 60.906 33.542 0 60.906-27.364 60.906-60.906 0-33.53-27.36-60.938-60.906-60.938zm0 18.688c23.443 0 42.22 18.82 42.22 42.25 0 5.505-1.05 10.754-2.94 15.562-3.377-10.958-13.59-18.906-25.655-18.906-14.82 0-26.844 12.023-26.844 26.844 0 7.082 2.736 13.516 7.22 18.312-20.575-2.883-36.25-20.418-36.25-41.813 0-23.446 18.803-42.25 42.25-42.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MiddleArrow;

impl IconShape for MiddleArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.637 20.836l-.598 56.236-55.913.28 67.1 50.492 19.673-6.393 53.3 53.302-9.3-35.73-30.578-30.58 6.813-20.504-50.498-67.102zm338.855.818l-116.535 107.96-45.37-99.557-19.972 111.193-71.658-41.87 26.834 103.077-134.104 4.162 91.375 63.427-98.93 70.617 103.343-7.61L82.06 457.9l116.268-66.023-1.838 82.47 63.98-81.036 41.163 54.12 14.08-63.637 53.14 25.486-67.777-67.776c-10.955 6.72-22.698 11.65-34.62 14.172l.026.135c-1.48.27-2.95.495-4.412.682-33.335 5.352-58.06-10.3-64.695-37.465-3.09-10.107-3.674-21.624-1.465-33.785 8.17-44.95 48.8-85.58 93.75-93.75 5.62-1.02 11.1-1.447 16.37-1.304 6.487.174 12.644 1.225 18.345 3.072 26.107 6.87 41.242 30.692 36.727 62.78-.215 1.987-.503 3.996-.872 6.022l-.18-.033c-3.006 14.26-9.466 28.265-18.314 40.976l31.776 31.775 94.43-7.585-74.294-50.908 91.8-52.576-86.134-12.692 72.557-97.62-94.765 38.963 39.387-130.706zM247.06 234.178c-4.628 4.188-8.946 8.75-12.847 13.584L411.36 424.91l-48.223 26.666 129.7 45.11-45.118-129.694-24.158 43.69-66.933-66.932-.114-.406L330.37 317.2c-.046.05-.095.1-.14.15l-83.17-83.172z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MidnightClaw;

impl IconShape for MidnightClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.09 18.86c-130.132 0-235.623 105.494-235.623 235.626 0 84.973 44.984 159.43 112.43 200.88 14.953-22.123 13.717-21.136 48.6-77.26 21.414-38.628 20.04-74.27-22.66-88.32-13.658-.257-27.487.71-41.448 2.927-22.745 5.586-50.66-6.618-51.222-36.61-.024-1.276.017-2.514.092-3.73-21.47-22.6-32.702-54.923 12.898-92.437-6.554 20.953 3.874 42.603 17.756 57.77 15.2-3.285 32.288 1.147 41.88 13.657 15.223 13.387 35.603 23.558 57.18 29.81 10.085-.365 13.446-4.833 12.272-12.07-17.327-20.6-35.87-40.278-60.72-57.124l.044-.02c-9.16-6.218-15.632-16.466-15.898-30.747-.132-7.072 1.296-13.21 3.85-18.404-14.227-31.065-10.31-69.364 50.074-82.162-12.275 19.684-18.508 42.767-13.102 61.122 19.572.108 38.916 12.51 39.39 37.94.045 2.343-.08 4.58-.35 6.714.955 20.638 6.118 44.463 19.796 63.658 15.14 9.386 26.987 3.992 29.195-19.287-2.648-14.616-8.253-29.283-15.043-40.856-4.338-5.84-7.065-13.325-7.236-22.473-.346-18.527 9.996-30.658 23.357-36.117 8.393-26.624 25.813-51.97 62.09-51.82 9.562.04 20.432 1.85 32.79 5.876-24.775 6.92-40.92 31.886-47.98 54.547 5.902 6.206 9.753 14.85 9.962 26.01.213 11.37-3.444 20.278-9.3 26.73-27.204 48.83-18.264 110.228-3.57 123.715 13.62 12.504 33.32 13.96 52.594 11.05 18.115-4.19 39.13 2.665 46.962 21.167 19.762-3.8 37.956-19.148 44-44.406 22.82 62.056-13.624 84.83-50.19 86.776-13.702 15.047-39.383 16.668-55.782 4.897l-.016.062c-.13-.12-.256-.23-.387-.348-1.862-1.374-3.594-2.93-5.175-4.656-16.557-14.848-31.98-27.53-47.752-38.182-28.103-.547-64.258 100.626-62.58 155.586 9.446 1.152 19.062 1.757 28.82 1.757 130.132 0 235.625-105.492 235.625-235.624S385.222 18.86 255.09 18.86z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MightySpanner;

impl IconShape for MightySpanner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M270.953 17.215l-49.748 84.224-56.092-59.88 1.748 89.092-92.368-40.11 36.354 90.622-82.698 16.805 59.42 67.454-69.437 73.39 88.122 10.178 26.578-26.578c-.852-2.042-1.668-4.103-2.42-6.195l-22.756 6.385-5.05-17.992 22.757-6.386c-1.065-5.188-1.83-10.484-2.27-15.873l-23.643.28-.22-18.69 23.644-.278c.315-5.398.954-10.712 1.898-15.922l-22.905-5.848 4.623-18.107 22.905 5.847c1.7-5.1 3.698-10.067 5.98-14.875l-20.63-11.588 9.153-16.293 20.652 11.6c2.95-4.466 6.162-8.743 9.615-12.812l-16.96-16.563 13.06-13.37 16.96 16.562c3.986-3.548 8.187-6.86 12.58-9.914l-12.085-20.373 16.072-9.535 12.074 20.35c4.755-2.393 9.672-4.507 14.732-6.325l-6.39-22.766 17.99-5.05 6.39 22.765c5.187-1.067 10.482-1.833 15.87-2.274l-.278-23.65 18.687-.223.28 23.652c5.398.313 10.71.953 15.92 1.897l5.85-22.91 18.108 4.622-5.85 22.91c5.1 1.698 10.067 3.695 14.875 5.975l11.588-20.632 16.296 9.153-11.6 20.653c4.466 2.95 8.743 6.162 12.813 9.615l16.56-16.96 13.372 13.058-16.562 16.96c3.548 3.985 6.86 8.185 9.916 12.58l20.37-12.085 9.536 16.075-20.348 12.07c2.395 4.754 4.51 9.67 6.33 14.73l22.758-6.388 5.05 17.994-22.757 6.388c1.067 5.187 1.832 10.482 2.274 15.87l23.64-.278.22 18.688-23.64.28c-.31 5.398-.95 10.712-1.893 15.923l22.894 5.846-4.622 18.108-22.894-5.846c-1.698 5.103-3.696 10.07-5.977 14.88l20.617 11.58-9.152 16.294-20.637-11.592c-2.95 4.467-6.163 8.746-9.617 12.817l16.947 16.55-13.056 13.37-16.95-16.55c-3.986 3.55-8.19 6.863-12.584 9.92l12.078 20.358-16.075 9.535-12.065-20.338c-4.755 2.395-9.673 4.51-14.734 6.328l6.385 22.75-17.994 5.05-6.384-22.75c-5.187 1.068-10.483 1.834-15.873 2.275l.28 23.634-18.686.22-.28-23.635c-5.398-.313-10.712-.953-15.923-1.896l-5.846 22.89-18.107-4.622 5.847-22.894c-2.582-.86-5.128-1.798-7.637-2.81l-26.326 26.216 7.148 73.713 67.797-55.734 49.456 43.487 21.12-53.87 90.09 46.07-38.16-96.155 92.102 27.826-36.908-79.496 61.514-6.506-60.832-51.39 57.994-45.053-73.29-15.66 59.093-70.504-91.66 18L406.02 47.85 307.094 110.9l-36.14-93.685zM254.016 157.43c-63.085.747-113.42 52.287-112.672 115.37.145 12.3 2.23 24.108 5.947 35.153l16.784-16.783c-6.17-30.05 2.24-62.392 25.697-85.852 19.075-19.073 44.026-28.157 68.916-27.447l.003-.01c14.933.424 29.785 4.308 43.216 11.68l-60.154 60.153c-10.613 10.615-11.292 27.843-1.168 37.963 10.122 10.133 27.35 9.455 37.96-1.158l60.155-60.154c19.66 35.818 14.75 81.61-15.77 112.13-23.46 23.47-55.677 31.4-85.852 25.114l-16.557 16.488c11.394 3.64 23.562 5.544 36.195 5.395 63.084-.746 113.42-52.287 112.674-115.368-.748-63.084-52.293-113.42-115.374-112.672z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MineExplosion;

impl IconShape for MineExplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M287.586 15.297l3.504 110.963 31.537-110.963h-35.04zm-95.78.238l-1.75 236.047-170.533-43.33L130.486 377.69l-88.77-5.174 114.432 112.357-44.466-75.867L186.896 417l-51.748-109.94 110.114 79.956-12.635-185.23.002.003 75.212 170.57 75.816-89.95-6.62 154.582 60.173-39.978-20.388 79.486 75.756-142.787-75.924 1.94L487.32 155.87l-131.402 73.08-12.264-139.69-65.41 140.336-86.435-214.06h-.003zM45.503 44.095L39.355 75.94 154.285 218h.002l-77.6-166.836-31.185-7.07zm422.27 24.776l-31.184 7.07-43.738 107.37 81.068-82.59-6.147-31.85zM279.208 403.61c-40.176 0-72.708 32.537-72.708 72.71 0 5.725.636 10.706 1.887 16.05 7.25-32.545 36.097-56.655 70.82-56.655 34.82 0 63.673 23.97 70.82 56.656 1.218-5.277 1.888-10.404 1.888-16.05 0-40.175-32.536-72.71-72.71-72.71z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MineralHeart;

impl IconShape for MineralHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.344 19.906L28.78 173.47 255.626 487.5 481.938 174 328.375 20.47l-72.75 72.75-73.28-73.314zm-.938 27.75L188 54.28l67.625 67.626L323.25 54.28l6.625-6.624 6.594 6.625L452.56 170.376l5.625 5.625-4.656 6.438-190.31 263.78-7.595 10.5-7.563-10.5L57.72 182.44 53.062 176l5.624-5.625L174.78 54.28l6.626-6.624zm0 26.438L77.53 177.97l178.095 246.81L433.72 177.97 329.874 74.093l-61 60.97 66 66 6.594 6.592-6.595 6.625-78.25 78.25-6.625 6.626-6.594-6.625-78.25-78.25 13.188-13.218L250 272.72l65.063-65.033-59.407-59.406-.03.032-6.595-6.593-67.624-67.626zm1.406 24.78l109.032 109.032-13.22 13.22-109.03-109.032 13.22-13.22zm147.97 0l81.437 81.407L399 193.5l-81.406-81.406 13.187-13.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Minigun;

impl IconShape for Minigun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M66.793 194.227v38.177h95.234v52.21h31.422c-1.602 52-10.98 87.324-23.327 109.21-6.947 12.313-14.558 20.39-22.42 25.315-21.22-11.84-39.07-38.882-39.07-71.007h-18.69c0 53.26 38.992 97.638 82.565 96.084 21.786-.777 43.438-14.208 58.672-41.21 14.588-25.856 24.16-64.12 25.75-118.392h23.34v-90.388H66.793zm347.11 3.918v17.96H298.958v45.202H413.9v17.957h18.69v-17.957h23.53v17.957h18.687v-17.957h19.426v-45.203H474.81v-17.96h-18.69v17.96h-23.528v-17.96h-18.69zm-395.22 52.95v83.874H143.34v-83.876H18.682zm193.467 33.52h26.08c-1.602 52-10.98 87.323-23.328 109.21-12.94 22.936-28.18 31.183-43.062 31.714-4.085.145-8.238-.4-12.365-1.526 8.788-2.515 17.46-8.28 25.584-18.694.45-.76.9-1.53 1.34-2.312 14.59-25.857 24.16-64.12 25.75-118.393zM45.164 348.133c0 53.26 38.99 97.638 82.563 96.084 2.977-.106 5.953-.458 8.91-1.04-23.16-4.283-43.785-21.112-56.307-44.448-9.903-13.495-16.476-31.11-16.476-50.597h-18.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mining;

impl IconShape for Mining {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M113.844 17.72c-8.426.04-16.812.833-25.094 2.436C195.65 84.503 275.473 170.516 338.47 270c2.526-53.76-19.07-109.13-53.533-154.25-14.097 5.298-31.477.742-43.468-11.25-11.98-11.98-16.558-29.347-11.282-43.438C194.46 34.105 153.68 17.52 113.844 17.72zm380.562 20.405L423.47 115.75l30.06 125.563-55.092 8.78-19.407 80.626 73.5 39.124-41.25 55.937 29.658 44.033-88.782-27.625 16.5-43.844L291.97 364.5l13.124-84.563-111.375 58.125-4.22 78.25-112.22-27.656-33.25 104.156h450.376V38.125zM261.156 58.72c-.388.01-.776.028-1.156.06-3.644.325-6.882 1.696-9.188 4-6.147 6.15-5.746 18.88 3.875 28.5 9.622 9.623 22.353 10.024 28.5 3.876 6.148-6.148 5.747-18.878-3.875-28.5-5.637-5.637-12.335-8.096-18.156-7.937zM196.5 127.593L25.28 298.874c4.273 11.926 11.027 21.05 25.25 25.626L221.97 153c-7.796-8.89-16.308-17.333-25.47-25.406zm158.78 11.625l9.314 84.686 27.437-84.687h-36.75zm-132.03 74.968l-20.156 35.937 92.687 7.375-72.53-43.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Minions;

impl IconShape for Minions {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.885 21.08c-31.185 0-58.496 32.517-58.496 75.092 0 42.575 27.31 75.09 58.495 75.09 31.186 0 58.498-32.515 58.498-75.09S286.07 21.08 254.885 21.08zm-32.262 52.078h18.69v45.723h-18.69V73.16zm43.803 0h18.69v45.723h-18.69V73.16zm43.943 88.28c-13.86 17.468-33.346 28.51-55.485 28.51-21.33 0-40.192-10.257-53.938-26.626-11.126 4.16-20.024 11.688-27.67 22.285-9.668 13.403-16.88 31.75-21.923 52.71-4.735 19.677-7.546 41.513-9.202 63.61 7.876 4.015 14.466 9.84 19.61 16.782 6.746 9.102 11.316 19.966 14.56 31.75 3.395-11.403 7.95-21.896 14.324-30.75 5.08-7.054 11.502-13.04 19.155-17.183-4.61-9.605-7.21-20.688-7.21-32.29 0-34.46 22.86-64.393 53.572-64.393 30.713 0 53.572 29.934 53.572 64.392 0 10.913-2.3 21.368-6.408 30.565 8.922 4.012 16.312 10.29 21.96 17.91 6.942 9.368 11.577 20.603 14.837 32.784 3.426-11.803 8.064-22.662 14.633-31.785 4.46-6.194 9.956-11.564 16.41-15.587-1.083-23.328-3.275-46.454-7.752-67.144-4.568-21.113-11.505-39.48-21.326-52.777-8.29-11.223-18.313-18.974-31.72-22.764zM89.95 224.532c-16.32 0-31.497 15.67-34.386 37.99H79.81v18.687H56.083c3.874 20.57 18.353 34.73 33.867 34.73 15.513 0 29.992-14.16 33.866-34.73H98.5V262.52h25.834c-2.888-22.32-18.066-37.99-34.385-37.99zm166.212 0c-16.32 0-31.496 15.67-34.385 37.99h24.16v18.687h-23.642c2.92 15.51 11.873 27.37 22.75 32.27-6.347.482-12.23 1.242-17.117 2.2l-.028.007-.027.005c-9.335 1.772-16.13 6.7-22.06 14.937-5.93 8.236-10.528 19.833-13.745 33.25-5.746 23.972-7.066 53.275-7.297 79.29h23.503V392.12h18.69v103.025h61.906V392.12h18.687v51.048h21.91c-.044-26.343-.5-56.035-5.776-80.164-2.947-13.486-7.4-25.042-13.42-33.166-6.02-8.124-13.142-13.033-23.68-14.682l-.194-.03-.19-.038c-5.24-1.045-11.492-1.713-18.09-2.01 10.496-5.12 19.068-16.76 21.913-31.87h-25.403V262.52h25.92c-2.888-22.32-18.066-37.99-34.385-37.99zm165.992 0c-16.32 0-31.496 15.67-34.384 37.99h24.296v18.687h-23.78c3.875 20.57 18.354 34.73 33.868 34.73 15.514 0 29.993-14.16 33.867-34.73h-25.266V262.52h25.785c-2.89-22.32-18.066-37.99-34.386-37.99zm-294.564 91.6c-9.507 11.333-22.63 18.493-37.64 18.493-13.795 0-25.996-6.05-35.263-15.824-4.983 2.6-9.165 6.523-12.984 11.827-5.93 8.236-10.528 19.833-13.744 33.25-5.747 23.972-7.067 53.275-7.298 79.29h23.252V392.12h18.688v103.025h61.906V392.12h18.69v51.048h22.745c-.043-26.342-.5-56.035-5.775-80.164-2.948-13.486-7.4-25.042-13.422-33.166-5.115-6.902-11.032-11.474-19.156-13.707zm331.344 1.013c-9.432 10.746-22.22 17.48-36.78 17.48-14.395 0-27.065-6.574-36.465-17.11-6.246 2.505-11.26 6.852-15.768 13.114-5.93 8.236-10.528 19.833-13.744 33.25-5.747 23.972-7.066 53.275-7.297 79.29h22.927V392.12h18.69v103.025H452.4V392.12h18.688v51.048h22.498c-.018-26.37-.353-56.076-5.504-80.21-2.88-13.486-7.266-25.037-13.23-33.147-4.393-5.972-9.388-10.195-15.92-12.667z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Minotaur;

impl IconShape for Minotaur {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110 18.906c-3.766 9.014-2.938 15.91-2.938 28.032 0 26.995 24.076 48.413 52.563 52.562 19.28 2.807 39.315 4.758 59.594 5.813-8.56 7.39-13.907 18.092-13.907 35.124 0 17.576 6.436 37.856 16.562 52.97 10.126 15.112 23.233 24.374 36.03 24.374 12.8 0 25.906-9.26 36.033-24.374 10.126-15.113 16.562-35.392 16.562-52.97 0-17.186-5.43-27.946-14.125-35.342 19.053-1.09 37.854-2.952 56-5.594 28.487-4.147 51.47-23.72 52.563-52.563.368-9.723-1.637-18.74-2.938-28.03-2.943 27.71-26.205 45.69-54.313 49.656-59.833 8.443-123.54 8.443-183.375 0-28.107-3.966-51.37-21.945-54.312-49.657zm79.78 99.313c-248.928 7.213-200.628 194.293-22.124 242.5 40.812-39.456-6.55-101.937-43.72-57.033-23.22-43.474-20.674-82.77 4.5-95.03 48.72 27.067 83.566 88.52 86.126 148.405-33.595 23.148-59.625 63.032-59.625 63.032l26.344 38.78-41.31 23.5h82.124c-40.513-40.52-11.77-86.093 36.22-86.093 48.645 0 74.12 48.22 36.248 86.095h81.282l-40.47-23.5 26.345-38.78s-26.458-40.502-60.44-63.564c2.744-59.716 37.52-120.887 86.095-147.874 25.176 12.262 27.722 51.557 4.5 95.03-37.168-44.903-84.53 17.578-43.72 57.033 178.5-48.206 226.788-235.28-22.124-242.5 2.054 6.73 3.158 14.17 3.158 22.218 0 21.95-7.423 45.024-19.72 63.375-12.295 18.35-30.17 32.656-51.562 32.656-21.392 0-39.266-14.306-51.562-32.657-12.296-18.352-19.72-41.426-19.72-63.375 0-8.048 1.105-15.488 3.157-22.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MiracleMedecine;

impl IconShape for MiracleMedecine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.246 21.422L107.7 60.462l13.984 24.25 24.837-14.357 43.263 75.016-15.336 8.864c-8.12-11.014-20.585-17.512-33.636-18.453-8.796-.633-17.854 1.252-26.013 5.968-21.757 12.575-29.29 40.725-16.733 62.498 12.557 21.773 40.702 29.325 62.46 16.75 8.14-4.705 14.287-11.59 18.138-19.504l91.973 159.48 20.86-12.056 33.67 58.385 11.755-6.794 55.09 95.523 16.19-9.34-55.098-95.538 11.203-6.474-33.67-58.383 20.86-12.057-89.382-154.986c9.45 1.12 19.314-.67 28.13-5.764 21.756-12.575 29.288-40.725 16.732-62.498-7.848-13.608-21.785-21.66-36.446-22.717-8.797-.633-17.855 1.25-26.014 5.967-18.31 10.583-26.544 32.196-21.21 51.756l-17.343 10.024L162.7 61.004l26.53-15.334-13.984-24.248zm166.79 65.197L315.19 211.13l51.998 90.18 98.197 12.633-84.182-53.832 85.135-7.583-48.7-38.593 74.635-70.862-84.156 28.23-4.273-63.06-52.858 75.756-8.95-97.38zm-74.684 3.038c.58-.003 1.16.015 1.738.055 7.698.526 14.96 4.785 19.164 12.074 6.725 11.662 2.815 26.265-8.824 32.992-11.64 6.727-26.2 2.823-32.926-8.84-6.726-11.66-2.815-26.263 8.826-32.99 3.82-2.208 7.953-3.272 12.022-3.292zm-36.168 53.37L325.977 307.4l-48.498 28.03-94.794-164.37 48.498-28.03zm-93.55 14.14c.58-.003 1.16.015 1.737.055 7.7.526 14.962 4.783 19.165 12.072 6.726 11.662 2.815 26.265-8.824 32.992-11.64 6.728-26.2 2.826-32.925-8.836-6.725-11.66-2.814-26.265 8.826-32.993 3.82-2.208 7.955-3.27 12.023-3.29zm-30.464 85.34l44.424 40.724-101.96 4.772 81.18 43.94-96.996 81.226 109.668-25.215-4.494 82.777 63.87-78.173 26.32 70.577 26.832-87.922L191.26 262.91l-84.09-20.402z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MirrorMirror;

impl IconShape for MirrorMirror {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.688 20.375c-38.528 0-74.835 12.49-107.282 34.813h-54.25V460.5H150.063c32.555 22.454 69.036 35.063 107.625 35.063 38.588 0 75.044-12.61 107.593-35.063h53.908V55.188h-54.219c-32.447-22.323-68.754-34.812-107.283-34.812zM123.155 84.28H392.28V432.157H123.157V84.28zm18.688 18.69v108.718l126.844-108.72H141.844zm200.437 0L141.845 274.78v56.626l231.75-198.687v-29.75H342.28zm31.314 140.093L174.53 413.469h46.532l152.532-128.376v-42.03zm0 66.468l-123.5 103.94h123.5V309.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MissileMech;

impl IconShape for MissileMech {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M110.35 18.398l-80.952 61.74v47.173h162.524c-15.238 16.172-24.608 38.184-24.608 62.538 0 49.97 39.442 90.097 88.11 90.097s88.107-40.126 88.107-90.097c0-24.353-9.368-46.366-24.604-62.537h163.396V80.138l-80.95-61.74h-88.6v102.978c-5.696-4.987-12.02-9.24-18.84-12.623V52.494h-75.778v55.66c-6.942 3.308-13.392 7.51-19.205 12.47V18.397h-88.6zm10.67 18.688c7.38 0 13.156 5.776 13.156 13.152 0 7.38-5.777 13.158-13.156 13.158-7.38 0-13.16-5.778-13.16-13.158s5.78-13.152 13.16-13.152zm45.662 0c7.38 0 13.156 5.776 13.156 13.152 0 7.38-5.777 13.158-13.156 13.158-7.38 0-13.16-5.778-13.16-13.158s5.78-13.152 13.16-13.152zm177.86 0c7.38 0 13.155 5.773 13.155 13.152 0 7.38-5.776 13.158-13.156 13.158-7.38 0-13.155-5.778-13.155-13.158 0-7.376 5.776-13.152 13.156-13.152zm46.16 0c7.38 0 13.155 5.773 13.155 13.152 0 7.38-5.776 13.158-13.156 13.158-7.378 0-13.155-5.778-13.155-13.158 0-7.376 5.777-13.152 13.156-13.152zM61.25 82.088c7.38 0 13.156 5.776 13.156 13.152 0 7.38-5.776 13.158-13.156 13.158-7.38 0-13.156-5.778-13.156-13.158S53.87 82.088 61.25 82.088zm45.705 0c7.38 0 13.156 5.776 13.156 13.152 0 7.38-5.775 13.158-13.155 13.158-7.38 0-13.156-5.778-13.156-13.158s5.774-13.152 13.155-13.152zm45.662 0c7.38 0 13.158 5.776 13.158 13.152 0 7.38-5.778 13.158-13.158 13.158S139.46 102.62 139.46 95.24s5.776-13.152 13.157-13.152zm205.738 0c7.38 0 13.157 5.773 13.157 13.152 0 7.38-5.777 13.158-13.157 13.158S345.2 102.62 345.2 95.24c0-7.376 5.776-13.152 13.155-13.152zm46.41 0c7.38 0 13.155 5.773 13.155 13.152 0 7.38-5.777 13.158-13.156 13.158-7.38 0-13.157-5.778-13.157-13.158 0-7.376 5.777-13.152 13.157-13.152zm45.704 0c7.38 0 13.157 5.773 13.157 13.152 0 7.38-5.78 13.158-13.158 13.158-7.38 0-13.158-5.778-13.158-13.158 0-7.376 5.777-13.152 13.157-13.152zm-195.046 39.2c9.8 0 19.12 2.093 27.57 5.843l2.045 32.16c-8.006-7.307-18.012-11.77-29.257-11.77-10.234 0-19.45 3.69-27.064 9.855l2-31.434c7.673-2.994 15.997-4.65 24.704-4.65zm-44.172 16.267l-3.867 60.785c-7.05-1.798-14.102-3.95-21.153-6.445 0-21.858 9.737-41.39 25.02-54.34zm91.303 2.666c13.567 12.89 22.062 31.266 22.062 51.675-6.127 2.41-12.255 4.46-18.383 6.177l-3.68-57.85zm-205.22 22.87v54.44h54.806c-2.288-8.845-3.513-18.123-3.513-27.682 0-9.226 1.14-18.19 3.277-26.758h-54.57zm261.608 0c2.137 8.567 3.278 17.532 3.278 26.758 0 9.56-1.224 18.837-3.513 27.683h54.084v-54.44h-53.847zm-103.16 3.12c13.253 0 25.927 12.614 29.205 31.124h-58.41c3.278-18.51 15.952-31.125 29.205-31.125zm-143.887 70.01v62.032c5.21-2.606 10.862-4.078 16.874-4.078 6.013 0 11.666 1.472 16.876 4.08V236.22h-33.75zm252.58 0v62.034c5.21-2.607 10.863-4.08 16.876-4.08 6.012 0 11.665 1.473 16.875 4.08V236.22h-33.75zM128.77 312.862c-8.27 0-17.002 5.945-24.237 18.412-7.235 12.467-12.123 30.715-12.123 50.996 0 20.283 4.888 38.53 12.123 50.998 7.235 12.467 15.966 18.414 24.237 18.414 8.27 0 17.003-5.946 24.238-18.412 7.235-12.467 12.123-30.716 12.123-51 0-20.28-4.887-38.528-12.122-50.995-7.235-12.467-15.968-18.412-24.238-18.412zm252.582 0c-8.27 0-17.002 5.945-24.237 18.412-7.235 12.467-12.125 30.715-12.125 50.996 0 20.283 4.89 38.53 12.125 50.998 7.235 12.467 15.966 18.414 24.237 18.414 8.27 0 17-5.946 24.236-18.412 7.235-12.467 12.123-30.716 12.123-51 0-20.28-4.887-38.528-12.122-50.995-7.235-12.467-15.966-18.412-24.236-18.412zM98.664 456.4L65.21 489.855h127.12L158.875 456.4c-8.298 8.535-18.537 13.97-30.105 13.97-11.568 0-21.81-5.435-30.106-13.97zm252.582 0l-33.455 33.455h127.122L411.457 456.4c-8.298 8.535-18.537 13.97-30.105 13.97-11.568 0-21.808-5.435-30.106-13.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MissilePod;

impl IconShape for MissilePod {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.28 19.938v358.156c3.317-8.267 8.434-16.15 15.47-23.188l91.125-91.156 13.22 13.22-91.157 91.155c-12.13 12.13-15.988 25.728-14.376 39.938 1.613 14.21 9.25 29.032 21.344 41.125l-.187.187 11.436 11.28.03.033c12.058 12.053 26.915 19.562 41.22 21.062 13.724 1.44 26.93-2.196 38.698-13.21-7.038-4.285-14.04-8.858-20.987-13.728-.86.248-1.722.496-2.58.71-17.25 4.34-34.876 2.385-46.55-9.29-11.677-11.676-13.623-29.307-9.276-46.554 4.348-17.248 14.865-35.155 30.464-50.754 20.472-20.473 44.794-32.403 66.656-32.58 11.45-.093 22.59 3.393 30.62 11.424 11.675 11.674 13.63 29.302 9.292 46.55-.198.787-.428 1.577-.652 2.366 4.89 6.997 9.483 14.055 13.79 21.15l56.364-56.37c-7.15-4.354-14.26-9.005-21.316-13.96-.63.175-1.262.36-1.89.52-17.25 4.338-34.877 2.383-46.552-9.292-11.674-11.674-13.63-29.302-9.29-46.55 4.338-17.25 14.847-35.158 30.447-50.758 20.476-20.477 44.825-32.403 66.687-32.58 11.45-.093 22.59 3.393 30.62 11.424 11.675 11.674 13.63 29.302 9.292 46.55-.256 1.017-.546 2.036-.846 3.057 4.81 6.9 9.336 13.857 13.58 20.85l55.48-55.485c-7.43-4.563-14.82-9.454-22.144-14.668-17.174 4.27-34.7 2.285-46.326-9.34-11.672-11.672-13.63-29.293-9.29-46.535 4.338-17.24 14.848-35.143 30.447-50.742 20.472-20.473 44.815-32.434 66.687-32.61 11.45-.094 22.59 3.392 30.62 11.423 11.677 11.676 13.624 29.307 9.277 46.554-.378 1.5-.818 3.006-1.29 4.514 4.677 6.68 9.082 13.417 13.227 20.187l1.055-1.054c12.112-12.115 15.967-25.784 14.342-40.095-1.623-14.298-9.25-29.174-21.312-41.25l-.03-.03-14.033-13.845c-11.52-10.493-25.123-17.107-38.218-18.594-14.21-1.613-27.81 2.246-39.94 14.375l-92.374 92.376-13.187-13.22 92.342-92.342c4.136-4.136 8.563-7.574 13.188-10.407H17.28zM398.085 83.9c-11.34 4.323-23.678 12.192-34.678 23.192-12.36 12.36-20.732 26.38-24.592 38.8 47.35 45.713 100.12 75.737 149.436 88.866-13.436-49.684-44.003-103.422-90.166-150.858zM251.75 135.906l13.188 13.22L150.313 263.75l-13.188-13.188L251.75 135.906zm20.33 74.953c-11.736 4.178-24.657 12.215-36.142 23.702-11.832 11.834-20.044 25.214-24.114 37.233 47.23 45.46 99.815 75.336 148.97 88.42-13.293-49.162-43.36-102.29-88.714-149.356zM145.156 338.15c-11.888 4.12-25.046 12.24-36.72 23.913-11.653 11.654-19.766 24.79-23.89 36.664 47.274 45.557 99.93 75.487 149.147 88.59-13.278-49.096-43.286-102.147-88.537-149.167z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MissileSwarm;

impl IconShape for MissileSwarm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.34 17.38v34.08C37.24 85.91 61.4 120.5 95.03 151c6.97 24.6 23.57 43.7 46.27 53.9-5.9-8.2-9.4-18.1-9.6-30.1 12 .1 21.9 3.7 30.1 9.6-10.1-22.5-28.7-39-52.9-46-40.28-36.2-66.64-78.82-89.03-121.02zm26.96 0C98.65 32.32 173.5 71.74 240.5 124.5l16.3-11.6C205.6 71.81 149.6 38.58 99.97 17.38zm110.1 0c28.4 8.14 52.8 19.57 75.3 32.83 13 21.96 34.1 36.14 58.6 40.15-7.8-6.38-13.7-15.05-17-26.58 11.7-2.98 22.1-2.09 31.5 1.46-15.5-19.08-37.8-30.23-63-30.76-10.3-6.07-21-11.82-32.3-17.1zm171.3 4.96L321 71.62c-6.1 10.46-12.1 20.92-18.2 31.38-14.6 11.2-26.3 18.7-40.6 29l39.6 22.8h.1l38.3-13.9c37.3 28.7 84.7 43.6 133.5 39.8-21.2-44.6-57.8-78.2-101.5-96.03l-7-39.5zM194.9 148.8l-17.2 46.4c-8.6 8.4-17.2 17.1-25.7 25.7-14.9 5.8-31.2 11.8-46.6 17.5l32.3 32.3 40.6-3.5c28.6 37.3 70.5 64 118.6 72.9-8.9-48.5-35.6-90.5-73.1-119l3.4-40zm123.3 20l-18.2 6.6c17.1 17.7 33.5 38.1 44.3 52.6 1.1 24.4 12.1 46.1 30.6 61.3-3.5-9.5-4.3-19.9-1.4-31.6 11.6 3.3 20.2 9.3 26.6 17.1-4.1-25.4-19-47-42.3-59.9-12-15.9-25.3-31.3-39.6-46.1zM17.34 247.2v49.7c14.05 24.6 33.51 44.5 56.99 61 12.88 23.6 34.67 38.8 60.27 43-7.8-6.4-13.8-15.1-17.1-26.6 11.7-3 22.2-2.1 31.6 1.5-15-18.5-36.3-29.5-60.47-30.7-35.62-23.9-60.18-54.2-71.29-97.9zM441.3 249l-28.7 40.4c-10.5 6-20.9 12.1-31.4 18.1-16.1 1.9-33.2 3.3-49.6 4.8l22.9 39.6 40.1 7.1c17.9 43.5 51.5 80.1 95.7 101.2 4-49.2-10.9-96.7-39.9-133.9l13.7-37.7zm-269.4 83.9l-4.6 49.3c-6.1 10.3-12.2 20.9-18.2 31.4-13 9.6-27 19.4-40.5 28.9l39.6 22.9 38.3-13.9c37.3 28.7 84.6 43.6 133.4 39.8-21.1-44.7-57.7-78.3-101.4-96.1l-7-39.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mite;

impl IconShape for Mite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M148.938 62.313c-40.392.64-77.533 26.18-91.063 58.406 29.237-14.9 62.01-26.24 102.063-14.157-12.28 34.587-12.97 73.268 9.5 105.593l.062-.03c-3.206 7.243-5.79 14.955-7.656 23.03-27.112-17-40.46-47.814-43.688-81.187-.018-.904-.115-1.828-.25-2.75-.065-.824-.134-1.645-.187-2.47l-.314.03c-3.127-12.508-16.047-24.964-31.75-19.093-44.4 16.605-70.46 64.092-65.437 103.72 17.878-27.532 40.594-53.727 81.343-63.282 6.42 34.787 24.056 67.457 57.218 84.78-.29 3.658-.436 7.37-.436 11.126 0 2.775.098 5.443.25 8.033-25.757-5.683-47.636-23.653-64.125-46.813-.43-.692-.92-1.372-1.44-2.03-.478-.697-.966-1.39-1.436-2.095l-.25.156c-8.968-9.26-26.375-13.552-37.03-.624-30.152 36.58-29.008 90.75-4.814 122.53 1.717-32.775 8.262-66.844 38.78-95.498 19.006 22.293 43.946 39.482 73.19 43.843 2.405 9.377 6.14 17.173 10.968 23.75-20.756 2.423-42.643-2.44-63.22-11.842-.75-.403-1.527-.772-2.343-1.094-.728-.347-1.463-.674-2.188-1.03l-.124.28c-12.4-3.55-29.64 1.43-32.407 17.97-7.82 46.748 20.25 93.07 57.094 108.498-14.903-29.244-26.225-61.995-14.125-102.062 23.854 8.464 49.654 11.385 73.97 5.03 6.886 4.576 14.892 8.144 23.75 10.75-10.733 9.146-17.345 21.658-17.345 35.47 0 9.626 3.232 18.615 8.813 26.28-10.362 1.9-21.63 12.622-22.5 28.376-1.944 35.11 30.045 49.124 54.5 42.375-19.484-9.088-28.823-40.074-14.782-55.436 9.844 5.736 21.805 9.125 34.72 9.125 13.986 0 26.857-3.965 37.125-10.595-.054.41-.118.852-.156 1.28 14.282 15.3 4.966 46.5-14.595 55.626 24.454 6.75 56.444-7.264 54.5-42.374-.935-16.886-13.816-28.01-24.72-28.656 5.453-7.603 8.595-16.494 8.595-26 0-13.772-6.607-26.237-17.28-35.375 8.89-2.584 16.95-6.102 23.874-10.656 24.12 6.127 49.674 3.168 73.312-5.22 12.1 40.067.778 72.818-14.125 102.063 36.846-15.428 64.916-61.75 57.095-108.5-2.765-16.538-20.008-21.52-32.406-17.97l-.126-.28c-.758.374-1.52.73-2.28 1.093-.774.31-1.538.65-2.252 1.03-20.298 9.278-41.87 14.135-62.375 11.94 4.882-6.628 8.647-14.494 11.063-23.97 28.83-4.583 53.447-21.648 72.25-43.687 30.505 28.65 37.065 62.696 38.78 95.468 24.195-31.782 25.37-85.953-4.78-122.532-10.66-12.93-28.097-8.64-37.063.625l-.25-.155c-.51.767-1.04 1.525-1.562 2.28-.477.62-.945 1.26-1.344 1.907-16.287 22.86-37.82 40.637-63.155 46.532.143-2.522.22-5.117.22-7.813 0-3.916-.154-7.784-.47-11.592 32.593-17.44 49.98-49.836 56.344-84.313 40.75 9.555 63.463 35.75 81.342 63.28 5.024-39.626-21.005-87.113-65.406-103.718-15.704-5.872-28.655 6.584-31.78 19.094l-.282-.03c-.052.794-.125 1.584-.188 2.375-.143.954-.23 1.91-.25 2.844-3.196 33.04-16.328 63.586-42.906 80.686-1.922-8.17-4.582-15.97-7.875-23.28 21.922-32.167 21.173-70.504 9-104.814 40.05-12.08 72.794-.74 102.03 14.157-15.462-36.83-61.747-64.916-108.5-57.095-16.534 2.77-21.515 20.01-17.967 32.406l-.282.126c.368.745.707 1.5 1.063 2.25.324.817.687 1.594 1.092 2.344 13.876 30.404 17.78 63.67 3.032 91.906-18.117-26.304-45.696-42.906-76.125-42.906-30.717 0-58.52 16.92-76.626 43.656-15.216-28.396-11.375-61.98 2.625-92.656.414-.77.793-1.568 1.124-2.406.346-.728.673-1.464 1.03-2.188l-.28-.125c3.55-12.396-1.432-29.635-17.97-32.405-5.843-.978-11.666-1.404-17.436-1.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoebiusStar;

impl IconShape for MoebiusStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.656 49.53l-.03 114.814 37.03-21.406-.03-11.844-.064-16.22 14.063 8.095 128.22 73.936-.033-50.53-.906.53-4.687 2.72-4.658-2.72-50.78-29.312-.094.062L138.656 49.53zm236.094 0l-99.313 57.314 36.75 21.187 10.282-5.968 14.03-8.124v16.218l.063 147.375 43.03-24.874-.5-.312-4.28-2.75v-5.125l-.032-58.626v-60.72l-.03-45.78V49.53zm-180.406 97.72V153.72l-4.688 2.718-142.97 82.593-.03-.06L20.594 254 120 311.406l.125-43.344-10.688-5.937-14.437-8 14.28-8.25 127.907-73.906-42.843-24.72zm61.53 35.5l-52.124 30.125 50.938 31.406 52.125-32.155-50.938-29.375zm137.595 13.906l.03 42.72 9.094 5.843 12.875 8.28-13.25 7.688L273 335.813l44.813 25.843v-6.468l4.687-2.688 52.28-30.188v-.156L492.814 254l-99.344-57.344zm-75.626 30.625L272.5 255.25l45.375 27.97-.03-55.94zm-141.375 1.345l-43.5 25.156 1.06.595 4.845 2.688-.03 5.53-.22 71.344.03 124.532 99.095-57.19-36.938-21.31-10.25 5.936-14.03 8.156v-16.218l-.063-149.22zm18.686.875l.03 51.47 41.72-25.72-41.75-25.75zm59.53 36.72l-49.436 30.5 49.094 28.31 49.437-28.53-49.092-30.28zm-59.5 46.28l.033 49.094.905-.53 4.656-2.69 4.69 2.688 50.968 29.407.25-.126L374.75 458.47l.03-114.595L336.5 366l.03 11.844.064 16.22-14.063-8.127L195.19 312.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoebiusTrefoil;

impl IconShape for MoebiusTrefoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.615 16.943c-38.106.26-75.86 12.47-109.418 37.246 108.164-5.378 163.065 47.928 199.688 94.078l2.226 2.804-.538 3.543c-2.153 14.16.21 28.97 7.914 42.31 18.043 31.252 57.83 41.913 89.084 23.87 31.254-18.043 41.913-57.83 23.87-89.08-9.636-16.69-25.98-27.246-43.682-30.916l-2.74-.57-1.825-2.12c-46.1-53.607-105.733-81.565-164.578-81.167zm-92.322 53.08c-10.028-.016-20.632.522-31.844 1.663-11.678 8.884-22.494 18.84-32.298 29.728 6.523-1.695 13.252-2.6 20.03-2.654.904-.008 1.81 0 2.714.023 13.168.33 26.43 3.852 38.606 10.88 8.91 5.144 16.464 11.743 22.578 19.31 23.693-18.095 52.583-29.727 84.045-32.26-26.31-15.876-59.523-26.618-103.832-26.69zm-44.057 45.11c-22.362.15-44.022 11.83-56.04 32.644-9.636 16.69-10.608 36.12-4.936 53.287l.88 2.66-.927 2.64C-1.302 316.3 38.897 423.187 136.18 465.603 77.436 374.62 96.15 300.422 117.81 245.63l1.315-3.33 3.336-1.304c13.34-5.216 24.987-14.668 32.688-28.008 18.044-31.25 7.385-71.037-23.87-89.08-9.765-5.638-20.366-8.474-30.876-8.754-.722-.02-1.444-.026-2.166-.02zm293.213 5.533c24.48 0 44.124 19.645 44.124 44.123 0 24.477-19.645 44.122-44.125 44.122s-44.126-19.645-44.126-44.123c0-24.48 19.646-44.124 44.125-44.124zM98.104 137.064c24.48 0 44.125 19.645 44.125 44.124 0 24.478-19.645 44.123-44.125 44.123S53.98 205.667 53.98 181.188c0-24.478 19.646-44.123 44.125-44.123zM471.24 178.86c-4.15 22.802-17.875 43.723-39.447 56.177-4.307 2.487-8.75 4.534-13.277 6.156.463 4.96.71 9.982.71 15.063 0 30.15-8.34 58.35-22.835 82.43 32.152-17.625 62.903-47.413 87.657-100.23-1.67-20.753-6.06-40.734-12.807-59.597zm-212.094 28.326c-27.204 0-49.056 21.852-49.056 49.056 0 27.205 21.852 49.06 49.056 49.06 27.205 0 49.06-21.855 49.06-49.06 0-27.204-21.855-49.056-49.06-49.056zm234.97 47.796c-49.426 96.358-123.04 117.25-181.32 125.89l-3.544.526-2.797-2.236c-11.187-8.944-25.197-14.305-40.6-14.305-36.09 0-65.216 29.125-65.216 65.21 0 36.088 29.125 65.212 65.214 65.212 19.27 0 36.586-8.877 48.617-22.372l1.864-2.09 2.75-.517c114.467-21.613 186.935-109.867 175.03-215.318zM113.622 323.02c-4.68 42.24 4.264 91.172 47.035 149.293 14.683 6.217 30.14 10.958 46.18 14.072-14.007-14.67-22.645-34.508-22.645-56.317 0-10.406 1.985-20.356 5.56-29.52-33.534-16.157-60.566-43.662-76.13-77.528zm152.107 63.652c24.48 0 44.125 19.645 44.125 44.123 0 24.478-19.645 44.123-44.125 44.123s-44.125-19.645-44.125-44.123c0-24.478 19.646-44.123 44.125-44.123z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoebiusTriangle;

impl IconShape for MoebiusTriangle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209.094 19.53L150.53 35.22l234.19 234.186 11.436 11.47-15.625 4.187-182.25 48.78L184 387.032l307.78-82.467.408-1.5L209.094 19.53zm-77.75 22.94L25.78 436.31l45.376 45.375 87.375-326.062 4.19-15.656 11.436 11.468 133.688 133.718 52.22-13.97L131.343 42.47zm41.062 133.655L87.53 492.845l381.126-102.126 17.53-65.314L173.22 409.28l-15.657 4.19 4.218-15.658 49.126-183.156-38.5-38.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Molecule;

impl IconShape for Molecule {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M106.875 16l-4.656 2.688-69.907 40.218-4.688 2.688v91.281l4.688 2.688 64.468 37.093-.06 37.78c-15.19 3.762-26.564 17.585-26.564 33.876 0 19.15 15.725 34.875 34.875 34.875 19.152 0 34.876-15.724 34.876-34.875 0-15.55-10.35-28.863-24.5-33.312l.063-37.47 42.093-24.218L237 216.406v58.625l4.688 2.69 34.093 19.624v.25h.47l22 12.656-51.906 29.875-48.188-27.72c.227-1.367.375-2.754.375-4.186 0-14.102-11.43-25.533-25.53-25.533-14.1 0-25.53 11.43-25.53 25.532 0 14.1 11.43 25.53 25.53 25.53 5.86 0 11.254-1.994 15.563-5.313L237 356.313v23l-59.53-.156c-1.688-6.323-5.76-12.032-11.876-15.562-12.212-7.05-27.825-2.837-34.875 9.375-7.052 12.21-2.87 27.823 9.343 34.874 12.21 7.05 27.824 2.867 34.875-9.344.124-.215.226-.44.343-.656L237 398v27.78l-43.344 24.94c-4.61-4.55-10.95-7.376-17.937-7.376-14.102 0-25.532 11.43-25.532 25.53 0 14.102 11.43 25.532 25.53 25.532 14.1 0 25.532-11.43 25.532-25.53 0-.316-.02-.626-.03-.938l44.968-25.875 65.406 37.625 4.656 2.687 4.656-2.688 69.906-40.218 4.688-2.69V345.5l-4.688-2.688-56.562-32.562 56.563-32.53 4.687-2.69v-79.435l51.563-29.657c4.26 3.185 9.552 5.093 15.28 5.093 14.1 0 25.532-11.43 25.532-25.53 0-14.1-11.43-25.53-25.53-25.53-14.102 0-25.533 11.43-25.533 25.53 0 1.553.14 3.055.407 4.53l-50.158 28.876-61.625-35.47-.093-55.186c14.1-4.478 24.406-17.767 24.406-33.28 0-19.152-15.725-34.876-34.875-34.876S280 35.818 280 54.97c0 16.322 11.423 30.145 26.656 33.874l.094 54.78-42.594 24.532-78.03-45.97V61.596l-4.69-2.688L146.814 39l-.53-.938-.532.313-34.22-19.688L106.876 16zm0 21.563l20.188 11.624L71.97 81.094l-4.657 2.687v5.376l-.157 64.906-20.844-12V72.406l60.563-34.844zm208 1.218c9.05 0 16.188 7.138 16.188 16.19 0 9.05-7.137 16.186-16.188 16.186-9.05 0-16.188-7.137-16.188-16.187 0-9.052 7.137-16.19 16.188-16.19zM145.812 59.97l21.625 12.436v59.25L232.188 171l13.344 7.844-.218.125 18.25 11.06 52.688-30.31 20.188 11.624-55.813 32.312-4.656 2.688v5.375l-.126 64.093-20.156-11.594v-57.095l-97.97-59.47-50.843 29.25-21.03-12.093.155-70.25 59.813-34.593zm-20.218 38.968c-11.512 0-20.656 9.113-20.656 20.624 0 11.512 9.144 20.657 20.656 20.657 11.512 0 20.625-9.146 20.625-20.657 0-11.514-9.114-20.626-20.626-20.626zm229.53 83.156l21.688 12.47v69.655L316.25 299.06l-21.75-12.53.156-69.407 60.47-35.03zm-250.093 66.03c9.052 0 16.19 7.138 16.19 16.19 0 9.05-7.138 16.186-16.19 16.186-9.05 0-16.186-7.137-16.186-16.188 0-9.05 7.137-16.187 16.187-16.187zm211.22 73.345l60.563 34.874v69.625L316.25 460.81l-60.563-34.843V356.31l60.563-34.843zm-.406 31.31c-21.558 0-38.813 17.287-38.813 38.845s17.256 38.844 38.814 38.844 38.844-17.287 38.844-38.845c0-21.56-17.286-38.844-38.844-38.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Molotov;

impl IconShape for Molotov {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.416 16.05c-13.347 2.888-35.426 19.905-27.508 51.26 9.262 36.67-75.52 36.213-41.63-24.058C183.646 58.92 167.17 55.08 161.8 23.148c-22.233 27.904-22.512 73.433-9.892 101.918 16.77 37.852-29.304 44.6-49.738 8.97 22.28 116.072-46.865 107.22-30.28 71.462 17.254-37.196 27.745-77.21-42.12-94.23 38.313 20.83 32.962 105.25.93 70.77-19.66 36.393 28.903 46.923 30.32 73.558 1.145 21.548-18.805 21.214-33.916 7.468 1.39 33.63 26.576 36.938 39.054 54.836 27.306 39.166-14.327 68.647-39.308 46.163 4.337 38.776 26.144 64.053 54.576 84.212C92.46 304.957 131.467 205.87 178.576 150.22c25.333-29.928 53.268-47.503 80.98-51.273 3.463-.47 6.913-.712 10.34-.726 21.053-.087 41.165 8.386 57.596 24.544 36.358-6.065 45.915-44.68 13.487-70.46 1.828 64.344-67.158 21.956-66.564-36.255zm104.12 3.993c-6.333.11-13.55 2.39-21.448 7.477 35.57 10.134 37.05 44.868 14.775 81.2 49.277-26.507 40.868-89.265 6.672-88.677zm-272.333 3.12C69.545 22.65 54.15 79.77 92.807 103.84c-11.116-31.483 5.797-61.904 27.802-77.71-5.083-1.97-9.905-2.9-14.407-2.964zm163.87 93.696c-2.633.034-5.3.237-8 .605-21.6 2.94-45.96 17.336-69.233 44.828-44.866 53.002-84.617 154.055-93.772 303.228 8.6-2.924 16.847-2.806 23.96-.305 5.363 1.885 10.034 4.62 14.37 7.623 5.066-72.095 13.248-143.837 30.592-214.016l.473.117-6.81 147.94.25.01c-2.782 26.187-4.914 52.54-6.655 79.008 7.317 4.79 14.645 8.118 23.81 8.262 9.88.156 22.915-3.568 40.856-15.93-16.913-92.954-21.596-183.95 3.97-268.86-.17-3.325.088-6.7.848-10.056 2.023-8.927 7.973-17.458 17.41-22.906l.003-.002 52.53-30.29 17.848-11.81c-12.794-12.023-27.02-17.653-42.45-17.447zm68.37 27.91c-3.02.173-4.934.53-6.95 1.69h-.007l-80.004 46.136c-5.395 3.116-7.58 6.683-8.523 10.847-.945 4.166-.275 9.192 1.894 13.848 4.337 9.313 13.166 15.533 22.32 13.08l6.924-1.852 57.933 100.294.036.063c8.55 15.338 10.57 28.975 8.63 40.664-1.936 11.688-7.168 20.96-11.337 29.63-4.17 8.67-7.43 16.607-7.702 26.346-.27 9.734 2.376 21.82 12.088 38.724l.01.02 17.71 30.353H493.27V326.61c-12.267-6.23-24.566-5.693-39.182-7.292-16.313-1.783-35.21-8.355-49.412-31.873l-.04-.066-49.236-84.71-53.31 30.78-9.346-16.186 53.264-30.752-.1-.172 7.2-4.895c3.907-2.655 5.554-5.617 6.26-9.334.704-3.715.116-8.287-1.74-12.64-3.708-8.707-11.835-15.106-19.18-14.7h-.005z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Monkey;

impl IconShape for Monkey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M199.53 19.03l-15.81 43.595-47.94-16.906 37.845 43.843c-21.482 15.605-38.455 37.07-48.563 62.062-8.8-3.472-18.373-5.406-28.406-5.406-.67 0-1.334-.018-2 0C52.702 147.284 19 181.725 19 224.062c0 43.008 34.775 77.875 77.656 77.875 19.056 0 36.493-6.887 50-18.313 7.23 6.66 15.522 12.337 24.656 17.063-12.712 16.714-20.686 37.255-21.875 59.593 5.168 5.635 12.93 11.145 23.344 16.033 20.91 9.81 50.94 16.25 84.157 16.25s63.25-6.44 84.157-16.25c10.434-4.897 18.2-10.418 23.375-16.063-1.196-22.333-9.156-42.884-21.876-59.594 9.118-4.72 17.405-10.38 24.625-17.03 13.513 11.425 30.974 18.312 50.03 18.312 42.88 0 77.625-34.867 77.625-77.875 0-43.01-34.744-77.844-77.625-77.844-.67 0-1.334-.018-2 0-9.32.236-18.242 2.122-26.47 5.374-6.306-15.583-15.302-29.785-26.374-42.063l30.563-6.56-63.25-20.75 19.655-28.314-66.438 10.97c-8.427-1.565-17.122-2.376-26-2.376-13.512 0-26.58 1.9-38.968 5.438L199.53 19.03zM95.75 166.75c7.83 0 15.652 1.623 22.938 4.813-1.315 5.45-2.33 11.013-3 16.687-15.55-8.79-35.502-6.516-48.782 6.813-15.997 16.057-15.997 41.915 0 57.968 15.946 16.003 41.523 16.055 57.53.157 2.378 5.172 5.193 10 8.345 14.532-22.403 19.146-56.314 18.1-77.468-3.126-22.243-22.322-22.242-58.768 0-81.094 11.122-11.162 25.784-16.75 40.438-16.75zm322.406 0c14.654 0 29.317 5.588 40.438 16.75 22.243 22.326 22.244 58.772 0 81.094-21.148 21.222-55.062 22.256-77.47 3.125 3.158-4.54 5.935-9.383 8.313-14.564 16.007 15.93 41.607 15.888 57.563-.125 15.997-16.052 15.998-41.91 0-57.968-13.28-13.328-33.232-15.602-48.78-6.812-.67-5.674-1.687-11.237-3-16.688 7.292-3.19 15.106-4.813 22.936-4.812zm-223.22 16.406c20.812 0 37.69 16.908 37.69 37.78 0 20.873-16.878 37.814-37.69 37.814-20.81 0-37.686-16.94-37.686-37.813 0-20.87 16.877-37.78 37.688-37.78zm125.533 3.125c19.97 0 36.155 16.25 36.155 36.282 0 20.032-16.184 36.282-36.156 36.282-19.974 0-36.19-16.25-36.19-36.28 0-20.033 16.216-36.283 36.19-36.283zm-91.158 79.314l18 4.97-9.78 35.498-18-4.968 9.78-35.5zm55.25 0l9.782 35.5-18 4.97-9.78-35.502 17.998-4.968zm78.094 120.156c-4.226 2.705-8.79 5.2-13.625 7.47-24.213 11.362-56.503 18.03-92.092 18.03-35.59 0-67.88-6.668-92.094-18.03-4.822-2.264-9.38-4.743-13.594-7.44 9.62 44.998 53.293 62.564 105.688 62.564 52.407 0 96.112-17.573 105.718-62.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MonsterGrasp;

impl IconShape for MonsterGrasp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M108.777 256.058c.286 56.565 13.983 101.827 24.942 133.585C85.56 317.753 30.9 187.787 120.5 112.147c-42.56-4.31-92.374 25.796-95.78 71.213h-.19c-1.068 14.052 2.58 29.756 11.746 46.133C16.312 284.78 15.33 345.708 49.6 433.393c19.18 49.048 70.854 62.702 120.752 53.94 36.346-6.4 70.19-22.667 93.294-59.754 40.158-64.48 59.99-105.418 101.79-135.42 46.526-19.777 97.54-3.25 123.88 22.454-7.476-57.55-70.396-111.51-120.465-56.763-41.325 7.66-69.025 17.52-115.722 51.235 19.65-38.758 56.327-84.913 79.13-112.415 33.693-41.608 102.853-56.82 138.524-48.106-31.99-45.34-127.917-59.59-149.615 12.53-42.008 19.263-94.897 60.85-129.908 102.997 11.58-52.748 33.18-117.786 54.347-155.208 33.825-36.553 83.77-35.932 114.623-26.564-28.904-46.596-121.244-70.12-138.495 12.993-43.11 33.08-87.248 100.11-112.956 160.748z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Moon;

impl IconShape for Moon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.125 18.563c-131.53 0-238.375 106.813-238.375 238.343 0 131.53 106.846 238.344 238.375 238.344 131.53 0 238.344-106.815 238.344-238.344 0-131.528-106.816-238.344-238.345-238.344zm-23.938 52.093c40.517 0 77.988 12.904 108.532 34.813-5.597-.624-11.302-.97-17.064-.97-84.157 0-152.375 68.25-152.375 152.406 0 84.157 68.22 152.375 152.376 152.375 5.762 0 11.467-.313 17.063-.936-30.545 21.91-68.016 34.812-108.533 34.812-102.98 0-186.28-83.272-186.28-186.25 0-102.977 83.3-186.25 186.28-186.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MoonClaws;

impl IconShape for MoonClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.893 25.73c-129.963 0-235.13 105.166-235.13 235.13 0 52.99 17.487 101.856 47.007 141.154 18.687-22.89 36.79-51.545 40.99-78.98l-60.55-123.81 102.927-67.675c-32.11 41.175-42.93 80.322-36.914 113.11 6.575 35.84 33.437 62.59 69.39 74.065l5.682-17.807c-30.667-9.787-51.42-30.922-56.688-59.63-.662-3.61-1.076-7.368-1.22-11.26 20.214 13.75 81.03-26.946 139.773-113.604l101.445 20.11c-87.707 2.83-148.702 57.44-137.615 108.94l109.625-63.956 92.942 26.306c-86.43.5-159.89 25.05-162.032 83.56l106.065-37.67 85.447 68.612c-128.788-47.823-210.17 2.972-273.937 56.713-14.598 27.523-21.196 63.61-24.002 100.435 26.848 10.654 56.13 16.515 86.795 16.515 129.962 0 235.13-105.168 235.13-235.13 0-129.964-105.168-235.13-235.13-235.13z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MorbidHumour;

impl IconShape for MorbidHumour {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.95 17.338c-61.708 0-102.232 20.943-128.57 55.848-25.517 33.818-37.445 81.93-38.17 137.86 33.63 19.018 56.805 39.508 70.78 61.804 7.797 12.44 12.592 25.422 14.803 38.656l16.494 2.492-4.635 30.69c4.333 1.272 9.355 2.47 14.83 3.402.99.168 2.03.317 3.047.474l3.646-24.134 18.478 2.79-3.552 23.514c7.145.598 14.607.988 22.185 1.145v-20.5h18.688v20.417c7.532-.217 14.968-.652 22.09-1.318l-3.516-23.26 18.477-2.79 3.577 23.66c.388-.066.798-.124 1.183-.192 6.83-1.2 12.908-2.776 17.99-4.466l-4.445-29.434 17.785-2.685c8.21-38.67 34.413-73.048 85.563-100.422-.764-52.846-12.427-100.878-37.823-135.42C362.577 39.727 322.07 17.34 259.95 17.34zm-73.663 116.344c24.028-.286 46.155 15.473 52.942 39.556-3.906.72-7.97 1.394-11.933 2.453-37.542 10.045-65.257 32.45-72.463 55.626-9.722-7.055-17.098-16.803-20.45-29.287-7.768-28.947 9.456-58.735 38.444-66.49 4.495-1.203 9.01-1.805 13.46-1.858zm141.783 0c4.45.053 8.965.655 13.46 1.857 28.99 7.755 46.213 37.543 38.445 66.49-3.35 12.483-10.728 22.23-20.45 29.286-7.206-23.175-34.92-45.58-72.462-55.625-3.962-1.058-8.028-1.732-11.934-2.452 6.786-24.083 28.913-39.842 52.94-39.556zm-70.828 84.963c13.88 29.26 24.89 58.52 30.358 87.78-20.238-6.68-40.475-7.568-60.713 0 7.39-29.26 16.27-58.52 30.355-87.78zM166.44 362.84c-5.255 17.464-13.684 35.014-24.208 52.68 27.1 53.567 74.66 77.275 120.766 76.037 46.057-1.238 90.19-27.462 110.525-76.305-10.655-17.354-19.13-33.665-23.72-51.45-4.847 5.995-10.002 11.43-15.4 16.31l10.788 20.325-16.506 8.762-9.237-17.405c-4.638 3.094-9.402 5.822-14.267 8.172l6.025 19.41-17.85 5.54-5.662-18.243c-6.32 1.825-12.745 3.05-19.216 3.666v21.002h-18.69v-20.928c-7.14-.623-14.243-1.988-21.23-4.088l-5.77 18.59-17.85-5.54 6.192-19.944c-4.808-2.374-9.523-5.116-14.122-8.22l-9.55 17.987-16.507-8.762 11.13-20.967c-5.47-4.968-10.703-10.512-15.64-16.63z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mountains;

impl IconShape for Mountains {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.22 18.375c-132.32 0-239.783 107.43-239.783 239.75S123.9 497.905 256.22 497.905 496 390.446 496 258.126 388.54 18.375 256.22 18.375zm0 17.875c102.773 0 189.092 69.664 214.374 164.406l-79.313-81.47-6.967-7.155-6.688 7.47-77.22 86.438c-11.493-10.268-22.98-20.284-34.467-30.063l-6.563-5.625-6.125 6.156c-18.41 18.527-36.937 37.61-55.438 57.094l-76.437-83.375-6.875-7.5-6.875 7.5-71.188 77.313C51.364 119.34 143.983 36.25 256.22 36.25zm102.25 147.28l-3.845 35.376 21.563-32 10.75 16.688 9.968-8.47 27.188 26.814L417 187.344l19.5 5.062 39.188 40.25.843-.812c1.016 8.618 1.564 17.388 1.564 26.28 0 37.033-9.06 71.917-25.063 102.595-46.25-53.48-92.512-100.116-138.75-142.283l11-12.312 33.19-22.594zM138.31 206.28l26.438 18.782 20.22 22.032c-39.47 42.024-78.63 85.836-115.94 130.344-21.98-34.443-34.718-75.38-34.718-119.313v-.78l16.25-17.658 37.25-20.187-17.187 54.063 41.813-51.22 27.312 32.72-1.438-48.782zm141.375 61.657l53.157 60.938-7.688-54.563L386.312 315c18.918 19.863 37.83 40.733 56.75 62.78l.188-.186C403.853 439.216 334.868 480.03 256.22 480.03c-71.76 0-135.483-33.992-176.033-86.75 19.135-22.91 38.775-45.645 58.72-68.06l56.155-33.814-29.312 76.75 61.53-73.375 6.25 32.19 19.532-36.783 47.844 69.5-21.22-91.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mountaintop;

impl IconShape for Mountaintop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.813 14.47c-132.537 0-240.188 107.65-240.188 240.186 0 132.537 107.65 240.156 240.188 240.156C386.349 494.813 494 387.192 494 254.656S386.35 14.47 253.812 14.47zm0 18.686c122.436 0 221.5 99.064 221.5 221.5 0 17.96-2.133 35.412-6.157 52.125l-44.906-8.686-20.53-71.594-1.376-4.844-4.844-1.5-58.063-17.937-66.906-128.626-4.75-9.156-8.655 5.624-91.094 59.25-2.936 1.907-.97 3.374L116.19 301.97l-70.22 29.436c-8.82-23.91-13.656-49.753-13.656-76.75 0-122.436 99.064-221.5 221.5-221.5zm.812 62.125l-52.53 104.595 16.218 134.438 90.125-61.938v62.97l-23.563 6.25L305.72 470.03c-16.646 3.988-34.03 6.095-51.908 6.095-88.813 0-165.33-52.117-200.656-127.47l74.406-31.217 4.126-1.72 1.25-4.312 48.187-168.28 73.5-47.845z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mouse;

impl IconShape for Mouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M34.938 16.906l-13.438 13C38.818 47.84 43.224 67.702 43.938 90.53c.713 22.83-2.914 47.96-.844 73.407 2.07 25.448 10.682 51.637 35.437 73.375 12.552 11.02 28.978 20.904 50.5 29.594-35.85 77.342 47.795 132.472 156 132.938C271.356 402 258.744 410.08 251.28 423c-13.113 22.707-5.338 51.734 17.376 64.844 22.714 13.11 51.76 5.332 64.875-17.375 4.172-7.224 6.21-15.09 6.345-22.876 35.374 15.605 85.978 19.85 137.156 7.687-13.672-51.014-42.848-92.966-74.624-115.624 6.57-4.002 12.257-9.682 16.375-16.812 13.115-22.707 5.34-51.734-17.374-64.844-22.712-13.11-51.76-5.332-64.875 17.375-6.807 11.79-7.995 25.29-4.374 37.375-54.145-91.83-145.59-133.942-193.812-62.313-21.142-8.312-36.498-17.526-47.5-27.187-20.946-18.393-27.29-38.276-29.125-60.844-1.837-22.567 1.69-47.38.905-72.47-.784-25.088-6.53-51.12-27.688-73.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MouthWatering;

impl IconShape for MouthWatering {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M87.75 30.72c-5.104.03-10.333.31-15.72.874 5.062 68.606 43.873 95.378 127.75 66.25-26.35-43.13-62.692-67.418-112.03-67.125zm343.906 0c-49.338-.294-85.65 23.993-112 67.124 83.878 29.128 122.69 2.356 127.75-66.25-5.386-.563-10.646-.845-15.75-.875zM13.844 146.437c-.826 4.546-1.156 9.206-1.156 13.875 0 46.09 41.19 86.706 104.124 111.062 23.478 13.02 30.98 83.94 19.688 117.156-2.47 7.262-12.906 26.75-12.906 35.626 0 12.032 9.75 21.97 21.78 21.97 12.033 0 21.75-9.938 21.75-21.97 0-8.93-11.05-28.19-13.093-35.625-8.77-31.912-10.39-102.854 18.157-101.186 25.43 5.13 52.85 7.945 81.438 8h.094c19.003 1.767 24.585 30.437 15.843 56.156-1.87 5.496-9.405 20.092-9.407 26.813 0 9.108 7.36 16.468 16.47 16.468 9.108 0 16.468-7.36 16.468-16.467 0-6.762-8.328-21.184-9.875-26.813-5.86-26.52-4.616-39.726 12.81-41.656 19.96-2.21 28.955 77.376 17.283 111.72-3.103 9.124-16 34-16 45.155 0 15.12 12.162 27.282 27.28 27.28 15.12-.002 27.28-12.16 27.282-27.28 0-11.226-13.9-35.817-16.47-45.158-11.062-40.25-6.928-130.344 18.533-138.093.02-.008.04-.026.062-.033.387-.097.77-.182 1.156-.28.013-.01.02-.023.03-.032 2.284-.584 4.54-1.19 6.783-1.813 52.234-11.767 35.948 18 56.06 18 16.277 0 5.717-34.745 31.314-59.03 29.47-22.375 46.906-50.01 46.906-79.97 0-4.668-.36-9.328-1.188-13.875-13.076 54.687-115.864 96.438-240.593 96.438-124.73 0-227.55-41.75-240.626-96.438zM418 341.938c-12.01 0-21.75 9.74-21.75 21.75s9.74 21.718 21.75 21.718 21.72-9.71 21.72-21.72c0-12.008-9.71-21.748-21.72-21.748z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MovementSensor;

impl IconShape for MovementSensor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.75 18.03C176.355 17.888 96.154 60.586 52 137.063 7.275 214.53 11.082 306.688 53.938 378.375 27.51 311.467 33.587 226.695 77 151.5 120.44 76.26 190.892 28.59 262.094 18.062c-1.115-.017-2.23-.03-3.344-.03zm-.156 53.44c-63.895-.113-126.072 33.005-160.313 92.31-34.678 60.068-31.754 131.505 1.47 187.095-20.477-51.88-15.75-117.61 17.906-175.906 33.676-58.33 88.272-95.29 143.47-103.47-.843-.013-1.69-.03-2.532-.03zm-1.313 43.468c-48.386.374-95.35 25.61-121.25 70.468-38.886 67.355-15.73 153.738 51.626 192.625 67.355 38.89 153.738 15.762 192.625-51.592 38.89-67.356 15.73-153.77-51.624-192.657-21.048-12.15-43.95-18.232-66.687-18.81-1.564-.04-3.128-.045-4.69-.032zm-.436 18.593l-.625 29.44c-15.292.162-30.354 4.083-43.75 11.436l-14.97-24.78c18.08-10.315 38.536-15.868 59.344-16.095zm205.437.126c26.47 66.922 20.403 151.74-23.03 226.97-43.388 75.15-113.728 122.802-184.844 133.405 83.465 1.224 165.112-41.574 209.813-119 44.736-77.486 40.95-169.677-1.94-241.374zm-170.936 4.5c9.56 2.71 18.96 6.612 27.97 11.813 9.376 5.413 17.753 11.882 25.092 19.155l-21.812 20.906c-5.592-5.576-11.993-10.52-19.156-14.655-6.183-3.57-12.61-6.36-19.157-8.375l7.064-28.844zm125.062 22.97c20.533 51.897 15.84 117.688-17.844 176.03-33.63 58.248-88.13 95.19-143.25 103.438 64.702.924 127.973-32.262 162.625-92.28 34.698-60.1 31.742-131.587-1.53-187.19zm-246.344 9.843L190 191.75c-4.933 5.196-9.353 11.053-13.094 17.53-4.047 7.01-7.04 14.326-9.094 21.782l-27.843-6.843c2.72-10.083 6.774-19.988 12.25-29.47 5.087-8.814 11.1-16.765 17.843-23.78zm195.25 25.843c9.967 18.082 15.25 38.456 15.25 59.125l-30.812-.657c-.06-14.86-3.695-29.505-10.563-42.655l26.125-15.813zM135.782 258.5l28.78.625c.59 15.018 4.828 29.734 12.344 42.78l-24.844 15.033c-10.23-17.795-15.84-37.938-16.28-58.438zm209.937 24.22l29.936 7.342c-2.7 9.24-6.53 18.317-11.562 27.032-5.41 9.37-11.86 17.76-19.125 25.094L323.686 320c5.165-5.343 9.773-11.398 13.657-18.125 3.574-6.19 6.36-12.6 8.375-19.156zm-151.376 41c4.927 4.53 10.43 8.575 16.47 12.06 7.007 4.048 14.325 7.074 21.78 9.126l-7.094 28.906c-9.744-2.717-19.324-6.67-28.5-11.968-8.816-5.09-16.764-11.1-23.78-17.844l21.124-20.28zm107.437 13.03l15.814 26.156c-17.787 9.875-37.806 15.163-58.156 15.375l.625-30.124c14.59-.475 28.914-4.378 41.718-11.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MucousPillar;

impl IconShape for MucousPillar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.03 19.938c-1.902 9.598-3.692 19.185-5.374 28.78-17.01 60.474-23.59 125.95-18.594 185.844-.226 10.01-.312 20.024-.28 30.032C103.523 335 111.15 412.7 131.405 482.47c.817 4.12 1.668 8.252 2.53 12.374h51.47c-8.876-20.718-12.494-54.164-5.75-92.406 19.663 14.656 36.074 57.923 35.313 92.406h62.968c-5.56-16.518-9.622-44.473-11.657-77.75l-17.53 56.656c-13.64-27.468-22.648-100.036-24.5-183.406-4.885 34.097-13.57 67.383-26.28 97.53-49.444-53.084-39.555-175.16 11.093-285.562l16.937 80s12.138-103.81 22.78-148.687c-.005-.022-.024-.04-.03-.063h.03c-.003.02.006.044 0 .063 16.58 60.65 25.145 127.882 27.44 202.438 3.847-20.063 8.51-39.06 14.592-54.907 35.655 48.09 50.52 247.99 14.563 313.688h71.406c9.802-45.45 17.053-90.884 21.564-136.28 15.02-68.99 12.157-138.86.53-207.283-4.32-43.783-11.546-87.567-21.937-131.343h-38.062c4.322 39.652 4.63 113.673-10.5 166.032-30.267-41.15-47.72-111.623-48.656-166.032H134.03zm26.532 22.593c20.65 69.454 10.268 138.823-26.5 208.282-1.57-2.767-3.062-5.52-4.5-8.28-6.134-57.806-.59-122.652 15.375-182.47 4.745-5.884 9.943-11.737 15.625-17.53zm212.563 90.907c1.825 3.09 3.59 6.188 5.28 9.313 13.14 71.08 16.93 142.932 1.408 213.125-6.022 8.736-12.98 16.996-20.938 24.688-28.872-74.96-23.262-172.173 14.25-247.125zM126.97 287.781c29.516 56.466 37.825 128.855 21.218 185.19-16.653-59.234-24.03-124.576-21.22-185.19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MuscleFat;

impl IconShape for MuscleFat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.188 40.375c-168.48 35.59-220.94 167.97-17 187.47-13.147 35.014-21.172 74.948-22.22 114.218-35.694 33.01-59.593 66.343-59.593 66.343l47.72 47.72-39.345 26.218h113.28c-73.368-73.383-21.278-104.5 65.626-104.5 88.096 0 134.175 35.905 65.594 104.5h114.5l-40.563-26.22 47.72-47.718s-22.25-31.027-55.844-62.844c-.65-40.39-8.807-81.663-22.344-117.718 203.953-19.496 151.482-151.878-17-187.47-40.813 30.863 6.55 79.75 43.717 44.626 36.908 54.048 8.752 99.845-71.937 65.594-.02-.022-.042-.04-.063-.063-9.66 28.054-33.333 48.47-61.968 48.47-28.637 0-52.332-20.416-62-48.47l-.064.064C111.736 184.826 83.596 139.042 120.5 85c37.168 35.125 84.5-13.763 43.688-44.625zm90.28 24.063c-25.736 0-48 25.088-48 57.937 0 32.85 22.264 57.938 48 57.938 25.738 0 47.97-25.086 47.97-57.938 0-32.852-22.232-57.938-47.97-57.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MuscleUp;

impl IconShape for MuscleUp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.906 18.688C15.593 59.28-42.187 198.55 92.72 245.375h-1.095c.635.086 1.274.186 1.906.28 8.985 3.077 18.83 5.733 29.532 7.94C173.36 273.35 209.74 321.22 212.69 368c-33.514 23.096-59.47 62.844-59.47 62.844L179.5 469.53 138.28 493h81.97c-40.425-40.435-11.76-85.906 36.125-85.906 48.54 0 73.945 48.112 36.156 85.906h81.126l-40.375-23.47 26.283-38.686s-26.376-40.4-60.282-63.406c3.204-46.602 39.5-94.167 89.595-113.844 10.706-2.207 20.546-4.86 29.53-7.938.633-.095 1.273-.195 1.908-.28h-1.125c134.927-46.82 77.163-186.094-73.157-226.69-40.722 39.37 6.54 101.683 43.626 56.877 36.9 69.08 8.603 127.587-72.28 83.406-11.88 24.492-34.213 41.374-60.688 41.374-26.703 0-49.168-17.167-60.97-42-81.774 45.38-110.512-13.372-73.437-82.78 37.09 44.805 84.35-17.508 43.626-56.876zm90.79 35.92c-27.388 0-51.33 27.556-51.33 63.61 0 36.056 23.942 62.995 51.33 62.995 27.387 0 51.327-26.94 51.327-62.994 0-36.058-23.94-63.61-51.328-63.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Mushroom;

impl IconShape for Mushroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M243.156 33.438c-20.942-.063-42.734 2.257-65.187 7.437C126.963 52.643 68.322 107.47 42.53 162.72 29.636 190.342 25 217.58 31.25 238.937c5.222 17.848 17.492 32.643 41.625 42.28-6.435-11.346-11.127-23.515-13.594-35.437L77.595 242c3.298 15.935 12.104 33.888 23.75 47.375 16.41 3.68 34.136 6.598 52.625 8.875-6.342-14.927-6.5-28.125-6.282-39.344l18.687.375c-.273 13.994-.577 24.996 9.97 41.408 18.157 1.672 36.814 2.74 55.53 3.28-.398-14.217.6-27.983 1.875-41.5l18.594 1.75c-1.275 13.525-2.18 26.798-1.75 40.126 20.394.203 40.653-.242 60.187-1.22 2.538-14.65 4.195-27.985 5.876-41.53l18.563 2.312c-1.52 12.23-3.06 24.62-5.283 38.094 19.033-1.342 37.103-3.212 53.657-5.563 5.58-14.386 9.82-28.63 12.187-42.687l18.408 3.094C412.14 269 408.86 281.046 404.717 293c9.45-1.73 18.225-3.626 26.094-5.688 9.286-15.084 16.266-29.915 20.032-44.343l18.094 4.718c-2.556 9.79-6.28 19.428-10.907 28.968 19.744-11.594 28.6-28.806 30.064-49.687 1.953-27.843-11.252-62.942-37.25-95.376-42.248-52.705-116.938-97.886-207.688-98.156zm-57 287.156c-1.656 7.76-3.142 15.664-4.406 23.594-4.52 28.362-6.266 57.097-3.938 80.406 2.33 23.308 9.175 40.414 18.157 47.25 15.977 12.16 37.085 17.318 57.374 16.687 20.288-.63 39.502-7.255 50.844-16.5 9.073-7.394 16.467-30.6 17.187-60.655.647-27.003-3.187-59.006-10.5-89.094-40.29 2.05-83.374 1.668-124.72-1.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MushroomCloud;

impl IconShape for MushroomCloud {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.775 17.137c-18.823-.262-38.412 6.822-51.54 20.02l-5.858 5.89-6.535-5.127c-35.796-28.083-78.147-22.538-98.727 10.39l-3.465 5.547-6.398-1.357c-27.027-5.737-53.6 4.882-69.373 23.047-15.776 18.165-21.16 42.634-5.937 68.43l3.68 6.234-5.12 5.122c-7.12 7.122-9.71 16.235-8.956 26.824.753 10.59 5.242 22.277 12.04 31.98 6.8 9.705 15.853 17.3 24.67 20.634 8.82 3.333 16.93 3.112 25.68-2.877l6.626-4.538 5.48 5.868c18.752 20.07 63.427 19.456 81.504-9.315l4.967-7.906 7.91 4.96c9.652 6.05 21.095 6.628 32.078 3.243 10.983-3.384 21.017-10.924 26.445-19.56l8.34-13.272 7.707 13.648c5.984 10.6 21.754 20.7 39.238 24.517 17.485 3.818 35.716 1.47 46.955-7.793l7.116-5.863 5.96 7.036c13.405 15.834 34.384 19.713 51.292 15.234 8.453-2.24 15.61-6.562 20.1-11.894 4.49-5.332 6.64-11.394 5.548-19.36l-1.412-10.292 10.386-.317c14.28-.435 23.67-5.757 30.195-13.635 6.527-7.877 9.99-18.775 9.966-30.103-.05-22.658-12.994-45.11-39.104-48.66l-9.843-1.34 1.936-9.743c1.49-7.49-1.057-16.514-7.54-25.764-6.485-9.25-16.708-18.272-28.37-24.904-11.662-6.634-24.726-10.866-36.596-11.388-11.87-.522-22.266 2.385-30.62 9.863l-7.743 6.934-6.072-8.437c-10.336-14.36-27.786-21.715-46.61-21.976zm-23.13 207.613c-7.79 7.932-17.737 13.957-28.64 17.316-12.57 3.874-26.675 4.027-39.61-1.3-13.607 16.66-33.646 25.044-53.58 25.658.803 2.694 2.022 5.36 3.65 7.885 4.48 6.947 11.786 12.436 20.377 14.188 8.59 1.752 18.766.2 30.504-8.578l9.133-6.828 4.9 10.295c1.805 3.793 10.955 9.652 22.417 10.94 11.462 1.286 23.836-1.518 30.982-8.206l7.2-6.737 6.34 7.55c7.687 9.153 18.164 11.31 28.223 9.768 10.06-1.54 18.25-8.15 19.394-10.936l4.225-10.297 9.41 5.943c9.343 5.9 17.365 6.48 24.47 4.494 7.103-1.987 13.382-6.983 17.39-13.273 3.672-5.763 5.297-12.387 4.51-18.327-7.83-2.86-15.302-7.21-21.903-13.22-16.45 9.763-37.038 10.807-55.794 6.712-16.836-3.676-32.71-11.465-43.6-23.045zm5.767 80.373c-7.74 4.837-16.592 7.306-25.443 8.002v41.938c-39.484 1.013-74.942 4.618-102.22 10.093-16.214 3.255-29.515 7.07-39.53 11.844-5.01 2.387-9.234 4.994-12.69 8.406-3.454 3.412-6.343 8.197-6.343 13.75 0 5.553 2.866 10.328 6.313 13.75 3.447 3.422 7.682 6.03 12.688 8.438 10.01 4.818 23.314 8.72 39.53 12.03 20.218 4.13 44.93 7.244 72.438 9-15.85 21.005-36.292 38.707-56.937 50.438H364.5c-20.393-12.03-39.75-29.664-54.72-50.312 28.51-1.726 54.114-4.872 74.94-9.125 16.215-3.312 29.52-7.213 39.53-12.03 5.006-2.41 9.24-5.016 12.688-8.44 3.446-3.42 6.28-8.196 6.28-13.75 0-5.55-2.857-10.337-6.312-13.75-3.455-3.41-7.68-6.018-12.687-8.405-10.017-4.773-23.32-8.59-39.533-11.844-27.645-5.55-63.688-9.17-103.812-10.125v-40.776c-6.473-1.61-12.817-4.55-18.463-9.13zm19.12 68.596c38.834.986 73.608 4.558 99.468 9.75 15.31 3.072 27.538 6.774 35.156 10.405 3.81 1.815 6.438 3.64 7.625 4.813.298.293.28.317.408.468-.13.156-.123.188-.438.5-1.196 1.187-3.814 3.04-7.625 4.875-7.622 3.67-19.85 7.406-35.156 10.533-22.08 4.51-50.67 7.833-82.72 9.343-8.816-16.007-14.824-33.213-16.72-50.687zm-45.157.06c-1.88 17.484-8.158 34.644-17.28 50.533-31.217-1.555-59.056-4.838-80.657-9.25-15.308-3.127-27.534-6.863-35.157-10.532-3.81-1.833-6.428-3.686-7.624-4.874-.32-.318-.31-.344-.437-.5.126-.15.134-.17.436-.47 1.188-1.17 3.785-2.996 7.594-4.81 7.62-3.632 19.846-7.334 35.156-10.407 25.525-5.125 59.738-8.648 97.97-9.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MushroomGills;

impl IconShape for MushroomGills {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.502 23.338c-5.264-.017-10.602.064-16.01.248-43.932 1.49-108.495 9.014-156.07 34.525C60.634 70.868 41.228 87.856 29.7 110.58c-9.905 19.523-14.218 43.612-9.827 74.12 79.586-64.2 182.69-74.987 273.576-62.077 47.868 6.8 92.504 20.13 129.124 35.908 28.17 12.14 51.478 25.535 68.19 39.144 4.646-44.342-14.038-85.896-52.41-117.906-40.398-33.704-102.896-56.172-181.852-56.43zm-27.35 113.168c-72.544-.373-146.55 17.994-205.015 68.86 15.44 23.347 72.354 38.202 141.166 45.177 4.5-11.288 9.557-22.123 15.115-32.36-15.682 5.088-33.815 6.356-51.043 5.223-13.068-.86-25.607-3.256-36.28-7.28-10.675-4.026-19.932-9.497-25.032-18.657l16.343-9.095c1.584 2.844 6.904 7.122 15.28 10.28 8.38 3.16 19.37 5.336 30.908 6.095 21.135 1.39 44.096-2.553 57.01-10.303-9.4-5.153-17.12-11.833-21.542-20.76l16.75-8.28c2.68 5.406 9.784 11.377 20.47 15.905 3.946 1.673 8.327 3.147 13.01 4.397l57.778 3.286c18.18-2.502 34.71-8.302 44.836-17.06l12.22 14.126c-7.633 6.6-16.785 11.604-26.82 15.237 2.192 1.31 4.8 2.593 7.82 3.73 8.377 3.16 19.367 5.336 30.905 6.095 23.078 1.518 48.34-3.32 60.314-12.53l11.406 14.81c-18.577 14.295-46.802 18.095-72.938 16.376-13.067-.858-25.607-3.255-36.28-7.28-2.15-.81-4.23-1.69-6.243-2.64-.47 11.334-.645 22.946-.528 34.744 86.96-3 164.896-16.872 182.375-40.6-14.69-12.323-37.7-26.132-65.96-38.31-35.058-15.105-78.26-28.02-124.357-34.57-20.167-2.864-40.858-4.51-61.668-4.618zm-18.006 67.63c-45.666 65.347-67.017 176.985-37.548 259.09 4.526 12.61 15.112 21.154 29.945 26.465 14.833 5.313 33.477 6.814 50.97 4.92 17.49-1.895 33.836-7.28 43.893-14.122 5.03-3.42 8.39-7.112 10.073-10.467 1.68-3.353 2.067-6.28.87-10.338-22.968-77.82-32.768-171.644-28.024-251.555l-70.18-3.992z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct MusicSpell;

impl IconShape for MusicSpell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.346 21.72C166.6 21.42 106.33 48.002 65.633 99.272c-70.398 88.68-55.576 217.634 33.103 288.032 6.407 5.09 13.482 9.924 20.276 14.13C46.694 328.73 38.35 211.73 103.664 129.462c65.31-82.275 181.147-100.695 268.36-46.756-5.63-5.66-11.952-11.454-18.358-16.54-37.412-29.7-81.993-44.23-126.32-44.448zm40.79 68.012c-17.173-.17-34.464 4.025-50.984 13.588l.13.237-3.91 1.95c32.484 65.062 44.2 140.54 37.956 217.565-16.43-21.657-45.042-39.13-74.498-43.38-40.71-5.87-67.6 15.738-60.06 48.265 7.542 32.527 46.656 63.654 87.365 69.525 33.316 4.805 57.36-8.8 60.87-31.726h.005c8.48-53.158 9.01-106.548.57-157.475 59.49-1.135 110.173 84.413 71.965 171.062 80.733-78.593 6.76-226.6-81.28-213.508-1.872-6.79-3.92-13.516-6.144-20.176 76.357-22.337 165.25 73.996 134.405 190.856C461.34 235.536 366.66 90.718 268.137 89.732zm119.83 14.264c74.538 70.422 86.508 187.106 23.778 271.363-62.724 84.26-177.937 106.267-266.78 55.062 5.804 5.48 12.3 11.076 18.862 15.96 90.823 67.61 219.258 48.798 286.867-42.028 67.612-90.823 48.798-219.256-42.025-286.868-6.56-4.887-13.783-9.498-20.703-13.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NailedFoot;

impl IconShape for NailedFoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M296.863 16.45c17.48 71.11 24.22 245.104-34.8 319.093l11.26 19.447.134.276c1.7 3.442 2.233 7.003 1.975 10.472l.148-.08-15.764 95.8-19.425-52.462v81.33h7.067c55.25-17.22 98.094-24.153 174.5-3.68 55.486 14.867 95.82-25.906 67.127-107.337-39.195-111.238-35.708-258.27 1.853-362.86H296.863zm-128.21 146.946c-13.198.006-30.01 4.504-46.2 13.805-16.19 9.302-28.502 21.534-35.094 32.882-6.592 11.348-7.234 20.674-3.626 26.893 3.61 6.22 12.106 10.362 25.303 10.357 13.197-.005 30.006-4.504 46.197-13.805 16.19-9.3 28.503-21.532 35.094-32.88 6.59-11.35 7.236-20.674 3.627-26.893-3.61-6.22-12.106-10.363-25.303-10.358zm14.626 73.37c-5.64 4.68-11.91 9.044-18.737 12.966-5.56 3.195-11.19 5.917-16.813 8.182l73.598 126.654.125.248c.69 1.37.927 1.63 4.81 1.397 3.88-.233 9.92-2.238 15.385-5.453 5.467-3.215 10.42-7.624 12.99-11.31 2.536-3.644 2.417-5.126 2.067-5.862L183.28 236.766zm12.197 140.51c-5.563 3.395-11.23 6.89-16.995 10.525-33.785 21.3-68.207 38.483-93.943 45.15-64.52-14.67-91.224 57.353-28.68 57.353l.005.023h165.838v-84.834l-14.1 35.766-4.728-51.25-7.398-12.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NailedHead;

impl IconShape for NailedHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206.28 20.75l40.75 18.406v95.625l11 17.907 12.75-17.906V39.157l40.75-18.406H206.28zm-81.874 32.28L49.97 127.438l41.843-15.78 67.624 67.624 21.657 3.657-4.875-20.468-67.626-67.595 15.812-41.844zm264.281 0l15.782 41.845-67.626 67.594-4.875 20.468 21.686-3.657 67.594-67.624 41.844 15.78-74.406-74.405zM258.281 167.47c-18.774 0-35.987 9.647-49 26.28-13.01 16.633-21.374 40.158-21.374 66.313 0 27.096 9.278 51.387 23.188 68.156l10.125 12.217-15.595 2.938c-39.857 7.504-58.408 22.664-69.28 48.25-10.143 23.866-12.33 58.635-12.595 103.094h270.406c-.04-44.852-.605-80.457-9.812-104.626-9.865-25.894-27.82-41.064-71.28-47.906l-15.845-2.5 10-12.563c13.226-16.583 21.436-40.478 21.436-67.063 0-26.153-8.363-49.68-21.375-66.312-13.01-16.633-30.224-26.28-49-26.28zM35.407 206.78V312l18.438-40.75h95.594l17.906-12.72-17.906-11H53.844l-18.438-40.75zm446.97 0l-18.407 40.75h-95.626l-17.906 11 17.906 12.72h95.625L482.374 312V206.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Nails;

impl IconShape for Nails {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M131.656 49.656L22.312 159l12.344 12.344 46.813-28.906 32.686-32.688-.062-.063L144 62l-12.344-12.344zm247.688 0L367 62l26.906 43.563 37.688 37.687 44.75 28.094L488.688 159 379.344 49.656zm4.906 72.688L371.094 135.5l20.687 20.688-32.81-8.594-10.97 11 21.03 21.03-33.342-8.75-10.782 10.814 21.375 21.375-33.874-8.907L87.97 418.626 66.405 472.03l53.313-21.655L416 154.095l-31.75-31.75zm-256.875.625l-31.75 31.75 10.656 10.655 21-21-8.718 33.28 10.813 10.814 21.344-21.345-8.876 33.813 10.625 10.625 21.686-21.688-9.03 34.344 45.56 45.56 31.75-31.75-115.06-115.06zm172.938 172.905l-31.75 31.75 122.75 122.75 53.375 21.563-21.657-53.313-122.717-122.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NeedleDrill;

impl IconShape for NeedleDrill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.97 19.03v145.69l19 13.155 74.28-17.563c-4.117-3.716-7.11-6.512-8.47-7.968-19.19-20.57-18.095-52.807 2.47-72 20.565-19.193 52.81-18.063 72 2.5 19.197 20.572 260.906 354.219 260.906 354.219s-17.017-14.22-27.437-22.938l.03.094-24.28 5.75L494.936 493l-67.53-97.5 5.312-15.47-12.345-20.75-.28-.092-5.908 17.218-11.312-16.344 6.75-18.906-12.406-20.875-7.44 20.876-13.405-19.344 8.344-22.593-12.314-20.72-9.03 24.53-15.626-22.53 9.625-27.28-12.406-20.94-10.345 29.282-19.75-28.53 11.563-31.938-12.344-20.78-12.28 33.874-23.095-33.375 13.436-37.438-12.375-20.844-14.124 39.407-37.22-53.687 17.376-42.906-12-20.188-18.093 44.72-49.064-70.845H20.97zm124.155 68.564c-13.444 0-24.344 10.9-24.344 24.344 0 13.443 10.9 24.343 24.345 24.343 13.444 0 24.344-10.9 24.344-24.343 0-13.445-10.9-24.343-24.345-24.343zm41.47 54c-4.218.177-8.317 1.77-11.532 4.812-7.35 6.956-7.29 18.925.125 26.688 7.413 7.763 128.468 107.937 128.468 107.937s-94.344-125.3-101.844-133.186c-4.17-4.367-9.797-6.478-15.218-6.25zm-55.19 33.875l-70.78 16.718 62.313 43.156 61.343-14.5c-20.956-17.847-39.128-33.397-52.874-45.375zm70.532 60.405l-58.312 13.78 39.563 27.407 52.687-12.437c-11.68-9.874-23.005-19.47-33.938-28.75zm51.688 43.75l-49.78 11.75L238 315.03l45-10.624c-9.817-8.27-19.6-16.53-29.375-24.78zm47.22 39.78l-42.158 9.97 27.282 18.875 38.405-9.063c-7.717-6.484-15.565-13.08-23.53-19.78zm41.374 34.783l-35.595 8.406 23.656 16.344 32.345-7.625c-6.937-5.82-12.952-10.867-20.406-17.125zm38.28 32.093l-29.563 7 17.875 12.345 27.125-6.406c-5.52-4.624-9.134-7.656-15.437-12.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NeedleJaws;

impl IconShape for NeedleJaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.168 102.43C-34.42 255.564 225.603 466 326.388 482.01c36.74 5.836 109.387-93.303 130.944-124.62-32.686 37.326-108.077 104.35-121.946 95.068-14.908-9.98 46.04-88.917 72.323-137.386-35.216 42.393-122.76 115.38-136.622 107.56-12.225-6.897 37.388-82.313 58.55-121.462-29.417 33.236-98.877 93.256-110.383 86.967-11.204-6.122 28.88-73.8 49.054-110.033-24.97 26.415-82.02 78.025-91.383 70.56-8.37-6.67 28.014-63.215 42.05-90.63-21.85 25.083-71.967 65.835-81.57 56.175-8.51-8.564 25.162-62.032 36.928-88.987-19.023 19.976-67.458 56.563-75.562 45.07-7.567-10.735 20.135-58.707 32.126-83.854-17.518 20.437-61.795 50.78-69.34 36.288-5.557-10.677 14.54-47.267 22.69-65.4-12.726 11.458-39.503 25.235-44.53 12.902 2.505-34.28 20.022-75.272 50.244-86.8 5.65 3.223 6.79 33.026 3.874 50.74 6.19-18.967 31.434-61.29 43.58-51.016 7.92 6.698 2.302 53.597 1.682 71.46 6.64-26.364 36.297-88.395 49.777-79.137 8.686 5.964 3.02 77.425-4.936 101.378 12.532-21.33 40.73-102.7 52.875-96.422 11.26 5.824 6.45 80.195 1.366 112.52 10.057-34.37 41.118-113.07 54.18-107.677 9.263 3.823 6.265 77.094-3.595 115.908 10.948-29.238 47.873-112.855 59.338-109.81 11.466 3.044 2.763 86.558-2.934 123.952 12.11-35.486 45.12-121.676 59.057-117.82 12.738 3.526 4.384 99.27-2.134 140.53 15.418-36.996 50.685-135.855 65.91-128.55 15.522 7.444-5.206 126.565-8.118 149.87 17.282-34.38 46.654-148.113 29.962-176.66-117.27-25.592-424.52-63.63-459.68 19.726z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NestedEclipses;

impl IconShape for NestedEclipses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.225 46.588c-26.494 0-47.772 21.275-47.772 47.77 0 26.495 21.278 47.775 47.772 47.775 26.493 0 47.77-21.28 47.77-47.774 0-26.497-21.276-47.772-47.77-47.772zm-69.67 5.285c-32.036 21.7-53.203 57.98-53.203 99.02 0 66.417 54.854 120.078 122.668 120.078 67.813 0 123.035-53.66 123.035-120.077 0-41.04-21.17-77.32-53.205-99.02 17.492 17.676 28.082 41.888 28.082 68.72 0 54.042-43.87 97.915-97.91 97.915-54.042 0-97.913-43.873-97.913-97.916 0-26.83 10.958-51.043 28.45-68.72h-.005zm-63.36 4.666C61.015 97.982 20.59 167.265 20.59 245.64c0 126.838 104.755 229.32 234.26 229.32 129.504 0 234.964-102.482 234.964-229.32 0-78.374-40.426-147.657-101.605-189.1 33.403 33.756 53.624 79.993 53.624 131.237 0 103.206-83.78 186.987-186.984 186.987-103.204 0-186.987-83.78-186.987-186.987 0-51.244 20.928-97.48 54.332-131.238z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NewShoot;

impl IconShape for NewShoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M443.8 18.18C374.1 34.78 283.7 95.63 288 174.5l-.6.3c-12.3-33.5-29.6-48.4-62.2-63.2-43-18.66-89.7 0-157.01-37.35C113 130.3 113 205.1 178.4 223.8c44.5 14.8 91.3 6.1 109.7-7.5 21.3 72.8 18.2 144.9-14.6 217.5-1.3-35-11.2-77.8-24.9-108.2-5.6 37.4-1.9 93.4-39.3 130.8 1.9-18.7-13.1-56-28-74.7 0 37.3 3.7 74.7-20.6 112.1h241.1c5.2-17.5 7.2-35 9-37.2-7.5 4.7-14.7 11.1-28.1 13.6 3.7 0 2.3-32.5.4-51.2-14.9 37.4-37.3 56.1-61.6 56.1 26.1-37.4 22.4-56.1 18.7-93.4-13 32.4-24.6 50.8-53.2 67.3 37.7-78.8 41.9-158.4 19.3-237.2 25.1 11.4 53.4 7.2 85.2-25.4 37-37.9 9.4-112.15 52.3-168.22zm-33 438.42c.2 0 .3-.1.4-.2-.1 0-.2.1-.4.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NightSky;

impl IconShape for NightSky {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.813 15.625c-132.32 0-239.782 107.46-239.782 239.78s107.463 239.782 239.782 239.782c132.32 0 239.782-107.46 239.782-239.78S386.132 15.624 253.814 15.624zm0 17.906c122.653 0 221.906 99.223 221.906 221.876 0 30.738-6.26 59.99-17.533 86.594l-42.343-34.72c-49.613 13.98-110.337 9.033-138.906-60.874l-41.97 152.938c-8.837-45.53-23.35-81.28-47.905-115.22-19.71 13.855-32.352 32.63-39.72 50.97L88.94 237.03c-17.85 27.32-33.77 56.565-45.032 90.47-7.744-22.6-11.968-46.852-11.968-72.094 0-26.013 4.484-50.973 12.687-74.156 2.752 6.608 9.27 11.25 16.875 11.25 10.093 0 18.28-8.157 18.28-18.25s-8.187-18.28-18.28-18.28c-2.385 0-4.66.48-6.75 1.31 27.537-55.83 77.83-98.368 138.844-115.5-.558 1.938-.844 3.98-.844 6.095 0 12.146 9.823 22 21.97 22 12.144 0 22-9.854 22-22 0-4.99-1.67-9.59-4.47-13.28 7.092-.683 14.29-1.064 21.563-1.064zm18.75 27.657c-6.444 0-11.657 5.213-11.657 11.657 0 6.443 5.213 11.687 11.656 11.687 6.444 0 11.688-5.243 11.688-11.686 0-6.444-5.244-11.656-11.688-11.656zM198.03 90.22c-6.02.06-12.132.868-18.218 2.5-38.945 10.434-62.06 50.46-51.625 89.405 10.436 38.946 50.463 62.06 89.407 51.625 21.712-5.818 38.48-20.85 47.28-39.75-6.835 7.36-15.737 12.958-26.155 15.75-29.504 7.905-59.846-9.59-67.75-39.094-7.907-29.504 9.62-59.813 39.124-67.72 10.41-2.788 20.906-2.417 30.5.533-12.28-8.598-27.116-13.405-42.563-13.25zm155.282.81c-9.408 0-17.03 7.624-17.03 17.032 0 9.41 7.622 17.032 17.03 17.032 9.41 0 17.032-7.623 17.032-17.03 0-9.41-7.623-17.033-17.03-17.033zm-248.937 27.376c-6.443 0-11.656 5.244-11.656 11.688 0 6.443 5.212 11.656 11.655 11.656s11.656-5.213 11.656-11.656c0-6.444-5.212-11.688-11.655-11.688zm275.688 40.813l-.625 29.843-28.22 9.812 28.22 9.813.625 29.843 18.03-23.78 28.563 8.625-17.03-24.5 17.03-24.53L398.094 183l-18.03-23.78zm-72.094 11.593c-6.445 0-11.658 5.212-11.658 11.656 0 6.442 5.213 11.686 11.657 11.686 6.442 0 11.686-5.244 11.686-11.687 0-6.445-5.244-11.657-11.687-11.657zm139 74.75c-6.445 0-11.658 5.244-11.658 11.687s5.213 11.656 11.657 11.656c6.442 0 11.686-5.213 11.686-11.656 0-6.443-5.244-11.688-11.687-11.688zm-127.314 3.5c-6.443 0-11.656 5.244-11.656 11.687s5.213 11.656 11.656 11.656c6.444 0 11.656-5.213 11.656-11.656 0-6.443-5.212-11.688-11.656-11.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NinjaMask;

impl IconShape for NinjaMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.063 21c-46.697 0-88.406 27.674-117.844 70.656-29.44 42.982-47.25 101.566-47.25 166.094 0 64.527 17.81 123.112 47.25 166.094 29.437 42.982 71.146 70.656 117.843 70.656 46.696 0 88.405-27.674 117.843-70.656 29.44-42.982 47.25-101.567 47.25-166.094 0-64.528-17.81-123.112-47.25-166.094C343.468 48.674 301.76 21 255.062 21zM396.28 200.344c3.365 18.28 5.19 37.527 5.19 57.406 0 18.535-1.594 36.522-4.533 53.688-37.91 12.904-87.436 20.812-141.656 20.812-54.45 0-104.125-8.235-142.186-21.313-2.884-17.014-4.438-34.833-4.438-53.187 0-19.868 1.827-39.103 5.188-57.375 37.903 14.565 87.35 23.25 141.47 23.25 54.136 0 103.183-8.707 140.967-23.28zM177.157 241c-15.137-.162-30.97 3.458-47.375 10.313 14.562 51.423 87.08 42.483 102.157 10.156-17.004-13.822-35.318-20.262-54.78-20.47zm155.75 0c-19.462.208-37.808 6.648-54.812 20.47 15.078 32.326 87.596 41.266 102.156-10.158-16.405-6.854-32.206-10.474-47.344-10.312z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NoodleBall;

impl IconShape for NoodleBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304.04 95.943c-79.228 0-143.253 64.03-143.253 143.252 0 9.654.96 19.078 2.772 28.192-22.445 23.575-46.822 37.388-73.132 42.35-1.933-10.607-2.27-19.24-1.414-25.98 1.144-8.995 4.098-14.5 8.43-18.54 8.072-7.523 23.912-10.467 45.583-8.592-.615-5.728-.94-11.54-.94-17.43 0-.47.014-.938.018-1.408-3.816-.298-7.567-.49-11.216-.52-18.457-.16-34.558 3.44-46.187 14.28-7.753 7.226-12.66 17.52-14.228 29.853-1.132 8.898-.682 18.93 1.322 30.373-16.354.544-33.408-2.04-51.16-7.54v19.412c18.878 5.15 37.466 7.192 55.474 5.986 8.494 26.69-.19 41.56-14.157 51.196-11.892 8.205-28.824 10.96-41.316 8.95v19.1c17.094 2.303 36.343-1.914 51.93-12.667 18.842-13 30.736-37.682 22.26-69.046 26.722-5.317 51.87-18.246 74.444-39.228 2.447 6.778 5.384 13.32 8.78 19.576-30.85 25.655-43.58 56.202-43.204 85.517-9.9 3.555-20.404 6.9-31.147 10.747-29.692 10.635-61.255 26.32-83.063 62.43v27.207h7.082C46.43 447.77 76.77 433.274 110 421.374c8.885-3.183 17.95-6.072 26.947-9.208.882 4.257 2.017 8.46 3.42 12.58 4.645 13.653 11.786 26.503 20.722 38.1-22.457 6.016-45.297 14.744-64.725 30.568h35.256c13.68-6.47 28.634-10.904 43.734-14.576 5.403 5.27 11.19 10.146 17.268 14.576h37.518c-11.303-4.82-22.265-11.566-32.198-19.693 8.438-1.83 16.776-3.636 24.73-5.638 7.32-1.842 14.407-3.86 21.05-6.37 5.908 5.28 12.54 9.822 19.646 13.546 36.47 19.108 86.82 17.54 120.886-15.737 2.85.773 5.727 1.45 8.633 2.027 12.053 2.387 24.517 3.173 37.235 2.586 4.218 9.506 7.59 19.355 10.018 29.28h19.175c-2.296-10.575-5.534-21.05-9.658-31.212 15.25-2.28 30.752-6.333 46.254-11.81V430.48c-18.596 7.04-36.965 11.834-54.527 13.926-4.735-8.945-10.17-17.518-16.248-25.55 7.778-6.334 15.64-11.77 23.362-15.774 17.26-8.95 32.38-11.436 47.412-3.11v-20.126c-18.558-6.217-38.35-2.512-56.014 6.646-9.272 4.808-18.247 10.998-26.863 18.018-14.04-14.935-30.767-27.17-49.465-34.955 30.785-14.052 55.687-38.678 70.1-69.258 20.06 10.944 41.627 11.273 62.242 4.268v-19.943c-19.617 8.81-37.257 9.607-55.383-1.78 4.386-13.758 6.76-28.42 6.76-43.65 0-79.227-64.024-143.252-143.25-143.252zm191.874 225.63c-18.32 16.822-37.05 23.787-54.63 23.413-4.47-.095-8.896-.67-13.25-1.713-4.47 5.317-9.273 10.345-14.38 15.047 8.737 3.314 17.885 5.153 27.235 5.352 18.42.39 37.312-5.617 55.024-18.11v-23.988zm-307.805 1.86c10.72 14.74 24.183 27.35 39.65 37.08-12.352 24.623-13.65 48.263-6.67 68.03 2.277 6.45 5.386 12.45 9.174 17.96-3.806 1.23-7.86 2.375-12.15 3.454-11.104 2.795-23.568 5.155-36.573 7.99-10.448-11.807-18.713-25.218-23.477-39.22-1.487-4.37-2.662-8.788-3.502-13.24 3.416-1.437 6.795-2.965 10.124-4.62 15.186-7.55 29.37-18.018 39.957-33.887-4.973-3.876-9.714-8.037-14.2-12.457-8.587 13.99-20.055 22.64-34.075 29.61-1.027.51-2.07 1.01-3.123 1.5 1.272-21 11.417-42.236 34.867-62.2zm56.1 45.985c18.2 8.358 38.46 13.023 59.83 13.023 9.266 0 18.322-.885 27.095-2.56 25.992 3.503 49.128 17.207 67.89 37.016-7.132 6.784-13.942 13.978-20.42 21.24-18.798-7.092-35.432-19.51-49.26-38.974-6.888 1.085-13.918 1.74-21.064 1.926 15.024 24.198 34.243 40.98 55.94 51.115-27.487 21.187-64.714 20.888-92.175 6.5-3.558-1.864-6.92-3.964-10.074-6.262 3.602-2.48 6.925-5.302 9.903-8.563 9.614-10.527 14.227-25.235 12.77-43.898-6.5-.78-12.88-1.945-19.12-3.472 2.726 17.596-.733 27.412-7.45 34.765-2.627 2.88-6.04 5.44-10.106 7.756-3.976-5.084-7.128-10.68-9.256-16.708-5.19-14.705-4.758-32.27 5.5-52.904zm166.876 61.89c3.382 4.568 6.534 9.348 9.463 14.28-7.44-.07-14.675-.7-21.657-1.936 3.98-4.235 8.048-8.383 12.193-12.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct NothingToSay;

impl IconShape for NothingToSay {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.156 56.938c-64.144 0-122.393 19.17-165.03 50.718-42.64 31.547-69.845 76.01-69.845 125.5 0 49.492 27.207 93.952 69.845 125.5 6.388 4.727 13.13 9.164 20.188 13.313l-12.657 95.905 90.594-65.75c21.226 4.708 43.67 7.25 66.906 7.25 64.144 0 122.362-19.17 165-50.72C461.794 327.11 489 282.65 489 233.156c0-49.49-27.206-93.95-69.844-125.5-42.638-31.546-100.856-50.718-165-50.718zM157 274.438c12.69 0 23 10.276 23 22.968 0 12.69-10.31 23-23 23s-22.97-10.31-22.97-23 10.28-22.97 22.97-22.97zm96.844 0c12.69 0 22.97 10.276 22.97 22.968-.002 12.69-10.28 23-22.97 23s-23-10.31-23-23 10.31-22.97 23-22.97zm99.844 0c12.69 0 22.968 10.276 22.968 22.968 0 12.69-10.278 23-22.97 23-12.69 0-22.998-10.31-22.998-23s10.31-22.97 23-22.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oak;

impl IconShape for Oak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M348.92 15.633c-1.387-.018-2.776.02-4.168.113l-.002.006c-13.368.9-26.782 7.143-39.715 19.27-20.056-5.876-37.08-10.614-57.232-.58-37.81-11.887-75.686-13.068-104.54 19.27-42.477-10.09-87.2 9.883-76.51 58.985-47.074 14.955-56.408 78.2-.58 73.586 7.938 46.78 41.118 55.937 83.514 40.883 19.41 24.008 46.462 39.182 77.282 46.443.28 5.105.085 10.33-.566 15.68-5.807 47.77-50.79 105.31-121.367 154.696L81.12 460.723l29.16-1.354c29.003-1.347 48.05-2.39 58.935-1.55-5.818 6.555-11.317 12.37-16.28 17.297L134.04 493.88l26.26-4.417c23.887-4.017 44.442-7.94 59.927-8.363 15.484-.423 24.434 2.174 29.916 9.552l7.33 9.864 6.597-10.368c6.53-10.26 13.576-12.87 27.227-12.257 13.65.613 32.84 6.013 57.043 13.3l29.69 8.94-21.036-22.782c-8.04-8.707-15.965-18.118-23.357-27.786 2.535.115 5.228.297 8.015.596 12.14 1.3 26.887 3.978 40.67 8.067l26.127 7.75-17.145-21.184c-32.25-39.843-64.6-69.885-69.768-104.74-2.584-17.43.916-36.76 15.28-61.374 1.952-3.342 4.124-6.783 6.49-10.31 7.932-2.277 15.826-4.915 23.634-7.913 27.094 24.058 78.02 4.07 50.812-27.45 58.72-14.457 105.89-59.625 26.865-95.196 46.613-36.08 17.39-90.36-40.297-88.188-14.636-21.026-34.603-33.72-55.4-33.987zm11.277 65.488c-42.59 32.678-48.978 37.184-53.506 65.825.317 3.472.597 7.013 1.103 10.11 3.153 19.296 10.22 32.648 21.43 39.89 11.21 7.243 24.752 7.554 38.814 5.344 3.876-.61 7.86-1.446 11.91-2.397-26.82 26.337-45.555 49.373-57.742 70.253-15.75 26.986-20.6 50.827-17.404 72.385 5.283 35.632 30.606 63.305 56.864 93.556-6.317-1.147-12.557-2.146-18.21-2.752-8.907-.955-16.085-1.496-22.225-1.018-15.78-23.394-27.137-46.75-28.396-64.013l-16.875 1.23c2.246 30.812 24.037 66.155 49.786 97.565-12.35-3.28-23.554-5.657-33.69-6.112-13.696-.614-26.363 3.152-35.763 12.244-9.7-7.222-22.628-9.424-36.527-9.044-11.164.304-23.902 2.172-37.366 4.402 44.064-49.242 105.015-137.42 104.04-226.442l-16.92.186c.81 73.714-47.797 152.037-88.25 201.336-11.867-3.388-25.73-3.414-44.05-2.566 60.184-46.96 99.88-99.595 105.98-149.77 3.418-28.11-4.46-55.45-25.085-78.033-16.147-17.684-39.853-32.51-71.576-44.105 7.55-1.88 14.953-4.365 21.462-9.18 6.738-4.988 11.306-13.447 12.117-23.892 4.84 5.99 9.412 10.25 15.808 12.004 3.987 1.093 8.89.41 12.398-1.818 1.18-.75 2.055-1.72 2.987-2.65 1.008 13.36 2.204 26.116 4.996 35.543 1.305 4.41 2.77 8.54 6.917 11.938 4.147 3.4 11.522 3.424 16.02.846 2.954-1.693 5.624-4.19 8.255-7.105.53 5.72 1.776 10.502 4.068 14.624 1.406 2.527 3.53 5.005 6.594 6.473 3.065 1.467 6.72 1.527 9.586.712 5.732-1.63 9.41-5.37 13.29-10.104 8.362-10.204 17.167-27.234 25.41-49.5-1.647-26.645-3.49-39.06-35.522-58.758 25.123 13.013 47.678 20.495 89.27-7.207z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oat;

impl IconShape for Oat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.787 24.672c-19.46.194-39.213 2.816-58.88 8.086C69.032 66.486-5.664 195.868 28.063 321.74 54.3 419.652 138.414 486.586 233.73 495.623c-2.958-41.58-1.013-83.51 3.913-125.894l18.564 2.155c-4.923 42.36-6.768 83.89-3.67 124.77 21.273.298 42.942-2.294 64.508-8.073 125.873-33.728 200.57-163.107 166.842-288.98-28.458-106.206-125.012-175.98-230.1-174.93zm16.275 20.44c14.34 29.823 20.8 57.25 20.018 78.46l-28.49 33.598-24.106-39.1c2.935-20.556 14.04-45.806 32.578-72.96zm-70.878 64.343c6.723 4.115 12.998 8.327 18.853 12.602l-.035.02 33.687 54.646-3.012 38.916-42.422-44.933c-4.54-17.19-7.108-37.92-7.072-61.252zm132.892 10.047c-3.324 22.093-8.647 41.478-15.303 57.404l-49.336 38.545 3.088-39.923 37.993-44.8c7.29-3.923 15.14-7.683 23.558-11.225zm-146.58 68.082c6.227 2.28 12.15 4.674 17.752 7.16L246.73 240.8l-3.173 41.01-37.19-20.933c-10.98-15.844-18.874-40.415-20.87-73.293zm152.74 11.465c-6.607 29.925-17.328 51.98-29.798 66.18l-46.223 17.692 3.27-42.23 44.452-34.73c8.73-2.622 18.176-4.946 28.3-6.913zM179.096 275.4c6.876.675 13.44 1.575 19.703 2.66l43.167 24.297-3.887 50.236c-21.094-5.566-43.688-30.975-58.984-77.194zm139.238 9.957c3.844-.022 7.784.04 11.812.185-22.9 46.967-50.93 69.05-73.464 68.892l3.937-50.894 46.718-17.883c3.573-.178 7.237-.28 10.996-.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OctogonalEye;

impl IconShape for OctogonalEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.018 22.963l-61.72 61.723c19.433-6.937 40.36-10.725 62.175-10.725 21.288 0 41.733 3.61 60.767 10.23l-61.222-61.227zM89.47 92.363v86.996c18.093-37.91 48.707-68.695 86.495-86.997H89.47zm247.51 0c37.723 18.27 68.3 48.98 86.403 86.8v-86.8H336.98zm-80.537 4.11C166.855 96.473 94 169.333 94 258.928c0 89.593 72.855 162.453 162.443 162.453 89.59 0 162.444-72.86 162.444-162.452 0-89.594-72.855-162.455-162.444-162.455zm0 21.062c56.318 0 104.84 32.766 127.588 80.315-26.38-29.476-71.3-49.262-122.634-50.473 4.36 7.187 8.307 14.898 11.797 23.047-11.635 7.206-19.388 20.083-19.388 34.775 0 21.123 16.023 38.503 36.578 40.654.245 4.43.377 8.905.377 13.42 0 42.575-11.1 81.19-29.35 111.185 51.34-1.216 96.266-21.01 122.64-50.497-22.74 47.57-71.272 80.357-127.607 80.357-56.247 0-104.718-32.683-127.504-80.134 26.407 29.37 71.254 49.07 122.482 50.273-18.323-29.996-29.33-68.48-29.33-111.187 0-42.716 11.012-81.802 29.342-111.896-51.22 1.2-96.063 20.89-122.475 50.252 22.793-47.43 71.253-80.095 127.483-80.095zM82.246 196.748l-62.17 62.172 62.166 62.172c-6.933-19.43-10.72-40.356-10.72-62.168 0-21.815 3.79-42.743 10.724-62.176zm348.502.14c6.903 19.394 10.674 40.273 10.674 62.036 0 21.76-3.77 42.636-10.67 62.027l62.025-62.03-62.03-62.03zM89.47 338.49v86.99h86.483c-37.782-18.302-68.392-49.084-86.482-86.99zm333.913.198c-18.102 37.815-48.674 68.52-86.39 86.793h86.39v-86.794zM194.31 433.164l61.708 61.715 61.212-61.22c-19.03 6.618-39.472 10.227-60.757 10.227-21.81 0-42.735-3.79-62.164-10.723z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Octoman;

impl IconShape for Octoman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.125 22.164c-19.76 0-36.66 9.458-47.84 23.828-11.178 14.37-17.096 33.448-17.096 53.9 0 17.73 4.482 35.445 12.488 49.72-3.192 1.283-6.23 2.788-9.115 4.486-17.876-10.823-33.51-26.418-50.706-40.973h-.003C122.26 94 100.67 83.36 75.732 83.428c-13.062.035-27.043 3.008-42.566 9.24 36.493 15.534 69.46 10.937 96.904 37.613 11.318 11 24.844 22.234 39.174 33.06-11.344-4.63-22.67-10.02-34.533-15.076-39.125-16.676-76.61-14.16-112.138 16.53 41.252 1.888 68.83-13.35 102.926 4.278 12.05 6.23 25.918 12.432 40.783 17.625-.465.917-.92 1.843-1.364 2.78-11.957-.545-24.013-2.01-36.812-2.967-43.405-3.243-77.64 13.206-103.534 52.312 39.69-6.815 61.67-36.732 101.287-30.353 9.535 1.542 19.95 2.578 30.934 3.114-.108.386-.222.77-.33 1.156-.424 1.543-.827 3.104-1.218 4.674-7.54 1.918-15.208 3.732-23.152 5.824-33.31 8.775-67.55 26.357-88.04 84.117 41.048-17.868 34.77-48.096 93.81-62.193 4.084-.975 8.317-1.913 12.654-2.887-3.565 25.276-4.108 52.236-4.108 77.26v9.346h41.727l1.974 30.724-.01 1.246h.09l8.377 130.296h117.122l8.367-130.115.107.003.02-1.99 1.94-30.162h41.726v-9.345c0-24.938-.54-51.8-4.073-77 3.937.882 7.784 1.738 11.506 2.627 59.04 14.097 52.76 44.325 93.808 62.193-20.488-57.76-54.73-75.342-88.04-84.117-7.526-1.982-14.807-3.71-21.966-5.52-.413-1.672-.84-3.335-1.293-4.978-.112-.404-.23-.803-.345-1.205 10.584-.55 20.62-1.575 29.838-3.066 39.616-6.38 61.595 23.537 101.285 30.352-25.895-39.106-60.13-55.555-103.533-52.312-12.41.927-24.12 2.344-35.72 2.926-.49-1.037-1-2.058-1.518-3.07 14.51-5.126 28.048-11.195 39.844-17.294 34.096-17.63 61.675-2.39 102.926-4.277-35.528-30.692-73.012-33.207-112.138-16.53-11.864 5.054-23.19 10.444-34.533 15.075 14.33-10.826 27.858-22.06 39.175-33.06 27.444-26.675 60.41-22.078 96.905-37.612-15.523-6.232-29.504-9.205-42.567-9.24-24.938-.067-46.53 10.573-69.123 29.697h-.004c-17.018 14.407-32.51 29.834-50.157 40.643-2.717-1.563-5.565-2.957-8.55-4.155 8.007-14.276 12.49-31.992 12.49-49.72 0-20.453-5.918-39.53-17.096-53.9-11.18-14.372-28.08-23.83-47.842-23.83zm0 18.69c14.022 0 24.918 6.105 33.09 16.61 2.003 2.576 3.812 5.432 5.406 8.518-9.41 3.848-19.595 6.276-30.052 7.12v18.806c12.532-.865 24.78-3.672 36.18-8.238 1.054 5.146 1.627 10.586 1.627 16.223 0 6.573-.873 13.297-2.385 19.728-11.185-4.388-23.167-7.1-35.422-7.948v18.808c10.167.825 20.075 3.154 29.266 6.82-2.157 4.49-4.615 8.48-7.272 11.68l-10.14 12.22 15.605 2.933c12.698 2.387 21.87 8.305 29.432 17.38 7.56 9.076 13.27 21.523 17.313 36.192 7.372 26.745 9.02 60.435 9.268 92.486h-24.38l.57-58.073-18.687-.183-1.045 106.39-7.338 114.135h-32.514V333.886H246.96V472.46h-30.87l-7.287-113.362 1.05-106.98-18.687-.184-.572 58.257H165.21c.25-32.05 1.897-65.74 9.27-92.485 4.042-14.67 9.75-27.116 17.313-36.19 7.562-9.077 16.734-14.995 29.432-17.382l15.605-2.934-10.143-12.22c-2.614-3.15-5.035-7.07-7.167-11.474 8.878-3.636 18.11-5.872 27.36-6.824v-18.846c-11.32.99-22.644 3.604-33.57 7.996-1.542-6.495-2.433-13.295-2.433-19.94 0-5.72.59-11.236 1.676-16.45 11.16 4.58 22.745 7.294 34.326 8.304V72.898c-9.518-.978-19.016-3.31-28.13-7.136 1.566-3 3.333-5.782 5.287-8.295 8.173-10.506 19.067-16.613 33.088-16.613z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Octopus;

impl IconShape for Octopus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M150.25 19.97c-114.48-.574-139.972 184.95 20.563 212.124-29.5.534-55.382 8.11-91.75 25.97C-19.2 306.313.665 462.966 100.874 446c34.48-5.838 51.21-50.325.875-65.375 16.515 29.61-27.968 47.1-41.906 1.938-11.262-36.49 21.145-74.914 52.468-85 30.5-9.82 55.244-10.86 82.47-5.844-36.585 34.247-56.547 80.465-42.376 123.624 44.522 135.595 192.146 82.52 162.844-6.72-10.346-31.506-41.408-46.505-68-10.155 35.164-8.854 50.45 38.75 18.188 49.342-26.355 8.655-60.212-13.527-66.032-41.343-7.82-37.39 19.77-77.195 54.78-95.25 22.176 35.37 38.812 48.68 83.22 72.186 85.843 45.436 212.957-36.54 143.906-110.53-22.626-24.244-54.574-30.02-67.5 13.124 30.188-20.09 60.748 26.8 33.875 47.563-21.95 16.96-61.503 19.135-86.437 5.5-30.797-16.842-53.79-37.798-70.188-66.532 57.07 13.69 119.584-1.065 143-45.342 45.72-86.45-7.046-152.467-59.125-153.375-20.378-.356-40.654 9.237-54.875 31.5-17.85 27.946-9.815 61.533 35.157 59.124-29.11-21.628-1.9-63.623 26.717-45.343 23.378 14.932 22.494 51.88 9.75 77.28-15.165 30.23-60.573 50.738-95.062 24.657-3.008-5.71-5.563-11.683-7.78-17.843 8.99-6.49 14.874-17.028 14.874-28.875 0-17.772-13.252-32.64-30.345-35.218-9.763-47.134-23.34-92.648-84.844-112.594-13.64-4.424-26.437-6.472-38.28-6.53zm117.844 137.405c9.463 0 16.937 7.474 16.937 16.938 0 9.463-7.473 16.937-16.936 16.937-9.463 0-16.906-7.474-16.906-16.938 0-9.463 7.443-16.937 16.906-16.937zm-65.406 10.5c9.463 0 16.937 7.474 16.937 16.938 0 9.463-7.474 16.937-16.938 16.937-9.463 0-16.937-7.474-16.937-16.938 0-9.463 7.474-16.937 16.938-16.937z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OilySpiral;

impl IconShape for OilySpiral {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.357 17.62c-5.547.092-11.576 1.096-18.023 3.204-23.305 7.618-73.14 45.618-83.234 99.074 45.49-22.467 84.27-17.018 107.437-25.052 52.28-18.113 38.996-77.965-6.18-77.225zm120.215 54.4c-12.926.01-26.166 1.873-39.002 6.37 42.205 28.16 56.877 64.468 75.414 80.518 46.965 40.667 98.17-16.56 52.004-57.972-13.688-12.28-49.637-28.94-88.416-28.915zm-70.3 38.177c-19.064-.228-41 3.8-59.237 16.246 36.71 12.436 54.713 36.326 71.565 44.502h.002c42.693 20.722 69.162-31.628 26.91-53.056-7.83-3.974-22.416-7.49-39.24-7.693zm-90.295 15.278c-6.9-.114-14.648 2.048-22.71 7.304-15.69 10.228-44.953 48.12-41.83 89.562 29.127-25.574 58.818-29.222 74.327-39.727 31.31-21.207 17.284-56.694-9.787-57.14zM69.723 138.68c-16.972-.096-34.502 11.827-40.094 38.377-5.056 23.994 2.93 86.155 44.183 121.62 3.285-50.63 27.397-81.49 32.02-105.568 6.603-34.317-14.29-54.307-36.11-54.43zm282.162 22.603c7.584 38.012-4.102 65.546-2.758 84.23 3.4 47.335 61.976 44.085 59.406-3.224-1.01-18.703-19.197-62.992-56.648-81.007zm-95.64 27.38c-37.658 0-68.384 30.728-68.384 68.382 0 37.655 30.73 68.38 68.384 68.38 37.657 0 68.38-30.726 68.38-68.38 0-37.655-30.725-68.383-68.38-68.383zm0 18.68c27.558 0 49.702 22.143 49.702 49.702 0 27.56-22.14 49.7-49.703 49.7-27.56 0-49.703-22.14-49.703-49.7 0-27.56 22.143-49.703 49.704-49.703zm182.507 8.317c-3.286 50.63-27.396 81.49-32.02 105.57-11.738 61.004 63.423 76.735 76.205 16.05 5.054-23.995-2.932-86.156-44.185-121.62zm-305.86 19.27c-15.24.07-30.174 12.75-28.85 37.144 1.013 18.702 19.198 62.99 56.65 81.006-7.585-38.01 4.1-65.548 2.757-84.232-1.648-22.928-16.24-33.986-30.557-33.918zm254.247 57.09c-29.128 25.575-58.82 29.223-74.327 39.728-39.293 26.613-7.19 75.712 32.496 49.834 15.69-10.228 44.952-48.117 41.83-89.56zm-185.79 46.64c-30.664-.36-43.938 39.734-8.287 57.815 16.704 8.476 64.15 14.87 98.476-8.555-36.71-12.436-54.714-36.326-71.565-44.502h-.002c-6.67-3.238-12.945-4.69-18.623-4.758zm-108.18 2.844c-33.205-.786-54.937 40.19-19.592 71.896 18.25 16.375 76.075 40.54 127.416 22.545-42.204-28.16-56.877-64.467-75.414-80.515-11.007-9.532-22.245-13.686-32.41-13.926zm290.295 52.935c-45.488 22.465-84.27 17.016-107.436 25.05h-.003c-58.7 20.337-34.744 93.295 24.203 74.022 23.305-7.616 73.14-45.618 83.235-99.073z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Omega;

impl IconShape for Omega {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.05 73.105C155.53 73.105 71.2 163.14 71.2 274.65c0 42.674 12.272 82.822 33.265 115.45-24.44-13.235-48.45-29.26-72.4-48.92v95.108H206.87c-48-33.257-81.532-82.232-81.532-138.158 0-74.567 59.88-135.015 133.71-135.015 73.832 0 133.712 60.448 133.712 135.015 0 55.926-33.53 104.9-81.53 138.158h174.803V341.18c-24.02 19.865-48.295 36.2-73.052 49.57 21.297-32.77 33.92-73.09 33.92-116.1 0-111.51-84.33-201.545-187.85-201.545z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OnTarget;

impl IconShape for OnTarget {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.563 21.406c122.47 187.613 107.72 216.17-74.97 55.813 83.344 103.73 183.05 185.66 287.876 260.75-47.685 54.762-65.51 116.2-39.283 141.374 27.95 26.827 95.317 2.292 150.25-54.938 54.934-57.23 76.668-125.547 48.72-152.375-26.4-25.338-87.652-4.57-140.657 46.033C267.523 213.846 194.602 110.56 107.562 21.406zm324.906 266.781c9.865-.14 18.234 2.508 24.25 8.282 21.386 20.528 4.908 72.768-37.126 116.56-42.035 43.794-93.957 62.81-115.344 42.283-19.952-19.15-6.325-65.992 29.72-107.75 3.706 2.625 7.405 5.264 11.124 7.875-26.5 31.075-36.24 65.542-21.406 79.78 16.03 15.39 54.65 1.294 86.156-31.53 31.507-32.825 44-71.99 27.97-87.375-15.205-14.592-50.578-2.533-81.064 26.75-2.594-3.763-5.187-7.52-7.78-11.282 28.526-27.297 60.18-43.263 83.5-43.592zm-22.033 37.375c5.66-.08 10.457 1.44 13.907 4.75 12.267 11.774 2.827 41.758-21.28 66.875-24.11 25.118-53.89 36.024-66.158 24.25-11.245-10.793-3.876-36.93 16-60.562 5.976 4.173 11.97 8.327 17.97 12.47-9.746 11-14.027 22.66-9.563 27.124 4.904 4.903 18.483-.735 30.343-12.595 11.86-11.86 17.498-25.47 12.594-30.375-4.778-4.778-17.8.476-29.438 11.72-4.21-6.092-8.42-12.186-12.625-18.283 16.46-15.875 34.774-25.184 48.25-25.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OneEyed;

impl IconShape for OneEyed {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.97 22.75c-44.405 0-85.1 25.434-115.25 68.125-30.152 42.69-49.157 102.41-49.157 168.563 0 66.152 19.005 125.87 49.156 168.562 30.15 42.69 70.845 68.125 115.25 68.125 44.402 0 85.067-25.434 115.218-68.125 30.15-42.69 49.187-102.41 49.187-168.563 0-66.152-19.037-125.87-49.188-168.562-30.15-42.69-70.815-68.125-115.218-68.125zm77.468 116.313c10.96 39.393 15.825 78.762 16.843 118.156 16.952-3.024 33.782-6.753 50.376-11.44-5.884 14.73-26.045 26.294-50.187 32.032-.282 44.07-4.86 88.15-10.595 132.22-7.335-42.81-13.62-85.628-16.094-128.438-22 1.092-44.25-2.78-60.31-13.313 19.79-1.902 39.66-3.972 59.467-6.75-1.156-40.83 1.515-81.637 10.5-122.467zm-176.22 95.5c1.883-.025 3.75-.008 5.626.062-6.855 5.274-11.28 13.558-11.28 22.875 0 15.93 12.91 28.844 28.842 28.844 15.932 0 28.844-12.913 28.844-28.844 0-4.615-1.073-8.976-3-12.844 13.33 5.66 26.475 13.614 39.438 23.625-37.067 62.158-128.797 25.067-137.188-22.5 16.552-7.404 32.767-11.01 48.72-11.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OpenBook;

impl IconShape for OpenBook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.688 85.625c-1.234.005-2.465.033-3.72.063-33.913.806-75.48 10.704-127.25 33.718V362.78c60.77-28.82 106.718-37.067 144.22-33.092 33.502 3.55 59.685 16.66 83.562 31.187v-242.97c-23.217-17.744-50.195-30.04-85.97-32-3.52-.192-7.142-.296-10.843-.28zm211.968 0c-3.7-.016-7.322.088-10.844.28-35.773 1.96-62.75 14.256-85.968 32v242.97c23.876-14.527 50.06-27.637 83.562-31.188 37.502-3.974 83.45 4.272 144.22 33.094V119.407c-51.77-23.014-93.337-32.912-127.25-33.72-1.255-.028-2.486-.056-3.72-.06zm5.72 261.78c-1.038-.002-2.074.017-3.095.033-4.808.075-9.43.37-13.905.843-33.932 3.597-59.603 17.976-85.53 34.44v.28c-6.554-1.99-13.02-2.37-19.408-.97-25.566-16.177-51.003-30.202-84.468-33.75-5.595-.592-11.44-.883-17.564-.842-32.04.213-71.833 9.778-124.687 35.937v42.53c60.77-28.823 106.714-37.067 144.218-33.092 18.545 1.965 34.837 6.845 49.75 13.28-4.682 6.064-9.308 13.268-13.875 21.688h117.156c-5.93-8.22-11.798-15.414-17.626-21.56 14.996-6.503 31.39-11.43 50.062-13.408 37.503-3.974 83.448 4.27 144.22 33.094v-42.53c-53.16-26.31-93.115-35.863-125.25-35.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OpenWound;

impl IconShape for OpenWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.78 23.28c61.782 111.395 55.21 154.466 51.032 223.5 70.268 1.46 114.547 29.972 118.094 97.376 38.46-33.043 96.49-11.086 109.094 38.5 31.264-29.574 93.164 19.897 45.688 56.594 54.568-1.55 93.348 14.294 141.53 52.344-11.326-44.81-11.612-95.993-.937-140.094-55.272-18.36-136.94-101.47-36.905-98.875-46.755-23.27-77.81-59.41-96.97-109.188-2.615 71.367-76.123 30.815-33.56.532-33.97-2.67-84.39-30.28-101.908-83.126C164.93 80.924 88.565 64.092 25.78 23.28zm52.345 63.126c63.466 8.197 119.972 22.837 173.75 67.906l-26.28 20.438c47.834 11.862 113.498 41.676 149.655 78.844l-46.72 4.375c76.467 49.034 112.748 92.225 142.345 197.092-38.338-63.113-105.822-116.04-172.53-128.437 23.604-15.956-23.102-56.196-93.126-47.25l55.405-31.625c-42.457-36.895-86.29-43.73-130.688-37.97 28.914-32.388 7.954-78.117-51.812-123.374zm275.813 4.97c-9.603 0-17.375 7.774-17.375 17.374 0 9.6 7.772 17.406 17.375 17.406 9.602 0 17.375-7.806 17.375-17.406 0-9.6-7.773-17.375-17.375-17.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OpeningShell;

impl IconShape for OpeningShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197.242 24.102c-40.986 10.368-78.605 33.52-106.36 69.652C53.07 142.972 33.22 216.81 49.6 317.006c79.374-42.55 132.106-95.527 166.947-168.307-4.973-41.636-11.247-83.365-19.308-124.598zm112.174 2.505c-7.667 42.868-13.397 87.133-17.94 132.58 38.35 68.048 90.915 120.903 182.096 158.698 9-98.344-16.265-171.888-57.968-221.614-29.16-34.768-66.487-57.994-106.188-69.663zm-57.654 39.608c-9.532.208-18.632 4.682-23.17 13.93 13.216 110.324 20.094 219.74 25.388 331.048 6.708-109.96 12.553-220.024 25.836-329.984-5.896-9.987-17.252-15.23-28.054-14.995zM220.21 181.518C188.277 237.364 144.217 281.93 84.83 318.432c-.4 34.104 4.104 72.597 14.824 115.63 59.937-35.375 100.948-104.268 127.596-172.07-1.93-26.61-4.24-53.49-7.043-80.474zm68.368 8.546c-2.33 26.464-4.324 53.303-6.123 80.477 29.86 65.904 70.47 133.18 140.707 164.692 10.74-41.73 15.13-79.366 14.51-112.96-68.55-33.934-114.492-78.57-149.094-132.208zm-58.603 113.184c-20.432 44.143-47.37 86.888-82.963 119.12 2.542 3.706 5.108 7.27 7.7 10.667 26.638 34.942 55.1 53.575 83.41 58.05-2.15-58.782-4.2-122.097-8.147-187.837zm50.054 5.75c-3.548 59.092-6.53 119.665-10.34 181.264 28.108-5.885 56.63-25.624 83.324-60.54 2.805-3.67 5.585-7.51 8.336-11.51-35.357-30.064-60.998-69.267-81.32-109.214z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Oppression;

impl IconShape for Oppression {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.188 16.406V123.28l153.593 81.75-70.655-188.624H19.187zm109.812 0L248.125 161.22l5.25-144.814H129zm165.25 0l40.906 133.156 60.72-133.156H294.25zm140.188 0l-14.594 155.938 74.75-69.5V16.406h-60.156zM19.188 167.062v97.532l99.874 9.937L19.19 167.064zm409.406 40.313c-17.884-.094-38.853 9.07-55.938 26.156-5.305 5.307-9.826 10.998-13.562 16.845-93.737-56.476-329.936 76.333-179 189.78H60.78l-26.468 47.72H291.5L203 384.625c24.27-26.708 67.458-43.704 97-45.063 13.793 45.098 36.265 113.497 71.75 148.313h60.844c-43.07-46.547-76.538-109.09-81.938-179.844 1.616 3.237 3.72 6.19 6.313 8.783 18.662 18.663 55.944 11.648 83.28-15.688s34.35-64.618 15.688-83.28c-7-7-16.614-10.413-27.344-10.47zM19.188 323v59.563l77.687-23.938L19.187 323z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OrbDirection;

impl IconShape for OrbDirection {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.78 21C128.098 21 23.47 125.628 23.47 253.313c0 127.685 104.627 230.78 232.31 230.78 127.685 0 230.782-103.095 230.782-230.78S383.466 21 255.782 21zm-1.06 82l117.374 117.97-23.938 25.093-65.406-37.938v172.47c79.295-13.13 139.78-81.987 139.78-165 0-39.265-13.54-75.368-36.186-103.907 37.702 35.365 61.22 85.81 61.22 141.625-.002 106.395-85.385 191.78-191.783 191.78-106.398 0-193.31-85.385-193.31-191.78 0-55.123 23.342-105.018 60.624-140.313-22.028 28.33-35.156 63.928-35.156 102.594 0 82.46 59.645 150.973 138.156 164.75v-168.72l-62.5 35.626-25.094-26.28L254.72 103z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Orbital;

impl IconShape for Orbital {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.25 20.656c-32.78 0-64.03 6.79-92.438 19-8.182-10.618-20.994-17.468-35.437-17.468-24.716 0-44.78 20.033-44.78 44.75 0 8.356 2.324 16.18 6.31 22.874-42.638 42.655-69.093 101.49-69.093 166.282 0 129.617 105.823 234.72 235.438 234.72 129.615-.002 234.72-105.103 234.72-234.72 0-129.618-105.105-235.438-234.72-235.438zm0 19.313c119.515 0 216.094 96.607 216.094 216.124s-96.58 216.094-216.094 216.094c-119.515 0-216.813-96.577-216.813-216.094 0-59.568 24.176-113.438 63.22-152.5 7.273 5.113 16.15 8.094 25.718 8.094 24.716 0 44.75-20.034 44.75-44.75 0-3.453-.385-6.804-1.125-10.032C197.91 46 226.396 39.97 256.25 39.97zm-.125 51.81c-91.3 0-165.875 74.575-165.875 165.876 0 91.3 74.576 165.406 165.875 165.406 35.12 0 67.708-10.965 94.5-29.656 7.13 4.23 15.45 6.656 24.344 6.656 26.396 0 47.81-21.384 47.81-47.78 0-12.763-5.005-24.366-13.155-32.938 7.677-19.067 11.906-39.884 11.906-61.688 0-91.3-74.106-165.875-165.405-165.875zm0 19.126c81.2 0 146.78 65.55 146.78 146.75 0 17.833-3.172 34.924-8.967 50.72-5.81-2.513-12.237-3.907-18.97-3.907-26.396 0-47.78 21.414-47.78 47.81 0 10.59 3.454 20.362 9.28 28.283-23.065 15.084-50.66 23.843-80.343 23.843-81.2 0-147.22-65.55-147.22-146.75s66.02-146.75 147.22-146.75zm-1.063 19.625c-7.462 31.99-21.767 62.112-42.906 83.25-21.14 21.14-48.73 32.913-80.72 40.376 31.99 7.462 62.112 21.736 83.25 42.875 21.14 21.14 32.914 48.764 40.376 80.75 7.463-31.986 19.204-59.61 40.344-80.75 21.14-21.138 51.262-35.412 83.25-42.874-32.236-7.428-59.455-19.11-80.72-40.375-21.262-21.263-35.446-51.013-42.873-83.25zm.094 86.564c20.498 0 37.125 16.627 37.125 37.125 0 20.496-16.626 37.124-37.124 37.124-20.497 0-37.125-16.628-37.125-37.125 0-20.5 16.63-37.126 37.126-37.126z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OrbitalRays;

impl IconShape for OrbitalRays {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M312.598 17.617c-11.352.495-22.753 1.162-34.504 3.447-7.382 1.438-14.92 3.48-22.397 5.63h-.002l.582 102.386c-4.14 1.2-8.277 2.578-12.398 4.123 14.078 1.1 27.395 4.973 39.405 11.068 2.518-.268 5.01-.452 7.47-.54.864-.033 1.724-.053 2.58-.062 12.852-.14 24.76 2.234 34.995 7.217 21.838 10.63 33.073 30.607 34.164 56.81 1.09 26.204-8.932 58.226-31.22 88.748-22.29 30.523-52.376 53.464-82.374 65.647-29.997 12.182-59.435 13.43-81.273 2.8-21.838-10.63-33.07-30.608-34.162-56.812-.404-9.69.718-20.176 3.412-31.088-4.622-11.87-7.164-24.77-7.164-38.248 0-.232.008-.463.01-.695-5.353 10.91-9.423 21.863-12.19 32.66l-93.67-3.203c-3.03 11.91-5.398 23.594-6.728 35.37-.858 7.613-1.447 15.52-1.567 23.003l97.918-30.83c-.345 4.694-.433 9.327-.244 13.875.448 10.748 2.51 21.08 6.133 30.592l-95.55 46.945h-.003c2.456 8.035 5.49 16.144 9.094 23.692 3.755 7.87 7.882 15.017 12.637 21.844l83.783-73.775c6.932 9.733 16.053 17.892 27.305 23.784L84.57 470.47c13.744 9.173 29.25 15.45 45.707 20.024l45.454-101.21c13.947 3.576 28.93 3.992 44.2 1.74l-29.576 106.328c18.565-.79 37.977-3.862 57.455-9.463l-6.248-101.753c5-1.514 9.993-3.28 14.954-5.293 10.273-4.172 20.45-9.406 30.332-15.606l25.332 95.213c9.426-5.314 18.51-11.05 27.785-17.528 9.086-6.347 18.08-13.29 26.44-20.348l-60.594-70.726c13.438-10.623 26-23.116 37.09-37.24l75.883 53.853c13.686-17.525 25.127-36.118 34.947-55.083l-97.558-17.61c9.69-15.447 16.76-31.22 21.176-46.722l101.742-1.578c3.09-12.056 5.713-24.31 7.058-36.23.858-7.61 1.67-15.05 1.79-22.532l-106.094 38.4c.848-6.886 1.147-13.656.873-20.25-.345-8.29-1.656-16.326-3.895-23.935l101.086-54.33c-2.51-8.397-5.562-16.293-9.316-24.162-3.603-7.55-7.888-14.786-12.412-21.375h-.002l-86.9 81.843c-7.2-12.837-17.724-23.557-31.462-30.873l79.122-89.908c-5.416-3.616-11.37-6.953-17.247-9.86-9.134-4.516-19.145-7.464-29.235-10.247l-50.832 102.857c-10.007-2.73-20.56-3.822-31.39-3.437-4.118.146-8.275.507-12.458 1.068l34.823-106.88zm-121.827 36.9c-9.23 5.23-18.697 11.185-27.784 17.532-9.086 6.347-17.527 12.9-25.886 19.96l42.332 57.045c8.634-5.428 18.102-9.644 28.162-12.41L190.77 54.52zM84.72 146.126c-5.277 6.76-10.507 13.635-15.226 20.652l-.553.387c-7.44 11.105-13.74 22.86-19.72 34.432l81.932 19.754c1.723-10.357 4.954-20.212 9.463-29.33L84.72 146.125zm150.856 9.193c-46.207 0-83.424 37.217-83.424 83.424 0 46.207 37.217 83.424 83.424 83.424 46.207 0 83.424-37.217 83.424-83.424 0-46.207-37.217-83.424-83.424-83.424z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ouroboros;

impl IconShape for Ouroboros {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.8 22.43c-10.6.2-22.6 2.5-36.5 7.6-51.7-7.9-149.3 1.1-219.4 67.5C91.73 113 75.93 132 63.51 154.1 5.036 258.4 43.62 394.3 150.4 457.6 257 520.8 390.1 487.3 448.5 383c48.1-85.5 30.6-192.7-36.4-263.2-7.9-3.5-16.1-6.1-24.4-5.9 1.7 1.4 3.1 2.7 4.7 4.1l-12.6 13.9c-2.3-2.2-5-4.6-7.2-6.3-1.3 4.3-1.6 10.1-.2 17.3 42.4 51.9 55 135.2 23.8 191.2-38.7 69.3-128.2 93.7-197.5 52.3-69.4-41.3-85.6-127.1-46.9-196.4 23.7-42.5 68.2-66.4 112.1-66.2 10.4 0 20.8 1.4 30.8 4.3-3.9-12.9-6-24.2-8.1-36.77l6.2-3.1c9.4-4.7 17.7-11.6 25.2-20.5l-5.6-.7 2.4-18.6c4.1.51 8.1 1.1 12.2 1.7l-1.1 6.9c5.2 3.14 10.6 6.44 16 9.7-9.4 14.3-20.7 26.4-34.4 34.67 2.7 14 7.5 30.6 15.4 46.5 14.2 26.1 32.9 50.5 59.1 53.9-14-17.6-22.8-34.6-26.8-50-4.5-17.3-3.1-33.2 6.1-44.3 6.8-8.27 17.5-12.37 29.7-12.07 4.1.1 8.3.6 12.7 1.6 16.5 3.97 35.5 14.47 56.8 32.47 8.2-10.5 9.8-23 7.6-37.07-31.5-9.2-45.4-70.8-102.3-70zm2.9 16.4c4.4.1 9.4 1.2 14.4 3.3 13 5.4 21.5 15.8 18.9 23.1-2.6 7.3-15.3 8.8-28.4 3.3-13.1-5.5-21.6-15.8-19-23.1 1.5-4.1 6.2-6.4 12.3-6.6zm-73.4 8l-.7 18.7c-6-.36-12.1-.6-18.1-.3l-.5-18.6c6.4-.27 12.9-.1 19.3.2zm-38.6 1l1.8 18.6c-6.3.78-12.2 1.29-17.6 2.5l-3.5-18.4c6.9-.99 12.8-2.16 19.3-2.6zm-38 7.29l4.6 17.81c-6.1 1.64-11 3.3-16.9 5.4l-6.5-17.5c7.9-2.65 11.8-4.19 18.8-5.71zm-36.9 13.31l8.2 16.8c-5.5 2.62-11.4 5.72-16 8.4l-9.3-16.2c5.8-3.17 11.9-6.32 17.1-9zM159 103.3c-5.4 3.9-9.3 7-14 10.9L132.9 100c5-4.5 10.9-8.79 15.4-12.27 3.2 5.27 7.1 10.45 10.7 15.57zm-40.4 10l13.3 13.1c-4.2 4.5-8.6 9.2-11.9 13.3l-14.5-11.9c4.2-5.2 9.2-10.6 13.1-14.5zm287.7 18.4c4.4 4.9 9.1 10.3 12.6 14.9L404.1 158c-3.7-4.8-8-9.7-11.6-13.6zM93.76 143.4L109.1 154c-3.4 5.1-6.7 10.6-9.41 15.1l-16.25-9.2c3.29-5.7 6.87-11.8 10.32-16.5zm336.34 19.2c3.6 5.6 7.1 11.9 9.6 17.1l-16.6 8.4c-3-5.8-5.6-10.4-8.8-15.5zM74.6 177.3l16.99 7.8c-2.53 5.7-4.93 11.7-6.66 16.5l-17.6-6.2c1.65-6.4 3.64-12.6 7.27-18.1zm373 20.3l.1.1v.1c2.2 6.1 4.4 12.3 5.9 18.6l-18 4.7c-1.8-5.9-3.6-11.9-5.5-16.9 5.9-2 11.7-4.3 17.5-6.6zM61.67 214l18.08 4.7c-1.45 6-2.71 12.3-3.6 17.5l-18.42-3.1c1.24-6.7 2.44-13.7 3.94-19.1zm396.03 21.5c.6 6.7 1.6 13.6 2 19.6l-18.6 1c-.3-5.8-1.1-11.6-1.8-17.4 5.6-1.2 12.4-2.2 18.4-3.2zM55.52 252.7l18.41 1c-.51 6 0 11.9 0 17.9l-18.67.7c-.15-6.8 0-13.8.26-19.6zm385.68 21.1l18.7 1c-.4 7.4-.9 12.7-1.8 19.5l-18.5-2.5c.9-6 1.3-12 1.6-18zm-362.73 33l-18.19 4.3c-1.51-6.3-2.45-12.8-3.32-19.2l18.52-2.5c.47 5.7 1.81 12.4 2.99 17.4zm357.83 2.3l18.2 4.3c-1.4 6.4-3.2 12.5-5.2 18.7v.1l-.1.1c-5.9-2.1-11.8-4-17.7-5.9v-.2c1.9-5.6 3.6-11.3 4.8-17.1zM83.39 323.8c2.16 6.2 4.23 11.1 6.62 16.5l-16.94 7.8c-2.96-5.8-5.04-12-7.17-18.2 5.61-2 12.5-4.2 17.49-6.1zm341.71 19.3l17.2 7.3c-2.8 6.7-5.6 11.8-8.5 17.6l-16.4-8.9c2.9-5.2 5.5-11.2 7.7-16zM98.28 355.9c3.22 5.2 6.52 10.7 9.82 14.8l-14.98 11.2c-4.1-5.6-8.23-11.6-11.13-16.4 4.67-3.5 10.88-6.7 16.29-9.6zm310.02 18.5l15.5 10.4c-4.1 6.1-7.1 10.4-11.3 15.7L397.8 389c3.7-4.7 7.1-9.6 10.5-14.6zm-288.9 10c4 4.5 8.3 8.7 12.6 12.8l-12.7 13.7c-4.8-4.5-9.8-9.6-13.8-13.8zm266.7 18l13.6 12.9c-5.1 5.2-9.3 9.4-14.2 13.6l-12.2-14.1c4.5-4.2 9.2-8.5 12.8-12.4zm-240.5 6.2c4.7 3.6 9.6 7.1 14.7 10.4l-10.2 15.7c-5.5-3.5-10.6-7.3-15.8-11.2zm213.8 17.2l10.7 15.3c-5.4 3.8-11.3 7.6-16.3 10.5l-9.4-16.2c5.8-3.3 9.8-6 15-9.6zm-183.6 2.4c5.2 3 10.6 5.6 16.1 8.1l-7.9 17c-5.8-2.8-11.6-5.6-17.3-8.7zm152.8 15.1l7.5 17.1c-6 2.8-12.2 4.9-18.5 6.9l-5.5-17.9c5.6-1.6 11.1-3.7 16.5-6.1zm-120 .1c5.8 2.2 11.8 4.2 16.8 5.8l-5.2 18c-6.4-2.1-13-4.2-18.5-6.5 2.3-5.7 4.7-12 6.9-17.3zm34 10c6 1.1 12.1 1.8 17.4 2.2l-1 18.7c-6.8-.9-13.8-1.4-19.8-2.5zm52.4.2l3.3 18.4c-6.6 1.6-12.6 2.3-19.7 2.3l-.9-18.6c5.8-.3 11.5-1.2 17.3-2.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct OverInfinity;

impl IconShape for OverInfinity {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.938 21.938c-8.8 0-17.504 5.467-24.625 16.406-7.122 10.938-11.938 26.954-11.938 44.78 0 17.828 4.816 33.813 11.938 44.75 7.12 10.94 15.825 16.407 24.625 16.407s17.503-5.467 24.625-16.405c7.12-10.938 11.937-26.923 11.937-44.75s-4.816-33.843-11.938-44.78c-7.12-10.94-15.825-16.407-24.625-16.407zm-92.907 53L24.845 263.313 164.03 451.719l93.282-126.283.063.063 89.063-120.563 7.53-10.187 7.5 10.188 46.407 62.78-15.03 11.126-38.876-52.625-85 115.03 81.624 110.47L489.78 263.31 350.595 74.938l-93.28 126.25-.127-.156-90.812 122.94-7.5 10.186-7.53-10.187-46.407-62.783 15.03-11.125 38.876 52.625 86.75-117.375L164.03 74.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Overdose;

impl IconShape for Overdose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M321.28 25.25c-5.283-.02-10.664.664-16 2.094-32.517 8.713-52.123 42.41-43.25 74.937 25.442 93.258 17.27 64.235 41.783 155.97 8.69 32.53 42.42 51.963 74.937 43.25 32.52-8.713 52.114-42.44 43.22-74.97-23.16-84.706-19.757-73.42-38.658-144.186h.032l-3.156-11.75c-7.08-26.42-30.626-44.21-56.657-45.28-.75-.032-1.494-.06-2.25-.064zm-.81 18.688c18.96-.337 36.327 12.095 41.592 31.218l.063.28c15.085 56.296 18.418 69.392 23.906 90-16.61 17.467-61.828 30.824-82 20.783-5.28-20-8.876-33.524-23.967-88.845-6.186-22.672 7.31-45.904 30.062-52 2.844-.762 5.677-1.202 8.5-1.375.615-.038 1.232-.052 1.844-.063zm-141.25 91.03c-13.855 0-27.704 5.274-38.22 15.782h-.03c-3.675 3.674-3.08 3.075-6.19 6.188l-9.75 9.75h.064c-31.984 32.104-33.768 34.17-82.656 82.562-21.185 20.97-21.068 55.495-.032 76.53 21.036 21.037 55.474 21.057 76.5 0 57.914-57.996 39.236-39.802 98.5-98.53 21.167-20.977 21.067-55.495.03-76.53-10.516-10.52-24.356-15.75-38.217-15.75zm0 18.563c9.04 0 18.087 3.465 25.03 10.407 13.886 13.886 13.943 36.244.03 50.032-35.797 35.473-44.024 43.716-57.03 56.81-18.86-2.615-44.693-29.792-50.313-49.374 13.315-13.35 21.23-21.447 57.25-57.47 6.943-6.942 15.99-10.405 25.032-10.405zM427.905 319c-5.457-.02-10.986.675-16.5 2.156-95.318 25.614-64.922 17.872-162.094 43.438-33.698 8.866-53.754 43.83-44.75 77.437 9.005 33.61 43.8 53.724 77.407 44.72 97.095-26.02 66.704-18.39 162.124-43.438 33.71-8.848 53.754-43.828 44.75-77.437-7.316-27.308-31.69-45.715-58.594-46.813-.776-.03-1.564-.06-2.344-.062zm-95.094 42.78c-12.75 21.474-1.198 70.14 19.657 86.533-15.047 4.102-32.154 8.81-75.314 20.375-23.84 6.387-48.144-7.63-54.53-31.47-6.39-23.84 7.615-48.263 31.436-54.53 46.026-12.11 63.028-16.65 78.75-20.907z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Overdrive;

impl IconShape for Overdrive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M284.12 20.73c30.422 18.874 55.654 45.028 75.34 74.752-73.148-65.998-206.043-81.91-299.02-8.173 44.155-19.618 91.96-19.767 138.013-8.804C114.99 82.516 33.898 136.31 18.56 229.29c28.362-45.715 72.144-79.85 120.89-99.282C47.783 181.433-.934 307.458 68.2 403.91c-11.83-50.502-5.58-103.153 13.435-150.09-18.02 100.152 41.172 205.05 144.836 238.28-98.068-80.374-125.746-175.25-112.058-249.614 5.654-71.675 65.768-128.25 138.873-128.25 76.828 0 139.31 62.483 139.31 139.31 0 76.83-62.482 139.31-139.31 139.31-33.366 0-64.022-11.79-88.033-31.417 11.26 17.618 24.974 31.902 40.346 43.035C248.6 446.93 327.288 484.91 389.92 472.61c-25.058-9.186-46.515-19.935-62.965-34.66 51.524 2.73 109.75-8.742 145.904-40.294-20.596 3.584-39.757 5.23-57.48 3.602 38.675-26.044 68.16-66.24 76.653-117.72-28.363 45.713-72.145 79.848-120.892 99.28 91.67-51.423 140.387-177.448 71.25-273.902 11.83 50.502 5.583 103.155-13.433 150.092C454.1 158.858 399.182 39.712 284.12 20.728zm-30.835 112.196c-1.9 0-3.79.048-5.67.135l-1.404 18.954c-7.516.58-15.044 2.012-22.452 4.336l-8.38-17.364c-9.596 3.164-18.656 7.49-27.01 12.825l8.47 17.547c-6.47 4.394-12.31 9.447-17.463 15.026l-16.24-11.053c-6.62 7.437-12.33 15.7-16.96 24.62l16.376 11.146c-3.38 6.99-5.953 14.35-7.67 21.924l-19.837-1.47c-1.56 7.754-2.38 15.778-2.38 23.997 0 1.95.05 3.89.142 5.816l19.818 1.47c.552 7.587 1.97 15.19 4.297 22.67l-17.963 8.67c3.223 9.573 7.615 18.6 13.002 26.923l17.907-8.643c4.362 6.457 9.378 12.286 14.918 17.438l-11.117 16.34c7.48 6.568 15.78 12.228 24.732 16.8l11.043-16.227c6.985 3.405 14.342 6 21.914 7.74l-1.435 19.365c7.557 1.477 15.367 2.258 23.363 2.258 2.17 0 4.323-.06 6.463-.172l1.416-19.105c7.737-.54 15.49-1.976 23.117-4.36l8.265 17.122c9.552-3.275 18.558-7.716 26.85-13.15l-8.18-16.953c6.567-4.45 12.483-9.577 17.695-15.243l15.395 10.474c6.536-7.505 12.154-15.832 16.687-24.805l-15.31-10.418c3.354-6.974 5.907-14.31 7.607-21.86l18.327 1.358c1.496-7.602 2.287-15.46 2.287-23.508 0-2.118-.055-4.223-.162-6.315l-18.236-1.35c-.568-7.667-2.024-15.348-4.404-22.902l16.535-7.982c-3.216-9.575-7.602-18.606-12.983-26.932l-16.595 8.01c-4.482-6.58-9.648-12.5-15.353-17.713l10.414-15.302c-7.463-6.588-15.75-12.268-24.69-16.86l-10.53 15.47c-6.98-3.328-14.317-5.862-21.867-7.537l1.393-18.8c-7.798-1.578-15.87-2.407-24.14-2.407zm.746 41.803c16.696.232 32.51 5.838 45.427 15.413l-33.58 28.947c-2.867-1-5.846-1.623-8.857-1.846-8.768-.65-17.783 2.02-24.91 8.164-9.576 8.255-13.438 20.8-11.223 32.467l-37.08 31.97c-3.63-6.806-6.308-14.266-7.825-22.24-8.07-42.458 19.803-83.42 62.26-91.492 5.307-1.01 10.59-1.457 15.79-1.384zm68.734 43.084c3.19 6.35 5.576 13.232 6.968 20.56 8.072 42.456-19.802 83.418-62.26 91.49-21.682 4.12-42.962-1.148-59.683-12.93l37.733-32.532c10.626 2.85 22.457.597 31.35-7.07s12.865-19.036 11.61-29.965l34.28-29.553zm-68.606 17.915c.497-.013.994 0 1.488.036 3.96.293 7.806 2.123 10.653 5.425 5.693 6.606 4.974 16.294-1.63 21.988-6.605 5.693-16.292 4.974-21.986-1.63-5.694-6.606-4.976-16.292 1.63-21.986 2.888-2.49 6.367-3.753 9.844-3.833z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Owl;

impl IconShape for Owl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M70.574 17.27l-4.87 18.044c24.228 6.543 46.02 15.573 65.478 26.704-21.276 15.76-35.307 42.705-35.307 73.314 0 13.593 2.77 26.463 7.707 37.955-21.82 20.365-35.004 49.398-35.004 87.504 0 70.68 42.857 131.724 104.85 161.005l-30.71 70.36h20.376l27.594-63.216c3.01 1.077 6.05 2.09 9.13 3.02 3.56 2.76 7.186 5.25 10.868 7.487l-13.03 52.71h19.28l10.945-44.32c6.856 2.546 13.842 4.224 20.9 5.007v39.312h18.69V452.8c7.872-.906 15.65-2.936 23.255-6.056l11.212 45.412h19.25l-13.44-54.418c3.4-2.222 6.75-4.66 10.036-7.343 3.22-1.07 6.398-2.226 9.537-3.456l28.46 65.216h20.376l-31.8-72.863c59.226-30.165 99.74-89.782 99.74-158.502 0-37.114-12.51-65.62-33.32-85.897 5.383-11.896 8.435-25.327 8.435-39.56 0-30.5-13.928-57.36-35.073-73.144 19.638-11.334 41.452-20.41 65.396-26.876l-4.87-18.043c-26.26 7.092-50.213 17.245-71.75 30-34.084-18.84-77.19-28.164-120.214-28.114-40.908.048-81.73 8.575-114.655 25.448-20.227-11.394-42.7-20.644-67.47-27.333zM252.707 38.67c36.446-.044 72.955 6.705 102.084 20.348-45.112 31.892-77.918 76.2-97.15 127.79C238.314 134.672 205 88.95 157.073 56.388c27.807-11.744 61.69-17.68 95.635-17.722zm-83.605 68.373c19.4 0 35.33 15.923 35.33 35.32 0 19.4-15.93 35.324-35.33 35.324S133.77 161.76 133.77 142.36c0-19.398 15.932-35.32 35.332-35.32zm179.44 0c19.4 0 35.33 15.923 35.33 35.32 0 19.4-15.93 35.324-35.33 35.324-19.402 0-35.333-15.923-35.333-35.323 0-19.398 15.93-35.32 35.33-35.32zm-110.378 80.69c4.052 10.347 7.523 21 10.424 31.913l9.03 33.964 9.03-33.964c2.895-10.888 6.368-21.472 10.405-31.72 14.39 21.47 37.346 35.386 63.236 35.386 14.44 0 27.964-4.346 39.608-11.896-4.003 70.85-18.94 124.726-39.34 161.416-23.964 43.104-54.35 62.274-83.537 61.836-29.184-.438-59.806-20.672-83.803-64.074-20.432-36.954-35.36-90.513-39.354-160.03C145.8 218.65 159.81 223.31 174.8 223.31c25.967 0 48.984-14 63.364-35.58zm-125.266 2.147c.433.61.864 1.22 1.31 1.816 2.165 81.335 18.39 144.056 42.653 187.942 3.655 6.61 7.513 12.784 11.538 18.55-48.72-28.262-81.132-79.294-81.132-137.394 0-32.026 9.226-54.484 25.632-70.913zm288.282 1.428c15.53 16.296 24.226 38.38 24.226 69.486 0 56.37-30.516 106.083-76.828 134.804 2.87-4.334 5.65-8.887 8.315-13.682 24.163-43.46 40.328-106.15 42.628-188.473.56-.707 1.122-1.41 1.66-2.135zm-237.496 59.052c-3.753 6.263-6.096 14.53-6.096 23.24 0 20.065 12.095 35.915 26.82 35.915 12.53 0 23.354-11.585 26.21-27.465-4.692 4.098-10.472 6.34-16.456 6.34-15.98 0-29.423-16.616-30.478-38.03zm185.912 2.477c-1.056 21.413-14.496 38.03-30.477 38.03-5.985 0-11.763-2.242-16.458-6.34 2.858 15.88 13.68 27.466 26.21 27.466 14.726 0 26.21-15.85 26.21-35.916 0-8.71-1.732-16.977-5.484-23.24h-.002zm-68.73 28.97c-3.51 13.094-14.307 23.18-24.53 23.18-9.984 0-20.61-10.057-23.943-22.507-.813 3.397-1.752 7.03-1.752 10.796 0 19.225 11.59 34.41 25.698 34.41s25.697-15.185 25.697-34.41c0-3.986-.26-7.9-1.168-11.47h-.002zm35.04 66.706c-3.435 16.552-14.208 29.013-27.45 29.013-8.24 0-15.752-4.6-21.024-12.146.738 18.326 12.065 33.062 25.697 33.062 14.107 0 25.696-15.862 25.696-35.086 0-5.407-1.303-10.277-2.92-14.844zm-115.636 1.347c-1.294 4.168-1.752 8.69-1.752 13.497 0 19.224 11.59 35.085 25.697 35.085 13.633 0 24.375-14.737 25.113-33.063-5.272 7.545-12.784 12.146-21.025 12.146-12.916 0-24.314-11.735-28.032-27.666z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Padlock;

impl IconShape for Padlock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.28 17.313c-81.048 0-146.624 65.484-146.624 146.406V236h49.594v-69.094c0-53.658 43.47-97.187 97.03-97.187 53.563 0 97.032 44.744 97.032 97.186V236h49.594v-72.28c0-78.856-65.717-146.407-146.625-146.407zM85.157 254.688c-14.61 22.827-22.844 49.148-22.844 76.78 0 88.358 84.97 161.5 191.97 161.5 106.998 0 191.968-73.142 191.968-161.5 0-27.635-8.26-53.95-22.875-76.78H85.155zM254 278.625c22.34 0 40.875 17.94 40.875 40.28 0 16.756-10.6 31.23-25.125 37.376l32.72 98.126h-96.376l32.125-98.125c-14.526-6.145-24.532-20.62-24.532-37.374 0-22.338 17.972-40.28 40.312-40.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Palm;

impl IconShape for Palm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.22 18.906c-1.887.027-3.794.16-5.69.438-8.594 1.26-16.57 5.35-20.874 9.656l26.125 158.688-17.593 5.656-73.03-148c-5.852-.847-14.302.584-22.063 4.75-8.054 4.322-14.445 11.026-17.22 17.375L190 210.374l-15.22 10.5L80.188 120.75c-5.81 1.17-13.124 5.42-19.062 12.094-6.188 6.955-10.208 15.767-11.063 22.72l124.688 134.53.125.125c16.778 17.487 19.067 46.66 15.03 83.06-3.703 33.413-13.688 73.89-27.405 118.376h193.22c-22.947-62.09-27.75-117.916-25.564-162.5-8.533 4.21-16.923 7.637-25.22 9.97-18.127 5.096-36.56 4.635-52.748-5.157l9.687-16c11.263 6.812 23.092 7.355 38.03 3.155 14.94-4.2 32.307-13.533 51.345-25.594 35.937-22.766 77.844-54.91 125.53-78.186-5.838-11.33-12.282-17.258-19.092-19.938-8.276-3.257-18.583-2.462-31.063 1.875-19.073 6.63-41.65 21.357-64.594 35.564l-14.25-9.28 1.033-4.626 2.312-10.125c-.033.005-.06.025-.094.03L387.19 46.25c-4.21-5.552-12.187-11.18-21.157-14.094-8.56-2.783-17.125-2.776-22.78-.906l-31.72 143.688-18.342-.563L269.03 23.062c-4.185-2.424-9.777-3.982-15.936-4.156-.623-.017-1.247-.01-1.875 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperArrow;

impl IconShape for PaperArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32.773 20.22l157.23 216.14c34.636 24.228 67.18 52.126 97.608 84.167-55.124-32.744-111.903-62.108-173.862-80.89l-26.373-7.252c-19.323-4.77-39.164-8.476-59.64-10.89l147.478 106.376c48.008 6.057 95.976 17.203 144.207 34.02-92.163-7.09-183.867-6.92-273.713 22.448 153.47 8.53 305.213 31.958 450.104 114.453L277.505 78.07c5.71 102.37 42.343 193.67 86.375 282.31-43.76-50.662-78.767-104.638-106.398-162.067L32.772 20.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperBomb;

impl IconShape for PaperBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M125.572 15.45l-9.027 101.943-97.856-7.377 71.85 47.168-50.372 61.802 114.045-25.115-52.602-2.386 38.937-22.076-45.682-33.506 57.442 1.31-9.475-40.6 48.096 25.644L125.572 15.45zm43.168 134.443c-2.204-.014-4.422.065-6.648.242l1.752 18.687c18.025-1.43 35.682 5.91 49.64 17.52 4.52 3.76 8.582 7.946 12.073 12.385 4.943-4.04 10.08-7.792 15.388-11.24-4.41-5.73-9.527-11.03-15.195-15.745-15.57-12.95-35.7-21.722-57.01-21.85zm176.41 28.025c-.363 11.237 3.172 22.06 9.68 32.06 8.185 12.574 21.2 23.484 36.28 30.45 17.025-8.71 31.17-19.247 40.257-30.783-5.182-3.923-10.663-7.57-16.44-10.905-22.09-12.754-45.97-19.526-69.777-20.822zm-18.648.11c-44.34 2.887-86.685 24.588-114.772 61.81-3.842 10.378-2.588 21.484 3.165 33.976 6.852 14.88 20.466 30.877 38.46 45.342 33.628 27.032 82.323 48.626 127.647 53.16-5.187-33.235-17.857-67.864-41.178-100.185l-8.015-11.11 13.268-3.407c8.406-2.16 16.622-4.754 24.5-7.717-12.242-7.847-22.758-17.967-30.412-29.726-8.12-12.475-12.93-27.012-12.664-42.14zm119.133 43.837c-18.292 23.282-49.283 39.826-83.373 50.24 46.602 72.054 47.346 152.27 29.705 208.875 32.668-12.325 61.44-35.615 80.293-68.27 36.727-63.612 23.873-142.056-26.625-190.845zm-251.944 48.38c-28.1 62.35-12.124 135.174 37.652 180.185-1.068-37.06 8.803-75.31 31.717-101.32-7.553-4.867-14.73-10.014-21.414-15.387-19.6-15.756-35.126-33.415-43.726-52.092-1.72-3.73-3.13-7.54-4.23-11.384zm85.816 88.67c-22.994 24.486-32.67 68.06-28.186 106.864 2.274 1.472 4.596 2.895 6.97 4.265 35.18 20.312 74.9 25.46 111.63 17.46 10.085-25.972 15.988-59.78 13.267-96.232-35.616-2.798-72.1-14.98-103.68-32.357z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PaperLantern;

impl IconShape for PaperLantern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M48.32 20.4v24.47h99.88V20.4zM372 24.68c-30.3.91-53 48.3-54.3 75.09 0 21.53 7.4 40.83 18.7 54.53-61.6 11.6-66.3 115.4-66.3 188.3h30.3l-10.1-11.4c-.4-51.8 1.8-95.2 24-135.5-6.1 99.9 3.2 208.7 9.9 299.1h85.2l-65-11.8c-11.9-104.4-18.9-205.7-4.5-308.5 0 0 9.5-6.1 24.3-13.4-14.2-12.1-23.6-33.3-23.6-57.4 0-37.59 22.8-68.04 50.9-68.04 8.9 0 17.2 3.04 24.5 8.39-10.4-11.98-24.3-19.26-39.4-19.26-1.6 0-3.2-.14-4.6-.11zM43.24 63.56C29.11 81.97 20.35 107.5 20.35 135.8c0 29.9 9.79 56.8 25.36 75.4H149.1c15.6-18.6 25.3-45.5 25.3-75.4 0-28.3-8.7-53.83-22.8-72.24zM441.2 196l1.7 147.2 22.3-.3c-4.9-51.7-3.2-107.2-24-146.9zM48.32 229.8v24.5h99.88v-24.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Papers;

impl IconShape for Papers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.906 18.06v369.23C112.4 252.618 269.43 157.82 430.37 133.76L228.42 18.06H18.906zM325.72 179.327C200.38 223.948 86.405 311.052 18.157 422.568v33.602c113.074-111.488 277-176.38 434.373-175.25L325.72 179.326zm25.56 128.682c-125.218 21.642-246.974 83.6-333.124 174.812v10.297h58.916c113.9-65.58 251.166-95.325 379.492-80.814L351.28 308.008zm-2.253 120.96c-80.122 5.884-160.432 27.957-232.61 64.15h266.42l-33.81-64.15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Parachute;

impl IconShape for Parachute {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.406 18.438c-.594.005-1.188.016-1.78.03-4.582.54-10.147 4.075-16.407 12.626-6.845 9.348-13.726 24.012-19.595 42.562-11.095 35.068-18.797 84.06-20.875 139.156h115.97c-2.074-55.1-9.715-104.116-20.75-139.187-5.84-18.552-12.682-33.186-19.5-42.53-6.38-8.744-12.024-12.244-16.658-12.657h-.03c-.13-.012-.25.006-.376 0zm34.47 4.937c7.703 11.57 14.235 26.638 19.905 44.656 11.827 37.58 19.622 88.07 21.69 144.782h82.186c-5.11-53.913-23.635-101.762-50.53-136.25-20.543-26.34-45.61-44.862-73.25-53.187zm-70.938 1.313c-26.084 8.878-49.815 26.88-69.438 51.906-27.044 34.492-45.688 82.318-50.813 136.22H181c2.07-56.723 9.923-107.235 21.813-144.814 5.487-17.345 11.767-31.93 19.125-43.313zm-55.22 10.437C89.632 65.053 33.103 132.255 21.814 212.813H82.72c5.16-57.906 25.177-109.596 55.093-147.75 8.792-11.214 18.473-21.27 28.906-29.938zM357 39.405c8.533 7.657 16.522 16.26 23.875 25.69 29.76 38.16 49.604 89.83 54.75 147.718h55.188C480.065 135.882 428.495 71.15 357 39.405zM28.844 231.5L195.47 414.094c-1.38 5.163-2.126 10.57-2.126 16.156 0 34.666 28.303 62.97 62.97 62.97 34.664 0 62.967-28.304 62.967-62.97 0-5.585-.746-10.993-2.124-16.156L483.75 231.5h-25.28L308.78 395.53c-1.59-2.394-3.353-4.66-5.25-6.81l95.345-157.22H377.03l-87.967 145.03c-3.245-1.987-6.688-3.68-10.282-5.06L315.5 231.5h-19.313l-35.656 135.938c-1.4-.094-2.794-.157-4.217-.157-1.424 0-2.82.064-4.22.158L216.44 231.5h-19.344l36.75 139.97c-3.594 1.38-7.037 3.073-10.28 5.06l-87.97-145.03H113.72l95.374 157.22c-1.896 2.15-3.658 4.416-5.25 6.81L54.156 231.5H28.844zm218.812 155.313v33.5h-34.5c3.852-16.97 17.342-30.143 34.5-33.5zm18.688.312c16.494 3.782 29.378 16.678 33.125 33.188h-33.126v-33.188zM212.906 439h34.75v34.688c-17.56-3.437-31.276-17.14-34.75-34.688zm53.438 0h33.375c-3.383 17.08-16.484 30.5-33.376 34.375V439z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Paranoia;

impl IconShape for Paranoia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.5 18.16c-84.3 0-168.65 24.64-236.6 73.91v23.43c50.19-39.57 111.4-64.12 175.2-73.66-51.6 23.51-87.5 75.56-87.5 135.96 0 40.7 16.3 77.7 42.8 104.6-47.5-11.6-92.2-31.3-130.5-58.9v22.8c44.69 29.8 96.4 49.8 150.5 60 2-3.6 4.2-7.1 6.7-10.3 6.3-8.3 14.4-15.2 24.1-19.7-5.3-12-8.3-25.7-8.3-40.3 0-3 .1-6 .4-9-9-12.7-14.4-28.2-14.4-45 0-43.1 35-78 78.1-78 3 0 6 .2 8.9.5-9.2 8.1-15 19.9-15 33.2 0 6 1.2 11.7 3.4 16.9 3.2-.2 6.3-.1 9.5.2 16.6 2.2 30.8 11.8 40.8 25.8 11.6-2.6 21.4-9.7 27.6-19.4 1.8 6.6 2.8 13.6 2.8 20.8 0 16.8-5.3 32.3-14.3 45 .2 3 .4 6 .4 9 0 15.1-3.2 29.2-8.9 41.4 9 4.7 16.5 11.5 22.5 19.7 2.3 3 4.3 6.3 6.2 9.7 55.5-10.3 108.6-30.7 154.3-61.5v-22.8c-38.5 28.1-83.7 48-131.6 59.8 26.4-26.9 42.7-63.8 42.7-104.5 0-60.2-35.7-112.13-87-135.74 64.2 9.82 125.7 34.86 175.9 75.14V93.59C427.3 43.96 330.3 19 255.5 18.16zm.5 155.04c-11.8 0-22.8 6.2-31.3 17.4-8.5 11.3-14.1 27.4-14.1 45.4s5.6 34.1 14.1 45.4c8.5 11.2 19.5 17.4 31.3 17.4s22.7-6.2 31.3-17.4c8.5-11.3 14.1-27.4 14.1-45.4s-5.6-34.1-14.1-45.4c-8.6-11.2-19.5-17.4-31.3-17.4zm-18.3 40.4c5.7 0 10.2 10.5 10.2 23.4 0 12.9-4.5 23.4-10.2 23.4-5.6 0-10.2-10.5-10.2-23.4 0-12.9 4.6-23.4 10.2-23.4zm37.2 0c5.6 0 10.2 10.5 10.2 23.4 0 12.9-4.6 23.4-10.2 23.4s-10.2-10.5-10.2-23.4c0-12.9 4.6-23.4 10.2-23.4zm-65.3 78.8c-7.5 3.1-13.5 8.1-18.6 14.9-7.3 9.7-12.6 23.3-16.1 39-7 31.6-6.8 71.4-6.8 104.5v42.3h22v-99.3h18.7v99.3h93.6v-99.3h18.7v99.3h22.8v-42.3c0-32.7-1.1-72.1-8.8-103.5-3.8-15.7-9.2-29.4-16.5-39.2-4.8-6.7-10.3-11.6-17-14.8-11.3 14.5-27.5 24.2-45.6 24.2-18-.1-37.4-11.9-46.4-25.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Parmecia;

impl IconShape for Parmecia {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M302 20.31c-6.3.12-12.7.56-19 1.4l2 17.8c-6 .7-12 1.7-17 3l-5-17c-6.7 1.21-13.9 3.54-19 5.91l6 16.1c-5 2-11 4.3-16 6.8l-8-14.9c-7.3 1.63-12.5 5.57-17 10.4l10 13.4c-4.8 3.49-10.2 6.98-14 10.8l-12-11.6c-5.2 2.97-11 8.67-13 15l13 9.6c-4 4.7-6 9.6-9 14.78-5.1-2.09-10-4.54-15-6.88-4 5.88-5 13.98-6 20.38 5.9.9 11.9 1.9 17 2.8-1.4 5.2-1.1 11.5 0 16.2l-17 2.5c-2.1 7.4.8 15.4 5 20.2l16-6.7c2 5 5 10 8 14.9l-13 9.9c11.2 15.7 10.6 14.1 14 16.5l11-11.5c5.1 4.6 9.3 9.5 14 12.7l-12 11.9c4.9 4 9.4 8.6 14 12.9l12-12.7c5 4 9 8.2 14 12.5l-12 13.1c4.6 4 8.8 8.4 13 12.8l13-13c4 4.3 9 8.7 13 13.2l-13 12.7c4.7 4.1 9.4 9.3 14 13l12-12.2c4.7 4 9 10 13 13.9l-13 11.6c3.8 4.8 7.7 8.9 12 13.6l13-10.6c4.5 5 8.4 10.7 12 15.9l-14 8.7c1.5 3.5 4.6 13.6 5 14l16-2.6c1 6.2 2 12 4 17.5l-16 4.4c-.3 6.7 3.3 14.7 6 18.7l16-6.3c1.1 5.6 4.2 11.4 7 15.6-4.6 3-9.3 5.8-14 8.7 3.5 6 9.3 11.3 13 16.3l12-11.9c4.4 3.7 8.2 6.1 13 8l-6 16.1c7 3 16.2 3.3 23 3.3v-.1c-.6-6-1.3-12.1-2-18.1 5-.6 9-2.2 14-4.6l9 15.5c5.7-2.3 12.7-7.6 16-13l-12-12.5c4-3.7 8-8.1 12-13.1l13 10.1c2.2-2.5 10.7-14.2 11-16.7l-14-8.1c2.3-5.7 6-11.1 9-16l14 7.3c2.3-5.1 8-11.7 8-17.5l-14-6.2c2-5.7 4-11.3 7-17l14 5.4c3.1-5.4 4.5-12.4 6-18.5l-15-4.2c2-5.9 3-11.8 5-17.7l15 3c.2-6.4 1.2-12.9 3-19.1l-15-1.9c0-6.1 1-12.2 1-18.1l15 .6V212l-15 .5c0-6.1-1-12-2-17.9l15-2.2c.1-6.5-1.6-13.4-3-19.1l-15 3.4c-2-5.9-3-11.7-5-17.4l15-4.9c-3.4-5.7-5.7-12.8-7-18.1l-15 6.1c-2-5.5-5-10.9-8-16.1l14-7.7c-3.2-6-7.5-11.8-11-16.7l-13 9.1c-3-5-7-9.8-11-14.28l13-10.4c-4.7-4.94-9.6-10.27-14-14.4-3.7 3.81-7.4 7.66-11 11.6-4-4.2-9-8.2-14-11.8 3.6-4.33 7.7-8.48 11-12.9-5.3-4.29-10.9-8.53-16-11.61l-9 13.9c-5.4-3.85-10.7-5.41-16-8.5 2-5.45 5.1-10.32 8-15.3v-.1c-6-2.94-11.9-4.94-18-7.4l-6 16.6c-6-1.9-12-3.4-17-4.6 1.2-6.03 2.4-11.77 4-17.5-6.5-1.52-13.3-2.56-20-2.9l-2 18c-6-.6-11-.8-17-.7-.3-6.14-.8-12.26-1-18.4zm3 37.11c21 0 42 4.2 61 13.89 72 37.09 127 141.49 56 264.39-10 18.4-20 29.7-28 35.2-8 5.4-13 5.5-18 3.2-5-2.4-12-9-17-20.3-5-11.2-10-26.7-13-45.2-1-9.4-7-17.6-15-28.1s-18-22.3-30-34.6c-23-24.5-50-50.4-72-68.4-24-20-32-38.3-31-54.1 1-15.9 11-30.88 28-42.88 19-13.5 47-22.2 75-23 2 0 3-.1 4-.1zm-231 2.9l4 16.8c-5.13 1.61-10.1 4.09-14 7.2l-10-14.1c-6.54 4.15-11.6 9.85-15 14.5l13 11.2c-3 4.28-6 8.88-8 13.58l-16-5.9c-3.91 6.3-4 13.7-4 21.4l15 .2c-1 5.9-1 11.9 0 17.4l-12 3.8c1.04 8.7 5.2 14.6 10 19.3l9-7.1c3.7 3.7 8.74 6.9 13 8.1l-8 11.4c8.1 4.3 15.37 7.3 24 6.4v-.1c-.82-5.8-1.61-11.6-3-17.3 5-1.2 9-3.4 12-6.2l12 11.8c6.5-5.6 10.3-10.3 13-16.8l-13-7.4c4-4.9 7-10.2 10-15.4l12 5c2.8-6.3 4.5-12.8 6-18.2l-11-3.9c1-5.4 1-10.9-1-16l15-2.98c-3-8.99-4.8-14.58-10-20.8l-12 10.7c-3.7-3.76-8.57-7.25-13-8.9l6-15c-7.32-3.78-15.69-3.53-24-2.7zm179 32.9c-12 .3-23 6.5-29 17.28-10 16.7-4 37.9 13 47.5 16 9.5 37 3.9 47-12.7 9-16.6 4-37.9-13-47.38-6-3.3-12-4.8-18-4.7zm-163 5.7c3.48 4.38 5 10.38 4 13.48-3 9-10.46 22.3-18 30.4-5.89 6.4-11.58 7.1-16 3.5-3-3-5-11.8-2-22.2 4.01-9.5 21.09-38.26 32-25.18zm253 12.98c-8 0-14 6.4-14 14.4 0 7.9 6 14.4 14 14.4s15-6.5 15-14.4c0-8-7-14.4-15-14.4zm38 60.9c-17 .4-33 9.5-43 25.4-14 24.2-5 55.3 19 69.3s55 5.6 69-18.6c14-24.3 6-55.3-18-69.3-9-4.8-18-7-27-6.8zM89 250.1l-1 17.4c-5.32-.7-10.11-.9-15 1L67 253c-8.66 2.4-14.76 6.8-19 11.5l11 12.4c-3.46 3.9-7.42 8.1-9 12.7-5.24-2-10.07-4.8-15-7.4-3.13 6-5.74 14-6 20.4l16 2.8c-1.33 6.5-2 11.1-2 17.2l-15.15.5c-.25 7.4 0 12.7 1.15 19.4l15-1.7c1 6.2 2 12.2 3 17.9l-15 3.1c.79 6.6 1.87 12.7 5 19l14-4.6c2 5.9 4 11.6 7 17l-15 6c1.28 4.7 6.69 12.8 10 17.7l13-7.8c3 5.2 6 10.1 10 14.8l-12 9.6c4.44 5.4 9 11 13 14.9l11-11.1c4 4.3 9 8.2 13 11.8l-9 12.4c4.25 4.1 11.6 9 17 11l7-13.3c5 3 11 5.7 16 7.9l-6 14s19.3 6.5 19 6.1v.2l4-14.7c6 1.5 12 2.6 18 3.2l-2 15c5.9.7 13.9.9 20 .7l-1-15.4c6-.4 12-1.6 17-3.4l5 15.6c8.5-2.4 14.1-4.8 19-8.7l-9-14.4c5-3.1 9-6.7 13-10.7l12 11.8c4.5-5.1 10.1-12.1 13-16.4l-15-8.8c4-5 6-10.2 8-15.4l16 5.7c2.8-6.7 4-14 5-20l-16-2.3c.7-6 .9-12.2 1-17.4l16-.6c-.6-7.3-1.5-14.6-3-20.8l-15 4.4c-1-5.5-3-10.6-7-15.2l13-8.8c-1.9-4.3-10.3-14-16-15.6l-9 14.4c-5-2.1-9-3.7-15-4.9l3-17.6c-15.2-1.1-16.4-.8-26 .1.6 5.2 1.2 9.5 2 14.8-6.5-.2-14-.7-20-1.3l1-12.8c-5.7-.1-11.4-.8-17-1.9l-3 11.9c-7-1.3-14-2.9-19-4.7 1.9-4.7 5-8.5 8-12.5-3.4-2.3-7.8-7.3-10-9.9l-14 8c-2.7-5.8-4.8-14-5-20.5l15-1.3c-.6-9.2-1.9-14.6-6-21.2l-15 7.1c-2.2-4.1-6.5-7.8-10-10.2 3.4-4.8 6.7-9 10-13.9-6.1-3.9-15.12-8.4-22-8.7zm5 41c2 3.1 4 8.4 5 14.9 2 6.4 3 13.9 6 21.4 3 7.4 8 15.2 17 19.6 18 9 47 12.7 67 13.4 25 .9 36 5.3 40 10.3 4 4.9 5 14.3 5 30.6-1 10.9-6 25.3-15 36.5s-22 19.1-37 19.8c-52 2.6-120-40.3-120-137.5 0-12.5 4-21.7 8-27.3 6.27-7.7 17.81-10.7 24-1.7zm18 76.9c-8 0-15 6.5-15 14.4s7 14.3 15 14.3c7 0 14-6.4 14-14.3s-7-14.4-14-14.4zm63 17.6c-13 0-24 11-24 24.4 0 13.5 11 24.4 24 24.4 14 0 25-10.9 25-24.4 0-13.4-11-24.4-25-24.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ParrotHead;

impl IconShape for ParrotHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246 18.844c-2.157.02-4.292.068-6.406.156-73.28 3.064-120.385 46.286-139.406 94.094-11.706 29.42-12.328 60.463-1.813 84.78 10.515 24.32 31.522 42.552 66.906 47.845 18.85 2.818 37.402 5.89 55.314 9.5 59.88-25.15 71.217-72.16 86.625-115.19 7.735-21.602 16.277-42.437 33.874-56.655 12.758-10.31 29.792-16.212 52.47-16.563-28.51-20.475-62.022-35.544-99.095-43.093-17.22-3.507-33.372-5.024-48.47-4.876zm147.47 66.53c-19.04.243-31.413 5.12-40.626 12.564-12.818 10.356-20.528 27.42-28.03 48.374-13.216 36.904-26.567 85.154-75.752 115.282 42.035 10.47 78.926 24.997 105.188 47.5 21.364 18.306 35.342 42.586 37.406 72.75 1.54 22.492-3.3 47.973-15.25 77.187C477.462 385.23 506.27 291.847 488.844 209.75c-9.833-46.322-34.647-89.155-70.344-122.5-9.447-1.382-17.738-1.968-25.03-1.875zm-308.376 15.44c-20.48 6.425-42.002 17.384-64.28 33.655l-.002 359.155h230.875c11.166-23.298 19.82-46.743 26.188-69.97-34.545-1.148-67.374-12.59-94.563-31.06-48.912-33.232-80.487-89.767-72.25-149.22-13.442-10.208-23.455-23.32-29.843-38.094-12.89-29.806-11.65-65.73 1.624-99.093.717-1.802 1.46-3.587 2.25-5.374zm144.656 27.124c23.412 0 42.406 18.968 42.406 42.374 0 23.407-18.994 42.375-42.406 42.375s-42.375-18.968-42.375-42.375c0-23.406 18.963-42.375 42.375-42.375zM128.78 254.125c-3.5 48.926 23.382 94.734 65.032 123.03 44.693 30.365 105.29 39.94 162.657 9.658-6.057-.988-11.844-2.296-17.376-3.907-13.214-17.616-20.057-42.566-18.688-63.187.245-3.687.764-7.21 1.5-10.533-5.35-3.108-11.05-6.05-17.094-8.812-1.66 5.77-2.648 11.858-3.062 18.094-1.14 17.168 2.01 35.7 9.188 52.592-35.888-20.445-55.414-55.432-58.22-88.875-27.608-7.465-58.322-13.202-90.187-17.968-12.5-1.87-23.76-5.332-33.75-10.095z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Paw;

impl IconShape for Paw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.188 21.97c-7.297 26.986-10.203 53.018-7.938 78.436-14.85 7.285-25.906 20.114-25.813 37.438.283 52.65 14.304 78.17 27.75 103.28 13.548 25.303-13.83 40.578-25.812 11.626-9.234-22.314-15.026-41.954-32.938-67.78-9.084-13.102-22.705-17.43-36.124-15.75-11.94-18.19-21.904-36.186-30.188-56.282-7.62 29.437-8.15 53.222-.875 72.156-10.35 10.828-15.61 25.955-9.625 41.844 12.662 33.607 39.78 62.612 56.156 76.812 31.5 27.312 48.92 57.614 59.69 93.78L122.187 444l23.124-12.375-15.687 47.063 17.406-10.438c-1.464 10.67-4.858 19.785-9.843 29.156h220.094c-6.797-11.38-13.59-21.46-17.405-32.344l18.594 13.625-12.783-58.218 15.282 16.936.592-48.156c17.473-24.295 40.45-46.337 58.97-61.625 4.012-3.313 8.287-6.348 12.28-9.688 16.656-13.928 34.265-34.822 50.344-65.187 7.97-15.047 4.18-29.898-5.437-41.28 6.854-20.713 10.25-40.728 10.186-61.376l-39.03 43.03c-16.944-4.927-35.66-2.328-47.688 12.5-15.665 19.312-20.914 36.51-32.938 52.282-14.377 18.857-30.835 6.79-21.938-9.687 14.045-26.01 29.088-57.898 31.625-109.095 1.034-20.86-12.418-35.303-30.406-42.5 1.58-23.15-7.402-49.838-16.217-74.313-5.48 21.334-13.383 46.38-21.407 69.72-19.64 2.562-37.13 12.946-42.344 32.906-11.923 45.646-6.575 79.856-5.812 103.28.998 30.646-32.694 23.28-30.97 0 2.43-32.78 9.427-56.95-.655-103.937-3.872-18.04-18.63-27.624-35.688-30.093-6.52-25.415-18.27-48.343-31.25-72.218zm157.25 92.468c23.62.08 46.055 24.707 29.656 68.624-20.786 55.666-73.04 38.98-69.156-21.78 2.052-32.11 21.128-46.908 39.5-46.845zm-142.72 3.75c17.888-.42 38.083 16.814 40.188 49.156 3.6 55.282-52.667 63.817-64.78 15.28-10.868-43.537 5.55-63.99 24.593-64.436zM65.25 191.344c9.805-.166 20.597 5.605 27.594 18.28 30.027 54.392-16.39 80.447-39.625 41-21.794-36.994-6.688-58.965 12.03-59.28zm370.625 22.406c21.77-.634 42.792 24.326 19.844 51.125-35.94 41.97-80.713 30.29-44.564-34.844 6.206-11.18 15.527-16.012 24.72-16.28zM253.47 266.438c97.645 0 155.217 95.69 61.468 113.093-28.966 5.38-41.64-10.665-61.875-10.75-17.822 0-38.463 16.566-59.844 12.845-98.955-17.233-51.51-115.188 60.25-115.188z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PawFront;

impl IconShape for PawFront {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M241.094 26.625c-44.872 55.384-74.013 114.344-88.72 175-23.926-25.615-51.124-49.31-82.186-71.656-38.503 92.774-41.77 146.618-14.782 233.468 0 0 15.473-89.68 29.594-121.844 28.562 20.538 53.595 42.603 75.594 66.156 13.52-55.77 40.9-110.32 82.156-161.25 39.88 48.886 66.254 99.835 80.5 152.97 27.562-35.956 63.647-67.962 105.188-97.845C450.598 255.02 459.733 309.138 458 361.5c27.887-87.562 24.102-181.93-14.78-275.625-45.18 32.507-83.404 68.392-113.376 107.5-15.497-57.796-45.38-113.585-88.75-166.75zm2.125 163.688l-7.314 10.468c-59.163 84.862-58.717 188.233-.03 273.19l7.53 10.905 7.75-10.75c62.427-86.477 63.05-190.986-.156-273.656l-7.78-10.157zm.718 32.5c48.04 70.85 47.702 154.59-.188 228.843-44.7-72.84-44.905-156.184.188-228.844zm171.125 27.812l-9.688 7.094c-76.928 56.176-104.23 140.8-71.813 222.03l4.5 11.28 9.75-7.25c75.863-56.237 104.185-141.11 71.75-222l-4.5-11.155zm-8.625 29.97c21.208 65.843-.57 131.465-59.782 180.28-21.368-66.28-.27-131.54 59.78-180.28zm-310.032 1.03l-4.47 11.5c-26.705 68.612-3.334 140.714 59.126 188.406l9.875 7.533 4.5-11.594c26.69-68.88 4.15-140.792-59.187-188.44l-9.844-7.405zm8.813 30.53c46.374 39.877 62.857 92.506 47 146.19-45.747-39.944-62.724-92.844-47-146.19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PawHeart;

impl IconShape for PawHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.656 30.03c-41.495.564-83.634 22.155-110.844 69.282-41.912-117.77-236.492-76.29-232 64.5 4.682 146.597 214.483 232.04 237.063 316.313 20.666-77.113 240.752-175.82 236.344-316.313-2.65-84.358-65.832-134.66-130.564-133.78zm-154.03 58.657c15.38 22.305 27.868 49.554 4.093 51.438-23.2 1.84-14.18-28.684-4.095-51.438zm97.186 0c10.087 22.754 19.136 53.28-4.062 51.438-23.776-1.884-11.318-29.133 4.063-51.438zm79.282 56.938c3.65 24.62 4.21 56.43-17.656 48.47-22.412-8.164-3.117-31.078 17.656-48.47zm-264.031 5.594c22.394 15.26 43.843 36.17 22.343 46.5-20.976 10.074-23.553-21.644-22.344-46.5zm99.28.624c12.818.15 24.67 14.076 27.157 32.625 2.652 19.784-6.356 37.34-20.125 39.186-13.77 1.846-27.098-12.715-29.75-32.5-2.652-19.785 6.388-37.31 20.156-39.156.862-.115 1.71-.166 2.564-.156zm73.782 0c.854-.01 1.702.04 2.563.156 13.768 1.846 22.776 19.37 20.125 39.156-2.652 19.785-15.95 34.346-29.72 32.5-13.768-1.845-22.776-19.402-20.124-39.187 2.485-18.55 14.338-32.477 27.155-32.626zM161.5 206.72c12.172-.038 25.272 10.956 31.47 27.56 7.343 19.68 2.194 39.797-11.5 44.907-13.697 5.11-30.75-6.695-38.095-26.375-7.344-19.68-2.195-39.795 11.5-44.906 2.14-.798 4.37-1.18 6.625-1.187zm191.406.53c1.796-.05 3.577.158 5.344.625 14.132 3.737 21.246 23.224 15.875 43.53-5.37 20.31-21.18 33.74-35.313 30-14.132-3.736-21.245-23.223-15.875-43.53 4.7-17.77 17.402-30.28 29.97-30.625zm-94.75 28.344c18.32 0 33.624 19.908 37.563 46.594.605.163 1.204.323 1.81.5 34.163 9.926 57.242 36.7 51.533 59.812-5.71 23.11-38.027 33.802-72.188 23.875-6.65-1.933-12.884-4.504-18.563-7.563-5.673 3.055-11.888 5.633-18.53 7.563-34.162 9.927-66.478-.764-72.188-23.875-5.71-23.11 17.338-49.886 51.5-59.813.482-.14.956-.274 1.437-.406 3.917-26.732 19.285-46.686 37.626-46.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PawPrint;

impl IconShape for PawPrint {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.53 16.727l-7.553 10.367s-14.79 20.28-29.64 44.75c-7.424 12.236-14.9 25.517-20.622 38.108-5.722 12.588-9.965 24.188-9.965 35.076 0 37.323 30.458 67.783 67.78 67.783 37.327 0 67.784-30.46 67.784-67.782 0-10.888-4.242-22.488-9.964-35.076-5.723-12.59-13.162-25.872-20.586-38.108-14.85-24.47-29.676-44.75-29.676-44.75l-7.557-10.367zm0 32.778c4.848 6.853 10.65 14.592 21.245 32.05 7.185 11.838 14.33 24.617 19.565 36.133 5.235 11.518 8.285 22.092 8.285 27.34 0 14.03-5.816 26.627-15.172 35.553 1.712-4.232 2.662-8.853 2.662-13.698 0-20.197-36.57-70.364-36.57-70.364s-36.572 50.167-36.572 70.364c0 4.86.955 9.492 2.675 13.734-9.377-8.928-15.21-21.54-15.21-35.588 0-5.248 3.087-15.822 8.322-27.34 5.234-11.516 12.38-24.295 19.564-36.133 10.594-17.457 16.36-25.195 21.207-32.05zM60.66 79.365l-3.285 12.374s-6.49 24.27-11.496 52.45c-2.503 14.09-4.652 29.19-5.44 42.998-.786 13.807-.538 26.13 3.395 36.28 13.484 34.803 52.873 52.214 87.676 38.73 34.803-13.486 52.21-52.913 38.728-87.713-3.933-10.153-12.09-19.383-21.974-29.055-9.884-9.67-21.653-19.38-32.996-28.105C92.578 99.875 71.463 86.3 71.463 86.3l-10.805-6.936zm394.725 0L444.578 86.3s-21.114 13.574-43.8 31.025c-11.344 8.726-23.114 18.434-33 28.105-9.883 9.672-18.002 18.902-21.936 29.055-13.483 34.8 3.888 74.227 38.69 87.713 34.804 13.484 74.23-3.927 87.714-38.73 3.934-10.15 4.145-22.473 3.358-36.28-.787-13.807-2.935-28.907-5.438-42.998-5.006-28.18-11.498-52.45-11.498-52.45l-3.285-12.376zm-11.826 30.55c2.042 8.137 4.64 17.446 8.213 37.56 2.42 13.636 4.46 28.142 5.18 40.772.72 12.63-.255 23.576-2.15 28.47-5.067 13.076-15.038 22.716-26.98 27.66 3.116-3.325 5.666-7.28 7.412-11.788 7.298-18.834-8.68-78.824-8.68-78.824s-52.227 33.564-59.523 52.395c-1.75 4.516-2.533 9.164-2.467 13.725-5.504-11.706-6.38-25.56-1.31-38.648 1.897-4.893 8.553-13.598 17.595-22.445 9.042-8.85 20.34-18.203 31.316-26.647 16.206-12.465 24.41-17.6 31.393-22.23zm-371.035.037c6.997 4.64 15.17 9.745 31.355 22.193 10.977 8.444 22.276 17.798 31.318 26.647 9.042 8.847 15.696 17.552 17.592 22.445 5.068 13.082 4.197 26.932-1.3 38.635.063-4.557-.722-9.2-2.47-13.71-7.295-18.832-59.523-52.396-59.523-52.396s-15.975 59.99-8.678 78.823c1.748 4.508 4.298 8.466 7.415 11.79-11.945-4.942-21.92-14.583-26.988-27.663-1.896-4.894-2.872-15.84-2.152-28.47.72-12.63 2.797-27.137 5.22-40.772 3.568-20.096 6.167-29.375 8.212-37.523zm184.294 122.39c-43.658 0-79.31 28.473-87.347 66.686-22.89 8.593-43.324 19.73-57.71 34.275-15.516 15.688-25.112 34.84-25.112 55.518 0 30.856 20.97 57.578 52.124 75.997 31.154 18.418 73.17 29.38 119.322 29.38s87.99-10.95 118.994-29.38c31.004-18.43 51.832-45.18 51.832-75.996 0-20.867-9.736-40.188-25.48-55.99-14.613-14.672-35.395-25.875-58.692-34.423-8.38-37.994-44.513-66.066-87.932-66.066zm0 18.686c37.094 0 66.64 24.44 71.178 54.936l.838 5.656 5.44 1.832c23.44 7.892 42.783 19.37 55.92 32.557 13.136 13.187 20.04 27.7 20.04 42.817 0 14.93-6.83 29.376-19.52 42.178 3.65-7.606 5.618-15.66 5.618-24.004 0-25.25-31.607-64.705-89.514-79.745.172-1.57.26-3.162.26-4.774 0-25.574-22.076-46.31-49.308-46.31-27.233 0-49.31 20.736-49.31 46.31 0 1.543.085 3.065.24 4.568-58.223 14.926-89.483 54.81-89.483 79.953h-.002c0 8.25 1.937 16.215 5.533 23.743-12.622-12.743-19.41-27.096-19.41-41.916 0-14.955 6.777-29.303 19.71-42.38C137.982 333.37 157.032 321.95 180.09 314l5.402-1.868.805-5.694c4.324-30.847 33.236-55.41 70.52-55.41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pawn;

impl IconShape for Pawn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.875 19.47c-33.142 0-59.844 26.822-59.844 60.186 0 33.364 26.703 60.156 59.845 60.156 33.142 0 59.875-26.792 59.875-60.156S289.017 19.47 255.875 19.47zm-50.688 120.343c-2.908 1.23-5.658 2.53-8.187 3.937-14.467 8.046-21.47 17.86-21.47 27.094 0 9.234 7.003 19.08 21.47 27.125 14.467 8.044 35.51 13.436 58.875 13.436 23.365 0 44.408-5.392 58.875-13.437 14.467-8.047 21.47-17.892 21.47-27.126 0-9.234-7.003-19.048-21.47-27.094-2.53-1.406-5.28-2.708-8.188-3.938-13.696 11.647-31.392 18.688-50.687 18.688-19.3 0-36.996-7.034-50.688-18.688zm78.875 87.906c-8.948 1.54-18.394 2.374-28.187 2.374-9.315 0-18.316-.758-26.875-2.156 2.69 6.923 4.36 14.186 4.906 21.656 2.456 33.554-17.04 69.573-58.47 93.594l-.155.093-.155.095c-20.062 10.653-30.28 24.056-30.28 36.97 0 12.9 10.28 26.46 30.343 37.217 20.062 10.76 48.86 17.844 80.75 17.844s60.687-7.085 80.75-17.844c20.062-10.758 30.343-24.318 30.343-37.218 0-13.127-10.773-26.656-31.655-37.406l-.22-.125-.186-.094c-40.344-23.394-58.705-59.676-55.908-93.22.626-7.497 2.31-14.813 5-21.78zM128.845 395.655c-5.592 3.72-10.256 7.61-13.875 11.53-6.9 7.48-9.94 14.64-9.94 21.845 0 7.206 3.04 14.397 9.94 21.876 6.898 7.48 17.6 14.852 31.28 21.125 27.36 12.547 66.42 20.69 109.625 20.69 43.206 0 82.295-8.143 109.656-20.69 13.682-6.27 24.352-13.644 31.25-21.124 6.9-7.48 9.97-14.67 9.97-21.875 0-7.204-3.07-14.363-9.97-21.842-3.597-3.902-8.238-7.767-13.78-11.47-5.638 15.6-19.584 28.706-37.5 38.313-23.533 12.62-54.947 20.095-89.563 20.095-34.615 0-66.06-7.474-89.593-20.094-17.94-9.62-31.887-22.747-37.5-38.374z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Peaks;

impl IconShape for Peaks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M245.795 19.12l-52.363 153.513 26.67 61.937 38.884-52.37 53.217 67.493 11.682-40.486-78.09-190.086zM101.172 193.69l-29.06 80.222 24.54-12.715 24.803 14.33 11.64-48.013-31.923-33.825zm83.267 5.308l-20.776 60.904-15.27-16.177-14.662 60.48-37.568-21.707-33.44 17.324L19.04 420.42l84.884 30.937 73.418-22.437 73.935 19.47 71.66-21.536 91.973 25.226 77.28-31.66-48.44-89.006-39.045 26.664-38.892-27.576-27.153 42.79-15.78-10.013 39.032-61.51-26.6-64.752-15.246 52.83-60.634-76.9-43.664 58.81-31.33-72.76zm223.06 65.81L375.84 314.7l29.066 20.61 29.865-20.394-27.27-50.11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PentagramRose;

impl IconShape for PentagramRose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.6 27.6c-40.4 0-78.1 11.68-109.8 31.84l-35.3-25.72 13.6 41.51C77.93 112.9 49.13 169.7 49.13 233.1c0 18.1 2.37 35.7 6.79 52.5l-36.85 26.6 45.86-.1c29.36 70.3 96.57 120.8 176.07 126l14.9 46.3 15-46.5c78.3-6.2 144.3-56.4 173.3-125.8l48.7.1-39.2-28.3c4.1-16.3 6.3-33.3 6.3-50.8 0-62.4-27.9-118.3-71.8-156.03l14.2-43.35-36.6 26.66c-32-20.73-70.3-32.78-111.2-32.78zm8.6 18.87c31.5 1.43 60.9 10.63 86.4 25.73l-17.4 12.73c-20.8-11-44.2-17.72-69-19zm-18.7.1v19.49c-23.6 1.42-46 7.79-65.9 18.08L161 71.29c25.7-15.07 57.1-23.12 83.5-24.76zm121.9 36.97L330.8 192.2c-5.5-9.6-12.7-18.1-21.3-24.9 19-27.9 37.9-55.9 56.9-83.76zm-220.3 0l90.7 66.16c-11.3 2.4-21.8 6.9-31.1 13.1-19.9-26.4-39.7-52.9-59.6-79.26zm117.1 1.11c18.4 1.05 36 5.49 52 12.66l-52 37.99zm-18.7.1v47.45l-48.8-35.59c15.1-6.57 31.5-10.7 48.8-11.86zm-115.1 9.56l6.8 20.89c-16.8 17-30 37.6-38.27 60.5l-19.1-6.1C92.24 140 109.1 113 129.4 94.31zm252.5 2c21.2 19.69 37.7 44.29 47.9 71.99l-19 6.1c-8-21.4-20.3-40.8-35.8-57.1zM142.8 135.4l20 61.2-47.1-15.2c6.2-17 15.5-32.6 27.1-46zm225.5 2.3c10.5 12.6 18.9 26.9 24.7 42.4L349.9 194zm-113.7 28.9c38.3 0 69.2 30.9 69.2 69.3 0 38.3-30.9 69.2-69.2 69.2-38.4 0-69.3-30.9-69.3-69.2 0-38.4 30.9-69.3 69.3-69.3zm180.8 19.5c3.9 15 6 30.7 6 47 0 13.3-1.5 26.4-4.1 38.9L419 258.8c1.4-8.6 2.1-17.5 2.1-26.6 0-13.7-1.7-27.1-4.8-39.9 6.4-2.1 12.8-4.1 19.1-6.2zm-362.01 1.4l19.21 6.1c-2.95 12.4-4.52 25.4-4.52 38.6 0 9.7.82 19.2 2.41 28.4l-18.25 13.2a188.07 188.07 0 0 1-4.46-40.7c.64-16 2.33-32.3 5.61-45.6zM398.5 198c2.6 11 3.9 22.5 3.9 34.2 0 4.8-.2 9.5-.6 14.1l-47.3-34.1c14.7-4.7 29.3-9.5 44-14.2zm-288.1 1.4l44.8 14.4-47.6 34.4c-.6-5.3-.9-10.6-.9-16 .4-11.5 1.5-23.2 3.7-32.8zM342 226.2l92 66.5-95-32.4c3.2-12.1 4.1-22.7 3-34.1zm-170.4 38.7c3.6 10.4 9.2 20 16.3 28.3l-109.7.2c31.1-9.5 62.2-19 93.4-28.5zm16.8 47l-27.7 34.6c-12-9.8-22.3-21.5-30.7-34.5 19.5 0 39-.1 58.4-.1zm135.9 0l54.9.1c-7.9 12.3-17.6 23.3-28.6 32.8-8.8-11-17.6-22-26.3-32.9zm76.4.1l23.2.1c-11.5 24.6-28.1 46.2-48.6 63.5l-13.1-16.3c15.6-13.2 28.7-29.3 38.5-47.3zm-292.3 0c10.3 18.9 24.2 35.5 40.7 49l-13.2 16.4c-21.4-17.6-38.78-39.9-50.65-65.3zm182.2 4.1L256 423.3v-99.5c12.4-1 24.9-3.4 34.6-7.7zm17.7 5.8l27.3 34.1c-13.5 8.8-28.5 15.5-44.6 19.6 5.8-17.9 11.6-35.8 17.3-53.7zm-104.5.7l17.3 53.7c-16.3-3.8-31.5-10.2-45.2-18.8 9.3-11.7 18.6-23.3 27.9-34.9zm143.5 47.9l13.2 16.5c-24.3 16.7-52.6 27.8-83.3 31.5l7.2-22.4c23.4-5.9 45.7-14.2 62.9-25.6zm-183.1 1.6c18.8 12.2 40.4 20.7 63.4 24.5l7.2 22.2c-30.8-3.2-59.4-13.9-83.8-30.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PentarrowsTornado;

impl IconShape for PentarrowsTornado {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M274.988 19.434l-23.2 108.6 33.9-7.214 16.814 83.756c-11.957-9.916-26.682-16.604-42.818-18.7l.013-.15-138.765-12.802 3.552-35.438L19.072 172.48l96.37 55.186 3.622-36.137 83.233 7.677c-15.232 10.115-27.014 25.034-33.143 42.578l-56.93 129.186-29.867-14.638L78.44 467.33l85.3-71.11-34.715-17.015 38.477-87.314c4.95 17.906 15.685 33.437 30.047 44.47l98.95 88.745-23.754 25.915 105.373 35.097-44.134-101.908-24.853 27.112-64.246-57.62c1.29.058 2.587.093 3.892.093 20.67 0 39.627-7.51 54.316-19.922l107.713-61.555 17.883 30.57 64.625-90.33-110.392 12.104 18.44 31.52-73.268 41.87c3.23-8.927 4.996-18.548 4.996-28.57 0-7.546-1.006-14.863-2.88-21.83l-26.24-130.724 36.462-7.762zm-27.326 184.453c24.706 2.07 40.725 20.068 40.088 43.728-.217 8.056-5.445 16.797-13.086 22.893.672-6.495-1.987-13.894-7.707-19.613-9.01-9.01-22.183-10.438-29.43-3.192-6.963 6.963-5.894 19.39 2.192 28.346 22.283 27.566 61.67 16.448 74.514-11.08.1 1.492.172 2.993.172 4.512 0 19.38-8.32 36.742-21.592 48.735-2.665 2.024-20.406 12.52-20.406 12.52-7.327 2.815-15.288 4.372-23.63 4.372-14.37 0-27.626-4.59-38.413-12.368l-7.236-6.49-.212.234c-12.2-11.903-19.764-28.534-19.764-47.004 0-7.174 1.156-14.067 3.266-20.52l1.914-4.343-.277-.124c9.658-23.564 32.594-40.16 59.605-40.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerfumeBottle;

impl IconShape for PerfumeBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.125 18.53c-43.358 0-78.25 34.79-78.25 77.907 0 43.118 34.892 77.907 78.25 77.907s78.28-34.79 78.28-77.906c0-43.118-34.922-77.907-78.28-77.907zm-88.5 117.314c-6.644 8.198-10.156 17.204-10.156 26.47 0 15.315 9.554 29.91 27.093 41.31 17.538 11.4 42.63 18.876 70.53 18.876s53.025-7.475 70.563-18.875c17.54-11.4 27.094-25.996 27.094-41.313 0-8.654-3.057-17.087-8.875-24.843-15.528 32.8-49.04 55.56-87.75 55.56-39.35 0-73.333-23.508-88.5-57.186zm-27.22 39.72c-44.97 28.067-73.686 72.15-73.686 121.03 0 83.262 83.312 152.594 188.374 152.594 105.06 0 188.375-69.332 188.375-152.594 0-48.867-28.708-92.93-73.658-121-4.323 17.498-16.962 32.665-33.968 43.72-21.18 13.765-49.568 21.874-80.75 21.874-31.183 0-59.54-8.11-80.72-21.875-17.015-11.06-29.65-26.24-33.968-43.75zM93.063 286.154h.032c14.633 56.066 82.046 98.406 163.125 98.406 81.077 0 147.834-42.338 162.467-98.406 2.013 7.54 3.938 15.033 3.938 23 0 66.954-74.647 121.344-166.406 121.344-91.76 0-166.44-54.39-166.44-121.344 0-7.967 1.27-15.46 3.282-23zM415.47 406.03c-38.153 37.933-95.66 61.845-159.376 61.845-63.68 0-121.16-23.885-159.313-61.78 5.558 20.953 20.806 40.113 43.595 55.374 29.125 19.503 70.212 31.967 115.75 31.967s86.594-12.464 115.72-31.968c22.81-15.277 38.07-34.46 43.624-55.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PerpendicularRings;

impl IconShape for PerpendicularRings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M331.924 20.385c-36.708.887-82.53 60.972-116.063 147.972h.003c30.564-65.57 71.17-106.39 97.348-99.378 28.058 7.516 37.11 69.42 24.847 148.405-.895-.32-1.773-.642-2.672-.96.893.367 1.765.738 2.65 1.106-2.988 19.215-7.22 39.424-12.767 60.12-2.77 10.332-5.763 20.39-8.936 30.14-24.996-3.82-52.374-9.537-80.82-17.16-105.856-28.36-186.115-72.12-179.307-97.53 4.257-15.884 42.167-23.775 95.908-20.29-74.427-8.7-128.912-2.044-135.035 20.803-9.038 33.73 89.168 89.372 219.147 124.2 24.436 6.55 48.267 11.897 70.918 16.042-28.965 75.878-68.293 126.078-96.653 118.48-21.817-5.85-35.995-45.443-36.316-100.206-4.79 75.476 9.278 131.945 40.66 140.356 38.836 10.407 91.394-54.998 127.896-152.98 80.12 10.74 138.958 4.278 145.38-19.682 6.384-23.82-41.025-58.44-115.102-89.03 20.713-109.022 8.483-198.5-31.96-209.34-2.968-.796-6.013-1.144-9.124-1.07zm40.568 213.086c44.65 22.992 71.146 47.135 67.07 62.348-4.055 15.13-38.104 20.457-87.333 16.303 3.415-10.604 6.64-21.502 9.63-32.663 4.176-15.588 7.713-30.965 10.632-45.986z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PersonInBlizzard;

impl IconShape for PersonInBlizzard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.912 19.12c-1.538-.043-3.12.126-4.658.126-32.843 0-59.584 33.906-59.584 75.918 0 21.273 7.082 40.47 18.096 54.287-56.102 8.702-75.978 74.546-72.207 145.62 3.592-1.208 7.427-1.873 11.41-1.873 6.244 0 12.135 1.614 17.28 4.442l-.61-61.974 18.688-.184.44 44.66h56.462V173.108c3.217.747 6.555 1.155 10.002 1.155 2.98 0 5.88-.306 8.688-.867l-.002 106.748h56.428l.44-44.66 18.687.183-.606 61.8c5.068-2.718 10.842-4.27 16.957-4.27 4.55 0 8.91.865 12.932 2.423 3.46-71.845-21.24-135.553-72.88-145.282.025-.037.047-.076.07-.113 11.458-13.873 18.894-33.305 18.894-55.06 0-39.39-23.415-72.02-53.406-75.92-.5-.074-1.01-.112-1.522-.126zm154.518 6.04l-6.543 24.418-17.875-17.875-13.215 13.215 17.875 17.875-24.416 6.54 4.836 18.054 24.418-6.54-6.543 24.415 18.05 4.838 6.544-24.418 17.876 17.875 13.214-13.215-17.875-17.875 24.418-6.54-4.836-18.054-24.418 6.54L434.48 30 416.43 25.16zM96.31 65.998l-11.08 41.354-30.273-30.274L41.74 90.293l30.272 30.27-41.348 11.08 4.836 18.052 41.352-11.078-11.08 41.352 18.05 4.837 11.08-41.35 30.27 30.27 13.215-13.215-30.27-30.272 41.352-11.078-4.837-18.053-41.352 11.078 11.08-41.352-18.05-4.838zm160.922 2.426c12.15 0 23.74 9.425 29.342 24.03h-58.68c5.602-14.604 17.19-24.03 29.338-24.03zm-32.824 42.72h65.65c.005.284.018.566.018.854 0 25.2-15.88 43.576-32.844 43.576s-32.84-18.377-32.84-43.576c0-.288.012-.57.016-.855zm222.737 111.88l-18.053 4.84 6.543 24.417-24.42-6.542-4.836 18.053 24.415 6.542-17.875 17.875 13.215 13.215 17.877-17.875 6.543 24.418 18.052-4.838-6.543-24.416 24.416 6.542 4.836-18.053-24.416-6.542 17.875-17.875-13.214-13.215-17.873 17.873-6.542-24.415zm-374.717 66.08l-6.54 24.417-17.876-17.874-13.215 13.215 17.875 17.876-24.42 6.543 4.838 18.052 24.418-6.543-6.543 24.417 18.053 4.836 6.54-24.418L93.435 367.5l13.214-13.215-17.873-17.875 24.416-6.54-4.836-18.054-24.416 6.543 6.542-24.42-18.052-4.835zm118.523 9.726l.626 63.557 2.207 33.51h53.428v-76.444h18.69v76.443h51.707l4.088-54.89h.053l.082-8.31c-.103-1.102-.162-2.216-.162-3.342 0-1.366.084-2.712.234-4.04l.26-26.484h-131.21zm-35.98 13.055c-9.76 0-17.47 7.712-17.47 17.47 0 9.755 7.71 17.467 17.47 17.467 9.757 0 17.466-7.712 17.466-17.468 0-9.76-7.708-17.47-17.467-17.47zm202.854 0c-9.758 0-17.467 7.712-17.467 17.47 0 9.755 7.71 17.467 17.467 17.467 9.76 0 17.47-7.712 17.47-17.468 0-9.76-7.71-17.47-17.47-17.47zm35.283 73.426l-8.203 33.588L359.916 395l-12.918 13.506 24.986 23.896-33.19 9.692 5.237 17.94 33.195-9.692-8.205 33.59 18.156 4.433 8.203-33.588 24.985 23.897 12.918-13.506-24.986-23.898 33.19-9.69-5.24-17.94-33.188 9.692 8.202-33.588-18.155-4.433zm-198.09 29.274l2.647 40.184h49.547v-40.184h-52.194zm70.883 0v40.184h47.32l2.995-40.184H265.9zm-67.005 58.873l1.423 21.59h46.893v-21.59h-48.315zm67.005 0v21.59h44.32l1.608-21.59H265.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PieSlice;

impl IconShape for PieSlice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.03 76.47c-12.332-.298-23.413 6.18-23.06 22.468L18.655 273l.282 6.938v178.998l11.468-2.686 155.906-36.563 5.438 17.688 29.72-3.344-3.407-21.81 69.312-16.25 8.844 10.25 21.842 1.624-.937-18.844 121.938-28.625v.03c1.36-.2 2.667-.52 3.937-.936.022-.01.04-.025.063-.033l20.812-4.875 7.22-1.687v-7.188l18.53-147.406c8.89-17.113-6.495-46.453-38.72-40.124 4.752-19.91-38.983-28.136-52.03-17.25 3.263-18.202-37.385-41.715-51.906-21.187 4.632-22.758-46.006-40.867-58.845-20.345-2.41-13.453-18.07-22.568-32.094-22.906zm-10.28 39.655c2.336 2.81 7.442 5.542 13.406 6.844 5.964 1.3 12.622 1.13 16.375.155l8.94-2.313 2.436 8.938c2.21 8.203 6.852 11.33 14.438 12.97 7.586 1.64 17.768.34 25.844-2.876l10.375-4.156 2.25 10.937c1 4.886 7.39 11.092 16.343 14.313 8.954 3.22 19.15 2.73 23.53 0l11.283-7.032 2.78 13c1.227 5.752 4.534 9.73 9.656 12.594 5.123 2.864 12.08 4.212 19.063 3.375l2.25 18.563c-10.635 1.274-21.384-.563-30.44-5.625-6.057-3.388-11.185-8.528-14.75-14.844-9.637 2.4-20.165.986-29.686-2.44-9.78-3.517-19.263-9.534-24.594-18.468-8.934 2.288-18.56 2.914-27.844.907-10.046-2.173-19.796-8.438-25.312-18.532-5.44.405-11.155.037-16.906-1.22-8.71-1.9-17.57-5.648-23.813-13.155l14.375-11.938zM434.78 232.28l.095.345c1.64-.385 1.946-.3 3.656 1.094 1.712 1.39 4.14 4.616 6.22 9.343 4.058 9.22 6.91 23.626 7.656 38.5v16c-.504 10.182-1.96 19.874-4.312 27.53-1.743 5.672-3.982 10.19-6.156 12.938-1.516 1.917-2.777 2.92-4 3.44L37.625 435.374V307.312c132.618-34.5 265.01-62.72 397.156-75.03zm-72.25 177.095l-26.436 3.063 14.562 21.312 24.97-4.438-13.095-19.937zm-62.78 25.03l-32 5.22 11.156 12.938 21.875 1.625-1.03-19.782zm-157.25 29.5l-1.625 14.908 22.47 2.937 8.436-15.313-29.28-2.53zm107.406 4.72l-24.312 3.156 1.75 16.158 31.687-2.75-9.124-16.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PieceSkull;

impl IconShape for PieceSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.555 24.28c-85.44 0-154.703 57.376-154.703 128.154 0 26.275 9.552 50.7 25.927 71.03L95.665 257.58l52.828 52.826 30.447-30.447v93.46h40.177V315.51h18.694v57.906h41.49V315.51h18.69v57.906h40.178V279.79l30.627 30.626 52.826-52.826-34.218-34.22c16.33-20.312 25.854-44.7 25.854-70.936 0-70.778-69.26-128.153-154.7-128.153zm-78.125 98.4c25.714 0 46.56 20.846 46.56 46.558 0 25.715-20.846 46.56-46.56 46.56-25.715 0-46.56-20.845-46.56-46.56 0-25.712 20.845-46.558 46.56-46.558zm156.2 0c25.715 0 46.56 20.846 46.56 46.558 0 25.715-20.845 46.56-46.56 46.56-25.714 0-46.56-20.845-46.56-46.56 0-25.712 20.846-46.558 46.56-46.558zm-78.075 72.275l30.845 82.17h-61.693l30.848-82.17zm-79.614 197.15v104.194H338.17V392.103H297.99v66.134H279.3v-66.134h-41.49v66.134h-18.693v-66.134H178.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PiercedBody;

impl IconShape for PiercedBody {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.5 21.5c-25.192 3.245-47.28 32.016-47.28 68.78 0 20.28 7.038 38.25 17.5 50.75l10.25 12.25-15.69 2.94c-6.058 1.128-11.42 3.163-16.25 6.093l50.907 29.343.22.125c10.092 5.547 17.387 12.847 21.687 20.72 4.332 7.932 5.865 16.78 2.562 24.75-3.302 7.97-12.133 13.29-21.687 13.344-9.457.054-20.02-3.703-32.345-11.5-.13-.082-.245-.136-.375-.22l-52.313-30.06c-1.536 4.65-2.918 9.51-4.156 14.56-8.238 33.626-9.925 74.615-10.155 110.407H189.5l.625 8.626 11.28 149.78 96.69.002L308.03 342.5l.564-8.72h42c-.013-36.18-.378-77.737-7.844-111.624-4.05-18.384-10.197-34.295-18.813-45.75-8.615-11.454-19.257-18.706-34.593-21.062l-16-2.438L283.5 140.25c10.008-12.437 16.72-30.183 16.72-49.97-.002-39.2-24.78-68.718-52.5-68.718-2.913 0-4.762-.12-5.22-.062zM20.812 85.78v21.626l200.875 115.5.188.094.188.125c10.573 6.74 18.416 8.805 22.53 8.78 4.115-.022 4.113-.724 4.563-1.81.45-1.09.63-4.324-1.72-8.626-2.348-4.304-7.01-9.363-14.436-13.407l-.094-.032-.094-.06-212-122.19zm396.97 187.626l-15.626 28.22-33.656-19.063c.355 8.144.576 16.234.688 24.187l22.906 13.03-15.47 27.94 114.97 15.124-73.813-89.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PiercedHeart;

impl IconShape for PiercedHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M492.063 21.47L353.375 43.312l43.188 19.406L360.5 85.03c5.877 6.705 10.767 14.518 14.344 23.282l37.844-23.406-2.094 50.906 81.47-114.343zM301.125 76.437c-1.608-.015-3.204.04-4.813.156-19.3 1.397-38.492 12.485-51.468 36.97l-7.906 14.936-8.438-14.625c-17.056-29.533-47.546-40.198-73.22-35.156-25.67 5.04-46.32 24.368-45.155 61.03.747 23.506 12.27 41.744 29.125 59.313l15.938-9.875c7.068-4.376 14.39-6.487 21.187-6.313 2.266.058 4.472.378 6.594.938 8.486 2.237 15.004 8.183 18.686 15.312 7.364 14.257 3.867 34.654-13.25 45.25l-15.187 9.406c15.353 65.592-25.282 99.922-25.282 135.657 0 20.192 17.73 35.032 34.875 35.032 17.528 0 34.187-13.858 34.187-33.033 0-37.474-43.044-81-17.063-137.187 13.904 13.542 26.968 28.61 36.875 46.594 6.853-11.823 15.104-22.28 24.032-31.813 26.65 31.85-6.063 66.597-6.063 93 0 13.414 11.642 23.126 23.907 23.126 11.997 0 24.407-10.37 24.407-24.5 0-27.533-40.804-63.71-1.688-128.28 2.408-1.993 4.773-3.945 7.125-5.907 15.045 21.743-6.28 45.09-6.28 63 0 9.463 8.22 16.31 16.875 16.31 8.464 0 17.22-7.31 17.22-17.28 0-19.657-29.467-40.713-.19-87.188 4.754-5 9.035-10.085 12.658-15.343 9.17-13.313 14.443-27.468 13.875-45.657-1.066-34.09-22.314-55.8-47.25-62.032-4.676-1.167-9.49-1.8-14.313-1.843zM174.75 201.53c-2.53.125-5.71 1.05-9.72 3.532L19.938 295v31.75l158.625-98.25c9.33-5.775 9.66-14.662 6.5-20.78-1.58-3.06-3.905-5.07-6.843-5.845-.736-.194-1.543-.31-2.44-.344-.335-.01-.67-.016-1.03 0zm147.375 166.94c-2.102 29.32-18.28 38.26-18.28 54.592 0 8.108 8.908 15.313 18.28 15.313 9.167 0 18.625-7.182 18.625-15.72 0-17.01-15.994-24.82-18.625-54.186zM240.75 386.31c-4.03 44.97-28.53 56.92-28.53 82.97 0 13.072 14.493 24.062 28.53 24.062 14.35 0 28-11.054 28-23.47 0-25.006-24.782-38.666-28-83.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PiercingSword;

impl IconShape for PiercingSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40.598 20.316c-11.602 0-21.008 9.406-21.008 21.008 0 11.602 9.406 21.006 21.008 21.006 1.788 0 3.524-.226 5.18-.646l54.972 54.97-46.223 46.223 46.924 65.783 15.216-10.85-28.316-39.7 18.29-18.29 186.083 272.387 2.203 1.084c53.664 26.42 111.6 49.15 183.537 58.05l11.496 1.424-1.044-11.54c-6.375-70.503-30.856-128.572-58.082-183.845l-1.088-2.21L157.08 109.38l18.432-18.433 39.586 28.395 10.892-15.186-65.652-47.09-46.373 46.373-53.992-53.993c1.05-2.5 1.63-5.242 1.63-8.123 0-11.602-9.404-21.008-21.005-21.008zM143.63 122.828l271.49 184.988c.395.807.78 1.617 1.175 2.424l-9.844 28.38-259.538-191.436L338.066 406.8l-33.15 10.13-184.83-270.557 23.545-23.545zm127.327 147.45L418.13 379.3l11.85-49.017 37.204 135.32-135.317-37.205 49.014-11.856-109.923-146.26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PigFace;

impl IconShape for PigFace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.22 20.688c-42.737 0-83.466 33.6-113.69 85.593-30.22 51.995-49.186 121.333-49.186 187.626 0 66.294 18.728 116.544 48.156 150.188 29.428 33.644 69.626 51.094 114.72 51.094 45.09 0 85.32-17.45 114.75-51.094 29.426-33.644 48.155-83.894 48.155-150.188 0-66.294-18.996-135.63-49.22-187.625-30.22-51.993-70.95-85.593-113.686-85.593zm.624 138.843c47.212-.188 94.522 14.425 122.187 44.407-73.1-38.23-167.19-37.75-243.75 0 27.234-29.23 74.352-44.217 121.564-44.406zm-4.25 60.814c4.714-.017 9.42.03 14.094.156 49.863 1.33 96.673 10.52 125.437 28.063l-9.72 15.968c-12.062-7.355-30.064-13.554-51.25-18-9.755 39.85-42.47 33.866-41.405-6-7.727-.67-15.606-1.13-23.563-1.343-14.584-.388-29.44 0-44.03 1.188 1.156 40.128-31.814 46.093-41.47 5.78-17.625 3.593-33.968 8.563-47.843 14.97L118 244.155c34.337-15.855 78.872-23.11 122.875-23.78 1.572-.024 3.147-.025 4.72-.03zm4.156 51.344c.533-.022 1.08-.027 1.625 0 8.74.425 15.003 6.474 19.875 13.875 4.872 7.4 8.99 17.176 12.844 29.562l-17.844 5.563c-3.54-11.373-7.338-19.85-10.625-24.844-2.876-4.37-4.886-5.285-5.156-5.438-.232.077-1.725.596-4.47 4.625-3.25 4.77-7.132 13.392-10.813 25.564l-17.906-5.406c4.003-13.235 8.228-23.238 13.282-30.657 4.74-6.954 11.197-12.523 19.188-12.842zm52.156 31.937c36.06 16.695 61.968 53.982 52.03 105.375 2.384 1.498 4.685 3.06 6.908 4.688l-11.03 15.062c-23.702-17.36-63.367-27.507-102.408-28-39.04-.493-77.314 8.803-98.375 25.78l-11.75-14.56c2.278-1.837 4.674-3.566 7.157-5.22-6.94-49.057 15.778-84.185 48.22-101.156l8.687 16.53c-25.165 13.166-42.41 36.606-39.188 75 24.58-10.84 54.94-15.448 85.5-15.062 31.358.397 63.007 6.13 88.97 17.75 5.932-40.864-13.804-65.904-42.563-79.218l7.843-16.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pill;

impl IconShape for Pill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M383.72 70.188c-1.145-.01-2.293 0-3.44.03-16.662.428-33.436 4.925-48.81 13.907-148.594 86.803-101.707 58.72-253.533 146.375l-4.656 2.688v.312c-45.61 29.694-60.683 90.445-33.155 138.125 28.464 49.3 91.974 66.493 141.188 37.78 151.39-88.32 104.363-60.41 253.5-146.374 49.327-28.43 66.307-91.824 37.843-141.124-18.957-32.834-53.47-51.442-88.937-51.72zm1.342 16.468c25.255.406 49.682 13.512 63.094 36.844 1.82 3.164 2.786 6.918 4.094 10.22-22.875-25.86-61.86-33.04-92.97-15-64.527 37.42-83.64 48.864-105.686 61.874 22.46 19.385 44.32 52.128 54.25 82.03-56.72 32.796-51.65 30.67-148.844 87.032-31.11 18.04-70.094 10.858-92.97-15 1.31 3.3 2.277 7.055 4.095 10.22 20.438 35.552 66.447 47.306 102 26.687 93.043-53.956 91.828-53.805 141.188-82.313.507 9.606-1.02 18.18-5.094 24.938-28.792 16.492-53.304 30.647-136.345 79.093-40.39 23.566-92.154 9.545-115.563-31-23.408-40.542-9.574-92.186 30.97-115.592l4.687-2.72c73.185-42.234 98.623-56.668 125.81-72.25 37.072-21.5 44.154-26.065 128.376-74.905 12.222-7.088 25.678-10.37 38.906-10.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PillDrop;

impl IconShape for PillDrop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M106.033 21.55C77.2 21.787 49.185 36.83 33.775 63.52c-23.137 40.074-9.433 91.807 30.79 114.787l108.824 62.488c.05.03.096.062.147.092 13.688 7.902 30.426 4.335 45.188-4.71 10.51-6.44 20.65-15.867 29.576-27.607 1.62 3.38 3.39 6.757 5.33 10.114 10.956 18.977 24.995 33.888 39.757 42.93 11.663 7.147 24.56 10.868 30.73 10.167l14.31-5.376c.048-.028.098-.053.147-.082.027-.015.05-.033.076-.048l108.913-62.542c40.21-22.984 53.904-74.707 30.77-114.775-15.408-26.69-43.422-41.733-72.255-41.97-.93-.006-1.86 0-2.793.025-13.548.34-27.19 3.96-39.715 11.19-51.58 29.78-74.06 42.965-92.297 53.58-2.996-6.65-7.57-12.215-14.003-15.928-.842-.486-1.698-.915-2.56-1.315l.06-.106c-22.24-12.84-41.192-24.12-106.23-61.67-12.522-7.23-26.166-10.85-39.714-11.19-.93-.023-1.863-.03-2.793-.023zm-.922 18.618c11.55-.25 23.322 2.566 34.087 8.78 42.294 24.42 64.396 37.32 81.3 47.18-2.852 1.264-5.668 2.753-8.415 4.436-14.762 9.045-28.803 23.956-39.76 42.934-10.956 18.978-16.85 38.592-17.3 55.898-.084 3.22.033 6.406.363 9.508l-81.54-46.822-.01-.006C42.482 144.164 31.88 104.18 49.962 72.863c11.867-20.552 33.103-32.215 55.15-32.695zm134.704 70.02c1.147-.03 2.234.038 3.258.195 1.822.278 3.445.84 4.854 1.654 2.94 1.698 5.397 4.767 7.033 9.193-.04.02-.08.04-.118.063-.257.148-.504.305-.754.46l-9.473 7.31c-4.792 4.607-8.68 18.78-8.29 33.72.205 7.805 1.525 16.08 3.907 24.555-9.26 14.926-20.706 26.43-31.27 32.902-11.36 6.96-20.44 7.713-26.077 4.46l.002-.003-.08-.047c-5.595-3.284-9.45-11.507-9.104-24.767.347-13.32 5.22-30.44 14.805-47.04 9.585-16.604 21.975-29.38 33.338-36.343 6.924-4.242 13.002-6.18 17.968-6.31zm8.94 143.134l.002.008v-.008zm.002.008c-14.145 117.223-66.34 101.897-67.387 175.754-.455 33.477 30.9 61.123 69.79 61.123 38.89 0 70.996-27.635 70.996-61.123 0-74.23-57.792-58.98-73.4-175.754zm-19.39 128.237c-4.727 7.142-7.487 15.702-7.487 24.91 0 24.95 20.218 45.176 45.16 45.176 5.416 0 10.608-.958 15.42-2.708-8.066 10.892-21.012 17.918-35.688 17.918-24.622 0-44.383-19.766-44.383-44.402 0-18.444 11.077-34.16 26.977-40.893z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pincers;

impl IconShape for Pincers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.78 20.344c-.842.003-1.687.005-2.53.03-25.534.782-51.27 11.864-71.53 32.064-40.637 40.512-45.503 99.74-12.75 162.156 7.468-7.77 17.948-12.625 29.5-12.625 1.63 0 3.228.123 4.81.31-7.385-12.674-12.023-25.99-13.467-39.686-2.692-25.526 5.91-51.74 25.906-75.594 17.222-20.545 42.123-29.6 66.967-32.313 15.924-1.738 31.875-.833 46.72 1.25-21.29-24.748-47.497-35.683-73.626-35.593zm127.94 89.75c2.057 14.84 2.9 30.782 1.06 46.687-2.86 24.738-12.102 49.482-32.686 66.626-23.92 19.92-50.076 28.506-75.563 25.813-12.917-1.366-25.496-5.572-37.53-12.25.288 1.948.438 3.942.438 5.968 0 11.155-4.536 21.308-11.844 28.718C363.07 302.49 421.276 296.65 461.28 256.78c23.21-23.127 34.594-52.96 31.97-81.81-2.11-23.183-13.242-45.94-35.53-64.876zM272.47 220.656c-12.417 0-22.283 9.866-22.283 22.28 0 12.417 9.866 22.283 22.282 22.283 12.414 0 22.28-9.867 22.28-22.283 0-12.415-9.866-22.28-22.28-22.28zm-39.72 12.25C161.344 259.196 83.694 294.76 19.094 348.03v82.376c67.566-58.922 143.974-114.322 208.72-145.25-31.175 64.465-87.04 140.404-146.158 207.688h78.72c52.763-63.457 90.673-139.32 118-209.375-1.93.28-3.903.436-5.907.436-22.517 0-40.97-18.452-40.97-40.97 0-3.46.43-6.812 1.25-10.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PineTree;

impl IconShape for PineTree {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.28 19.188v.25c-18.114 38.634-45.065 72.36-77.686 102.937l37.72-3.938-51.345 65.032 24.81-7.907-33.624 54.875 16.53 9.843-65.25 92.157 36.095.188-51.686 83.594 63.562-8.126 12 32.094 66.438-25.282L215.5 493.28h52.938l-6.532-68.217 38.188 16.406 10.187-24.783 44.283 20.97 56.406-20.75-37.064-64.094-12.437-2.282 6.78 17.19 7.844 19.905-19.938-7.78-50.906-19.908V395.688l-14.156-8.594-69.375-42-21.595 21.25-18.03 17.75 2.155-25.22 2.125-24.655 18.188 1.56 9.218-9.092 5.19-5.094 6.218 3.75 61.375 37.156v-29.906l12.75 4.97 43.718 17.092-5.092-12.906-6.157-15.656 16.533 3.03 45.468 8.345-34.53-38.94-23.625 14.033-6.688 3.968-5.125-5.874-14.28-16.437.218 1.217-18.406 3.22-5.97-34.313-5.75-33.063 22 25.345 31.188 35.875 43.907-26.03c-24.67-19.543-39.507-33.87-49.658-48.814l.813 12.656 1.97 31-18.75-24.75-34.47-45.437-22.25 46.813-13.844 29.125-3.843-32.032-3.5-28.843 16.532-1.968 16.624-34.97 6.594-13.875 9.28 12.22 25 32.936-.75-11.53-.906-14.28 13.47 4.936L341.81 188l-26.125-35.156-55.843-28.875-8.938 20.218-9.656 21.937-7.72-22.688-7.468-21.875 16.97-5.78 3.718-8.438 4-9.125 8.844 4.593 49.375 25.53 16.467-5.562c-43.42-34.31-64.63-68.886-76.156-103.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateGrave;

impl IconShape for PirateGrave {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M267.313 18c-59.77.48-121.55 26.74-150.657 82.125L76.72 489.905H369.56v-.06h64.874l.783-8.5 30-331.408.405-4.218-2.938-3.095-68.75-72.094c-26.61-34.736-75.88-52.937-126.625-52.53zm-8.532 34.313c49.237.1 91.104 27.793 95.72 64.874 3.886 31.22-19.827 59.727-56.25 72.282l9.688 50.31-39.438-17.843-27.313 30.344-22.75-38.405-45.5 17.563 20.47-53c-17.87-11.625-30.013-28.117-32.376-47.094-4.922-39.55 34.388-74.78 87.814-78.688 3.34-.244 6.655-.35 9.937-.343zm41.5 49.5c-14.57 0-26.374 11.804-26.374 26.374 0 14.57 11.805 26.375 26.375 26.375s26.376-11.804 26.376-26.375c0-14.572-11.805-26.375-26.375-26.375zm-94.436 2.156c-11.424 0-20.688 9.262-20.688 20.686s9.264 20.688 20.688 20.688 20.687-9.264 20.687-20.688c0-11.426-9.262-20.687-20.686-20.687zm202.375 8.593l38.03 39.906-28.875 318.686H371.47l26.686-260.469 28.375-13.28-42.31-15.75v.093L363.186 173l39.782-9.28 5.25-51.157zm-160.095 39.062l-21.938 31.156 36.594 4.22-14.655-35.375zm-108.53 79.188c54.585 58.484 149.392 118.814 222.28 142.25-1.684 17.42-10.09 33.018-20.188 40.968-58.604-52.71-153.878-115.29-222.375-131.874-.718-21.207 7.723-40.255 20.282-51.344zm209.655 6.312c14.336 11.4 23.118 25.974 20.813 46.78-24.526 7.466-54.398 19.293-85.688 33.376-8.742-4.956-17.495-10.208-26.156-15.655 35.11-21.406 67.09-44.536 91.03-64.5zm-152.22 98.03c7.634 4.202 15.317 8.63 23 13.25-34.043 17.586-66.647 36.193-92.78 53.22-10.527-7.495-15.798-18.125-15.813-35.125 27.22-6.096 56.537-17.335 85.594-31.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PirateSkull;

impl IconShape for PirateSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.95 19.2c-58.685 0-101.737 17.664-132.97 45.68 48.263 68.21 113.714 107.422 171.94 118.15 32.58 6 62.737 3.08 86.443-8.014 23.35-10.928 40.7-29.45 49.282-56.862-5.45-10.763-11.76-20.916-18.997-30.29-31.994-41.443-81.43-68.663-155.7-68.663zM109.587 78.298c-3.422 3.823-6.677 7.784-9.764 11.875-30.746 40.752-44.657 94.833-45.63 147.937 58.72 26.42 90.817 62.647 101.806 101.417 30.31 19.97 69.622 29.4 108.22 27.975 33.805-1.247 66.84-10.815 92.688-27.922 10.205-38.25 42.34-73.28 100.81-101.193-.54-33.675-5.868-66.638-16.704-96.28-10.685 20.984-27.018 36.954-46.848 47.395 5.5 17.523 2.04 35.76-6.05 50.85-8.78 16.38-22.906 29.666-39.145 36.173-16.24 6.508-35.77 5.343-50.11-8.22-13.924-13.172-22.515-35.957-24.258-70.71-58.037-15.36-118.86-55.217-165.014-119.298zm41.916 97.803c5.71 20.964 31.71 36.888 63.072 36.888 6.97 0 13.348-.932 19.635-2.38.038.598 0 1.183 0 1.785 0 24.497-23.654 44.62-52.956 44.62-29.302 0-52.96-20.125-52.96-44.62 0-15.31 9.09-28.315 23.208-36.29l.002-.003zm108.422 74.107c14.6 29.094 23.808 58.187 31.467 87.28-20.978-7.523-41.956-6.637-62.936 0 5.666-29.093 17.082-58.186 31.47-87.28zm93.416 113.254c-9.875 5.25-20.36 9.583-31.248 13.017v44.47c13.1-4.626 25.368-10.682 36.3-18.12-3.742-13.045-5.556-26.223-5.052-39.366zm-193.162.224c.912 13.586-.507 27.122-3.846 40.312 10.74 7.033 22.603 12.742 35.156 17.123v-44.5c-10.862-3.4-21.366-7.702-31.31-12.936zm143.226 17.71c-12.18 2.616-24.69 4.192-37.27 4.723v45.545c12.66-.585 25.197-2.337 37.27-5.217v-45.052zM364.852 421c-28.772 18.386-64.12 28.102-99.942 29.424-40.16 1.482-81.158-7.587-114.527-28.06-4.88 12.362-11.358 24.27-19.074 35.445 22.273 21.468 70.715 35.49 121.31 36.042 50.88.553 103.302-12.087 132.718-36.016-8.24-11.97-15.18-24.302-20.486-36.836z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PizzaCutter;

impl IconShape for PizzaCutter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.75 45.53v99.44l87.594 43.53 39.594-80.156L18.75 45.53zm254.594 71.22l.937 29.28c-15.953 2.838-31.072 8.025-45.03 15.19 25.204 19.133 48.265 40.868 68.406 64.75 32.97-2.95 64.406 14.304 78.594 44.124 2.312 4.858 4.298 10.327 5.625 15.72l1.78 7.248-.342.188c5.876 40.095-20.21 78.91-60.344 88.78-42.624 10.484-85.715-15.604-96.19-58.124-3.867-15.707-2.168-31.376 2.876-45.406-19.822-22.79-41.185-42.17-64.22-58.344-.197.322-.396.646-.592.97-.005.007.004.023 0 .03l-38.625 14.72 25.03 13.624c-5.953 16.32-9.346 33.89-9.688 52.188l-25.937 31.968L143.97 333c3.185 18.025 9.385 35.013 18.03 50.438l-6.5 39.625 23.75-14.688c11.736 13.965 25.802 25.92 41.594 35.25l14.062 36.75L248 456.405c16.868 6.087 35.053 9.45 54 9.533l30.875 24.937L332 463.25c18.2-3.34 35.333-9.69 50.844-18.594l39.656 6.375-14.844-23.967c13.472-11.57 25.007-25.325 34.063-40.72L480 371.75l-25.156-13.688c5.622-16.04 8.792-33.22 9.03-51.125L490.595 274l-29.5.688c-3.22-17.073-9.135-33.194-17.28-47.907l6.905-42.186-25.314 15.625c-11.09-13.006-24.214-24.213-38.875-33.157l-15.217-39.782-14.063 25.75c-15.873-5.706-32.888-8.983-50.625-9.405l-33.28-26.875zm-120.03 18.875l-6.876 13.875C208.536 181.288 251.48 218.91 287 267.906c1.16-.556 2.36-1.082 3.594-1.53 4.504-1.64 9.137-2.42 13.687-2.407.65 0 1.292.027 1.94.06 15.514.814 29.87 10.697 35.5 26.126 7.503 20.573-3.256 43.57-23.845 51.063-20.59 7.49-43.62-3.21-51.125-23.783-4.79-13.134-2.122-27.242 5.78-37.687-34.074-47.307-74.226-82.698-134.374-113.47l-6.094 12.314c43.22 21.705 81.69 52.072 115.344 91.812l3.813 4.47-2.376 5.343c-5.353 12.042-7.224 25.748-3.906 39.217 8.07 32.758 40.718 52.524 73.593 44.438 32.89-8.09 53.232-40.94 45.19-73.594-.99-4.02-2.646-8.585-4.345-12.155-11.388-23.935-37.086-37.296-64.156-33.094l-5.283.814-3.375-4.094c-35.76-43.51-81.952-79.968-133.25-106.125zm151 147c-2.428.004-4.914.428-7.345 1.313-11.115 4.044-16.694 16.058-12.658 27.125 4.037 11.066 16.074 16.638 27.188 12.593 11.114-4.044 16.693-16.027 12.656-27.094-3.027-8.3-10.552-13.52-18.812-13.906-.344-.016-.685-.032-1.03-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlainDagger;

impl IconShape for PlainDagger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M43.53 15.75c-15.73 0-28.31 12.583-28.31 28.313 0 14.086 10.092 25.644 23.5 27.906L42.687 68 68.81 41.906l2.626-2.625C69.188 25.86 57.63 15.75 43.53 15.75zm33.72 44.125l-17 17c15.885 39.37 43.45 66.684 78.75 87.406 8.167-8.585 16.65-16.898 25.438-24.936-22.488-35.103-51.535-62.294-87.188-79.47zM322.594 79.03l-51.25 4.314c-79.356 48.134-143.878 108.1-186.72 186.53l-4.31 51.47 44.155-18.656-2.94-34.094-.25-3.063 1.626-2.624c35.94-58.47 79.93-109.41 141.5-141.25l2.406-1.25 2.688.25 34.125 2.906 18.97-44.53zm-62.438 66.376c-10.008 5.886-19.5 12.338-28.562 19.313 46.688 47.93 87.208 108.588 114.72 166.5l11.248 23.717-23.718-11.28c-57.995-27.554-117.918-67.57-165.688-113.907-7.155 9.404-14.028 19.174-20.625 29.28 101.918 94.91 227.05 177.304 347.845 234.69-57.063-120.125-140.038-246.18-235.22-348.314zm-43.03 31.22c-13.37 11.703-25.72 24.58-37.282 38.436 39.36 38.452 88.085 72.83 136.687 98.844-26.054-48.633-60.754-97.847-99.405-137.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlasmaBolt;

impl IconShape for PlasmaBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.03 14c-21.58 46.38.5 85.717 40.876 98.594 37.1 11.84 60.145 33.247 49.53 82.75-7.982 37.263 7.447 72.355 50.064 80.937 23.717 4.78 50.425 32.762 55 76.376-2.76 71.81 50.795 134.308 123.28 141.656 75.402 7.644 142.733-47.288 150.376-122.687 3.822-37.7-8.017-73.352-30.22-100.563-.008-.01-.02-.02-.03-.03-26.01-45.997-144.995-100.207-187.25-96.094-43.27 4.212-72.128-8.77-83.844-45.032C176.252 81.72 145.9 76.166 107.563 83c-34.144 6.09-69.725-22.114-83.53-69zm104.907 81.906c30.423-.038 55.034 29.16 49.563 61.28-13.876-19.435-33.808-41.88-75.938-53.78 8.897-5.175 17.857-7.49 26.376-7.5zm17.25 57.875c2.112-.166 4.53.692 7.594 3.157 4.09 3.288 8.36 9.51 10.75 17.625 2.394 8.117 2.367 16.305.72 22.313-1.647 6.008-4.567 9.222-7.188 10.25-2.62 1.028-5.537.63-9.625-2.656-4.087-3.29-8.357-9.51-10.75-17.626-2.392-8.117-2.366-16.305-.718-22.313 1.646-6.007 4.565-9.252 7.186-10.28.655-.257 1.328-.413 2.03-.47zm116.75 41.626c32.99-.243 66.205 13.118 73.22 43.53 2.483 9.94 5.295 18.77 8.343 26.533.537 5.562 1.883 11.263 4.03 16.874 4.208 10.99 10.827 19.884 19.064 25.5 8.236 5.615 19.05 7.832 28.47 3.25 9.417-4.583 14.638-14.054 16.56-24.125 1.4-7.336 1.18-15.307-.655-23.345 85.45 65.1 69.966 143.12 19.624 184.72-52.91 43.717-137.897 49.615-175.375-40.5 1.1.956 2.394 1.658 3.81 2.155 6.656 3.853 14.364 6.063 22.564 6.063 24.892 0 45.28-20.358 45.28-45.25 0-22.926-17.29-42-39.468-44.875-26.686-18.043-52.14-29.055-47.687-59.813 5.098 5.817 11.21 10.258 17.843 13 9.664 3.996 20.89 4.263 30.312-1.156 9.42-5.42 14.826-15.268 16.188-25.626 1.36-10.358-.985-21.562-6.907-31.78-5.922-10.22-14.492-17.818-24.156-21.814-3.195-1.32-6.553-2.216-9.97-2.656-.37-.223-.715-.468-1.092-.688zM130.25 214.03c11.856 21.624 105.586 9.302 92.344 100.19-22.438-80.46-92.42-36.018-92.344-100.19zm129.063.376c2.316-.033 4.845.502 7.562 1.625 5.434 2.248 11.147 7.042 15.125 13.907 3.978 6.866 5.292 14.178 4.53 19.97-.76 5.79-3.25 9.735-6.967 11.874-3.72 2.14-8.41 2.31-13.844.064-5.435-2.247-11.148-7.04-15.126-13.906-3.978-6.866-5.293-14.21-4.53-20 .76-5.792 3.25-9.705 6.967-11.844 1.86-1.07 3.966-1.654 6.282-1.688zm113.375 27.563c1.912-.07 4.124.653 6.968 2.593 4.334 2.955 9.13 8.847 12.156 16.75 3.026 7.902 3.638 16.036 2.47 22.156-1.17 6.118-3.844 9.58-6.376 10.81-2.53 1.233-5.447 1.08-9.78-1.874-4.335-2.955-9.132-8.816-12.157-16.72-3.027-7.9-3.638-16.067-2.47-22.186 1.168-6.12 3.843-9.58 6.375-10.813.633-.307 1.303-.545 2-.656.26-.04.54-.05.813-.06zm-90.094 102.25c14.79 0 26.594 11.8 26.594 26.592 0 14.792-11.803 26.563-26.594 26.563-14.79 0-26.594-11.77-26.594-26.563 0-14.79 11.803-26.593 26.594-26.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Plastron;

impl IconShape for Plastron {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.03 17.625c-30.488 0-58.12 4.958-78.967 13.5-10.424 4.27-19.193 9.4-25.813 15.813-3.92 3.797-7.126 8.218-9.094 13.093-14.737 2.635-29.356 5.773-43.812 9.407 27.48 115.995 84.27 189.266 160.187 232.844 75.63-43.412 132.25-116.295 159.845-231.53-15.998-4.16-32.162-7.707-48.438-10.625-1.964-4.912-5.18-9.366-9.125-13.188-6.62-6.413-15.39-11.54-25.812-15.812-20.846-8.542-48.48-13.5-78.97-13.5zm0 18.688c28.422 0 54.116 4.816 71.876 12.093 8.88 3.64 15.73 7.923 19.906 11.97 4.176 4.045 5.532 7.357 5.532 10.312 0 2.954-2.117 10.08-6.97 17.937-4.85 7.857-12.145 16.657-21.155 24.72-18.02 16.122-42.748 29.124-69.19 29.124-26.44 0-51.166-13.003-69.186-29.126-9.01-8.062-16.304-16.862-21.156-24.72-4.853-7.856-6.97-14.982-6.97-17.936 0-2.955 1.356-6.267 5.532-10.313s11.026-8.33 19.906-11.97c17.76-7.276 43.455-12.093 71.875-12.093zM81.22 73.906c-3.418 1.244-6.14 3.31-8.47 5.72-4.96 5.123-8.637 11.95-12.063 20.468-6.354 15.8-11.376 37.542-14.312 62.812-3.59 19.297-4.55 39.622-3 60.563 3.545 47.928 20.35 98.78 48.438 146.218 25.367-40.346 56.914-73.48 93.437-100.063-37.737-36.798-68.137-84.54-89.188-144.72 2.14 18.382 2.275 42.013-.218 66.72-2.674 26.5-7.94 49.237-13.75 63.688-2.906 7.225-6.083 12.327-8.125 14.437-.422.435-.34.31-.595.5-.666-.786-1.99-2.45-3.5-6.28-2.076-5.275-3.98-13.097-5.28-22.533-2.603-18.87-2.957-44.186-.282-70.687 2.674-26.5 7.907-49.206 13.718-63.656 2.842-7.065 5.955-12.12 8-14.313-1.698-6.168-3.29-12.47-4.81-18.874zm356.53.28c-1.563 6.57-3.217 13.023-4.97 19.345 2.026 2.486 4.82 7.21 7.376 13.564 5.81 14.45 11.045 37.155 13.72 63.656 2.673 26.5 2.32 51.817-.282 70.688-1.3 9.435-3.205 17.257-5.28 22.53-1.51 3.833-2.835 5.496-3.502 6.282-.255-.19-.173-.065-.593-.5-2.043-2.11-5.22-7.212-8.126-14.438-5.81-14.45-11.076-37.186-13.75-63.687-2.34-23.19-2.368-45.437-.594-63.28-21.398 59.69-52.126 106.966-90.125 143.343 36.126 26.816 67.28 60.153 92.28 100.656 30.156-48.402 47.387-99.807 50.314-148.28.593-9.844.58-19.547 0-29.095-.285-8.466-.855-17.212-1.75-26.095-2.81-27.826-8.12-51.745-14.97-68.78-3.426-8.52-7.104-15.346-12.063-20.47-2.154-2.226-4.625-4.172-7.687-5.438zM199.312 282.533c-38.34 27.264-70.936 61.702-96.468 104.72 2.514 3.787 5.09 7.554 7.75 11.28 80.937 65.808 213.544 66.076 294.906.814 2.41-3.242 4.773-6.502 7.063-9.78-25.13-43.067-57.255-77.624-95.094-105.064-16.623 14.114-34.475 26.346-53.408 36.813l-4.53 2.5-4.532-2.5c-19.806-10.95-38.416-23.835-55.688-38.782zm-90.03 138.5c-7.83 11.086-8.854 19.277-6.688 26.158 2.532 8.044 11.047 16.432 25.53 23.593C157.093 485.106 207.11 493.12 257 493.095c49.89-.025 100.116-8.06 129.563-22.438 14.723-7.188 23.563-15.67 26.343-23.78 2.342-6.834 1.588-14.775-5.594-25.5-85.68 61.277-212.512 61.175-298.03-.345z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PlateClaw;

impl IconShape for PlateClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M156.885 20.168c-49.84-.183-96.78 11.14-135.487 33.45 32.59-5.132 60.867-.755 84.797 10.5 66.84-8.027 148.188 3.507 206.13 34.986 135.095 73.394 169.86 229.22 79.536 310.966-2.51 29.034-9.768 56.672-21.805 81.56C551.55 410.26 522.668 170.688 329.76 65.884h-.002c-56.176-30.52-116.387-45.507-172.873-45.715zm7.58 63.268c-45.246.408-92.216 13.758-136.944 44.78 127.977-41.398 220.853 159.12 147.175 232.436 85.84-10.404 105.582-99.816 77.674-167.613 52.858 72.735 57.108 157.122 36.792 198.565 31.97-17.52 72.568-95.09 53.147-166.445 34.152 45.17 45.81 99.284 35.624 165.278C492.94 279.394 341.967 81.834 164.464 83.435zm112.738 208.128c-8.726 51.223-52.116 93.207-108.69 94.186-9.668 14.508-21.324 27.085-34.986 36.97 68.222 6.58 123.896-34.27 145.15-90.148.674-13.392.202-27.13-1.474-41.008zm81.014 18.26c-2.654 53.137-34.816 99.39-84.842 121.4-8.354 23.26-20.17 44.35-35.307 62.16 47.415-8.956 86.346-33.35 112.532-66.802 13.303-35.105 15.824-75.73 7.617-116.758z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PocketBow;

impl IconShape for PocketBow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M77.85 11.848l9.535 70.648-69.418-11.174 41.508 56.07-11.127 322.715c-11.712 13.235-20.716 28.85-25.823 47.914 74.198-55.834 152.88-71.602 223.606-101.383l-35.913-35.914c-53.122 25.232-105.774 42.49-142.547 71.347l9.674-280.54 8.06 10.888 2.2 4.47h71.304L358.723 394.03c15.618-13.627 29.605-28.41 42.66-44.645l-229.877-193.78V84.226l-11.86-9.165 273.594-10.66c-29.99 36.36-46.84 89.07-71.39 142.416l36.558 36.56c29.22-70.24 45.014-148.09 100.262-221.507-18.54 4.97-33.69 13.015-46.604 23.603l-.02-.506-315.437 12.29-58.76-45.41zm24.613 42.638l50.355 38.916v54.795H99.236l-.607-.146-38.357-50.988 49 7.89-6.81-50.466zm248.103 167.48c-8.162 13.275-17.044 25.835-26.586 37.727l30.727 25.903c11.16-8.75 22.568-17.176 34.06-25.432l-38.2-38.2zm100.006 89.74C414.826 368.52 375.184 412.43 315.88 447.67c59.143 20.683 118.488 37.302 178.8 43.98-8.706-60.66-23.977-120.562-44.108-179.94zm-184.08 5.774c-13.42 10.98-27.58 21.186-42.414 30.674l37.47 37.47c8.748-14.57 18.62-27.954 29.327-40.43l-24.383-27.714z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pointing;

impl IconShape for Pointing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.465 20.182v192.9c38.45 80.782 55.772 134.822 150.726 221.098l.167.15.16.158c3.06 3.06 5.89 3.828 10.14 3.455 4.247-.373 9.65-2.494 14.738-5.912 9.313-6.256 16.457-17.503 17.67-22.266l-56.06-56.065 13.214-13.216 62.94 62.944c1.316 1.316 2.67 1.804 6.508 1.115 3.838-.69 9.267-3.1 14.61-6.78 10.098-6.954 19.75-18.663 22.835-26.454l-56.02-56.02 13.216-13.216 63.667 63.67c19.495-3.225 35.412-16.64 41.65-32.52l.756.296-71.514-71.516 13.214-13.215L447.81 415.52c7.58 7.58 14.7 9.95 21.032 9.853 6.33-.096 12.216-2.88 16.62-7.41 8.805-9.06 12.096-23.49-2.255-37.84L259.97 156.88l13.214-13.214 33.08 33.08c46.988-3.724 84.773-17.932 102.148-33.6 8.914-8.04 12.147-15.414 11.424-22.306-.644-6.142-5.172-13.675-15.865-21.79-52.33 22.22-109.035 19.23-162.685 2.538-54.338-16.908-105.852-47.735-148.47-81.406h-74.35z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PointyHat;

impl IconShape for PointyHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M416.125 42.406c-57.576.457-104.863 25.804-144.813 64.875-41.984 41.063-75 97.61-100 155.5.78 4.503 3.06 8.946 7.094 13.658 5.158 6.024 13.183 12.113 23.188 17.593 20.01 10.962 47.79 19.545 75.5 24.47 27.71 4.925 55.505 6.21 75.156 3.438 9.825-1.386 17.538-3.91 21.813-6.563 4.274-2.653 4.916-3.957 4.812-6.625l.72-.03c-3.408-42.828-6-88.797.092-131.94 2.82-19.972 7.668-39.434 15.22-57.624-31.573 31.44-62.918 65.425-86.844 94.72 35.418-70.2 86.2-121.398 141.125-168.97-11.376-1.71-22.42-2.584-33.063-2.5zM155.21 238.994c-2.033-.012-4.053-.012-6.054.006-2.453.022-4.87.065-7.28.125-23.138.575-44.227 2.91-61.876 7.188-23.532 5.703-40.466 14.888-48.78 26.03-8.317 11.144-10.08 24.667-.97 45.532 32.86 75.263 117.185 130.26 207.844 148.594 90.66 18.33 186.108.147 242.28-66.75 13.59-16.185 15.297-29.312 9.938-43.22-5.358-13.908-19.586-28.878-40.78-42.75-14.745-9.65-32.683-18.737-52.75-27.03 1.506 22.59 3.555 44.877 5.124 65.967v.219c.607 11.402-5.49 21.585-14.344 27.938-8.853 6.353-20.268 10.08-33.437 12.406-26.337 4.654-60.026 3.398-93.344-2.188-33.317-5.585-66.085-15.466-90.28-29.312-12.097-6.923-22.145-14.85-28.875-24.47-6.73-9.617-9.76-21.554-6.594-33.374l.095-.375.125-.374c7.637-21.206 16.308-42.79 26.094-64.094-2.053-.032-4.1-.056-6.133-.068zm6.634 46.662c-3.08 7.8-6.017 15.596-8.813 23.344-1.595 6.246-.4 11.407 3.907 17.563 4.374 6.25 12.28 12.923 22.844 18.968 21.128 12.09 52.4 21.78 84.095 27.095 31.694 5.314 64.016 6.28 87 2.22 11.492-2.032 20.53-5.42 25.78-9.19 5.25-3.766 6.864-6.726 6.595-11.78-.517-6.93-1.088-14.027-1.688-21.25-7.448 4.03-16.47 6.367-26.718 7.813-22.732 3.206-51.79 1.665-81.03-3.532-29.242-5.196-58.5-14.055-81.22-26.5-11.36-6.222-21.122-13.34-28.375-21.812-.825-.962-1.62-1.933-2.376-2.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PointySword;

impl IconShape for PointySword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.95 14.553c-19.38.81-30.594 11.357-30.282 30.283l19.768 30.78c4.43-1.213 9.36-3.838 14.248-7.335l42.474 59.935c-17.018 20.83-31.258 44.44-42.71 70.836l26.55 26.552c11.275-23.6 24.634-44.826 39.918-63.864l210.82 297.475 166.807 33.213L460.33 325.62 162.78 114.745c19.907-16.108 41.842-29.91 65.652-41.578l-26.553-26.55c-27.206 11.803-51.442 26.576-72.735 44.292L69.39 48.56c3.443-4.823 6.062-9.735 7.342-14.242l-30.78-19.765zm400.84 86.933v.008l.003-.008h-.002zm0 .008l-28.028 124.97-25.116-80.593-18.105 70.667-26.862-49.64-.584 57.818 128.484 91.69 15.184 87.017-1.168-186.885-34.457 39.713-9.346-154.756zm-300.95 27.98l222.224 196.368 25.645 66.75-66.75-25.645L130.6 144.734c4.91-5.278 9.995-10.36 15.238-15.26zm32.305 196.274v.004h.005l-.005-.004zm.005.004l28.028 22.775-36.21 4.088 57.82 19.272-105.706 4.09 115.05 27.45L136.1 422.114l127.316 25.696-67.164 43.803 208.494 1.752-87.017-15.185-104.54-150.676-35.037-1.752z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoisonBottle;

impl IconShape for PoisonBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M181.78 33v51.53h149.407V33H181.78zm14.19 70.22c-.66 2.9-1.554 5.263-2.75 6.936-2.684 3.75-7.033 6.594-19.5 6.594-21.54 0-40.804 5.862-55.157 16.094-14.353 10.232-23.907 25.398-23.907 42.5V426.75c0 32.34 26.255 58.625 58.594 58.625h213.47c32.338 0 58.592-26.286 58.592-58.625V175.344c0-17.102-9.527-32.2-23.593-42.438-14.067-10.237-32.83-16.156-53.44-16.156-16.69 0-23.62-3.488-26.874-7.188-1.41-1.604-2.43-3.698-3.156-6.343h-19.125c1.073 6.658 3.37 13.137 8.25 18.686 8.11 9.223 21.523 13.53 40.906 13.53 16.978 0 32.056 5.008 42.44 12.564 10.38 7.556 15.905 17.1 15.905 27.344V426.75c0 22.355-17.55 39.938-39.906 39.938H153.25c-22.355 0-39.906-17.583-39.906-39.938V175.344c0-10.245 5.455-19.72 16.062-27.28 10.607-7.563 26.22-12.626 44.313-12.626 15.962 0 28.056-5.142 34.686-14.407 3.904-5.455 5.733-11.545 6.625-17.81h-19.06zm66.093 45.405c-30.545 0-50.062 12.865-63.282 32.313-12.295 18.09-18.387 42.315-19.186 66.062 25.033 12.795 39.555 27.632 43.844 44.97.734 2.967 1.173 5.942 1.312 8.905 9.01 5.134 23.22 8.44 37.813 8.438 12.935-.002 26.08-2.538 36.093-6.875.152-3.325.617-6.662 1.47-10 4.486-17.583 19.028-33.2 44.405-45.563-.838-22.46-6.793-46.595-19-64.938-13.2-19.84-32.745-33.312-63.467-33.312zM232.188 223.5c9.157 0 16.593 7.405 16.593 16.563 0 9.157-7.435 16.593-16.593 16.593-9.157 0-16.562-7.436-16.562-16.594 0-9.157 7.405-16.562 16.563-16.562zm55.437 0c9.158 0 16.594 7.405 16.594 16.563 0 9.157-7.438 16.593-16.595 16.593-9.158 0-16.563-7.436-16.563-16.594 0-9.157 7.405-16.562 16.563-16.562zm-28.844 33.594c6.275 13.248 11.25 26.503 13.72 39.75-9.148-3.022-18.29-3.426-27.438 0 3.34-13.25 7.352-26.504 13.72-39.75zm-37.03 63.47c-2.136 6.42-5.285 12.778-9.188 19.03 11.93 7.99 31.58 12.81 50.875 12.594 18.97-.214 36.878-5.57 46.22-12.407-3.55-5.764-6.412-11.8-8.344-18-11.947 4.416-25.424 6.375-38.75 6.376-14.447.002-28.77-2.222-40.813-7.594zm-70.656 17.06c-8.9 11.268-12.694 22.493-10.03 36.313 68.925 5.54 164.194 31.92 226.686 60.75 9.16-11.166 12.518-22.67 9.97-36.78-67.77-6.867-164.135-28.736-226.626-60.282zm216.594 0c-20.79 10.496-45.326 19.907-71.313 28.063 20.298 4.434 40.253 8.04 58.72 10.688 7.782-1.026 15.357-1.853 22.624-2.438 2.66-13.82-1.133-25.045-10.033-36.312zm-203.75 57.532c-7.904 1.084-15.56 2.01-22.875 2.75-2.55 14.11.81 25.615 9.968 36.78 21.375-9.86 46.575-19.447 73.25-27.998-20.87-4.912-41.385-8.868-60.343-11.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PoisonGas;

impl IconShape for PoisonGas {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.03 16.318c-18.85 0-37.693 7.71-49.214 23.125-25.114-24.456-78.796-13.708-78.796 32.248 0 6.683 1.14 12.617 3.156 17.81h126.906l43.98 182.098h-75.558l-10.514 90.42c35.93.896 72.553-22.212 72.553-69.356l-.002-.164c15.128 1.198 30.85-4.22 40.5-16.244 13.076 11.892 39.855 6.224 39.855-17.014 0-18.95-17.805-26.2-31.47-21.79-3.356-17.022-15.09-27.788-29.05-32.307 5.138-7.003 8.3-16.072 8.3-27.213 0-21.872-12.166-35.76-27.618-41.682.302-1.52.466-3.144.466-4.875 0-1.72-.164-3.333-.462-4.844 15.914-9.37 27.426-26.276 27.426-50.74 0-39.647-30.228-59.47-60.457-59.472zM98.7 39.695c-19.232-.137-38.25 10.7-43.63 35.428-12.75 58.617 76.628 78.058 89.38 19.44.482-2.216.8-4.37 1-6.473 11.744 3.185 25.72-1.606 29.114-17.207 5.824-26.77-29.91-37.59-42.388-18.38-8.952-8.2-21.255-12.72-33.475-12.808zm62.116 68.494L125.86 252.91h68.466l20.772 178.64h89.992l20.77-178.64h68.464L359.37 108.19H160.815zm308.83 11.29c-10.803 0-21.607 7.087-21.607 21.258 0 28.343 43.214 28.343 43.214 0 0-14.17-10.804-21.258-21.608-21.258zM169.11 167.477l67.292 47.228-79.062 7.078 11.77-54.306zm181.753 0l11.772 54.306-79.063-7.078 67.29-47.228zm111.537 9.42c-7.432 0-14.863 4.875-14.863 14.623 0 19.495 29.727 19.495 29.727 0 0-9.748-7.432-14.624-14.864-14.624zM48.125 189.58c-15.72 0-31.443 10.31-31.443 30.93 0 27.956 28.893 36.956 47.51 27.01 1.29 63.073 85.368 71.095 107.73 24.076h-69.8l19.61-81.192c-16.496-.246-33.104 5.812-44.212 18.184-4.752-12.67-17.072-19.008-29.395-19.008zm211.865 41.053l31.88 42.1-14.9 11.283-16.982-22.428-16.984 22.428-14.9-11.284 31.886-42.1zM40.38 272.738c-7.433 0-14.864 4.872-14.864 14.62 0 19.5 29.726 19.5 29.726 0 0-9.746-7.432-14.62-14.863-14.62zm141.222 32.56c-15.187.658-29.89 10.956-29.89 30.897 0 7.752 2.22 14.044 5.83 18.88-8.155 7.493-13.548 18.505-13.548 33.058 0 23.906 14.53 38.272 32.004 43.125-2.34 3.485-3.756 7.896-3.756 13.238 0 28.692 40.822 30.603 46.274 5.742h-20.06l-16.854-144.94zm147.244 83.747l-7.116 61.193h-52.253c11.388 26.444 46.265 32.527 68.462 18.252 5.28 35.71 62.494 33.894 62.494-5.445 0-25.93-24.858-35.552-43.317-28.875.058-1.037.096-2.087.096-3.162 0-22.225-12.56-36.207-28.367-41.963zm153.53 6.543c-7.142.088-14.38 5.985-11.946 15.072 4.1 15.304 27.436 9.05 23.336-6.254-1.666-6.22-6.505-8.878-11.39-8.818zM61.312 416.842c-13.135 0-26.27 8.613-26.27 25.842 0 17.23 13.14 25.846 26.275 25.843-.26 1.37-.404 2.828-.404 4.38 0 26.502 40.41 26.502 40.41 0 0-11.306-7.355-17.772-15.787-19.432 1.3-3.116 2.045-6.71 2.045-10.79 0-17.23-13.135-25.843-26.27-25.843zM463 431.766c-5.583.068-11.202 3.082-13.688 8.17-13.404-8.747-36.365 2.018-30.974 22.14 6.044 22.56 37.068 17.112 39.658-2.02 9.654 2.782 22.22-4.778 18.775-17.632-2.013-7.516-7.864-10.73-13.77-10.658zm-332.88 1.857c-7.43 0-14.862 4.875-14.862 14.623 0 19.496 29.724 19.496 29.724 0 0-9.75-7.43-14.623-14.86-14.623z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pokecog;

impl IconShape for Pokecog {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.045 25.752l-41.775 8.215 6.894 35.947c-19.303 5.91-37.997 14.43-54.643 25.852l-23.834-27.78L89.04 96.158l24.433 27.988c-13.495 14.454-25.328 31.203-34.16 49.78L44.64 161.813l-14.203 40.652 34.674 12.11c-4.54 19.832-5.6 40.113-4.057 59.624l-36.547 6.685 8.006 42.37 35.947-6.896c5.91 19.303 15.235 37.61 26.657 54.255L67.34 394.45l27.572 32.44 27.78-23.837c14.537 13.64 31.05 25.255 49.78 34.158l-12.115 34.675 40.653 14.2 12.11-34.67c20.202 4.695 40.354 5.885 60.222 4.267l6.894 35.947 41.774-8.214-6.895-35.947c19.304-5.912 38-14.43 54.645-25.853l23.836 27.778 32.646-28.17-24.433-27.99c13.355-14.305 25.153-30.836 33.948-49.18l34.674 12.113 14.2-40.652-34.673-12.112c4.654-20.034 5.825-40.508 4.27-60.22l36.543-6.688-8.003-42.37-35.948 6.894c-5.91-19.304-15.237-37.608-26.66-54.254l27.78-23.836-27.573-32.438-27.78 23.836c-14.538-13.64-31.05-25.257-49.78-34.16l11.905-34.076-40.65-14.2v.003L302.16 65.97c-20.2-4.698-40.35-5.887-60.22-4.27l-6.895-35.948zm23.178 87.603c28.01.105 56.29 8.287 81.183 25.24 59.008 40.186 79.122 116.127 51.112 179.13l-57.065-38.862c8.25-31.382-3.378-65.89-31.715-85.19-28.34-19.3-64.227-17.152-90.408 2.02l-57.316-39.033c27.96-28.41 65.826-43.448 104.21-43.305zM124.7 199.582l56.89 38.744c-8.423 31.474 2.948 66.307 31.39 85.676 28.44 19.37 65.5 17.52 91.7-1.848l56.625 38.565c-48.347 49.327-126.52 58.51-185.614 18.266C116.6 338.742 96.51 262.64 124.7 199.582zm132.87 14.29c8.663.03 17.408 2.56 25.102 7.798 20.516 13.973 25.83 41.964 11.857 62.48-13.972 20.517-41.967 25.827-62.483 11.856-20.516-13.972-25.827-41.964-11.856-62.48 8.734-12.823 22.942-19.707 37.38-19.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PokerHand;

impl IconShape for PokerHand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M150.156 82.406c-1.843.092-3.663.446-5.344 1.063L41.094 121.53c-4.483 1.645-8.493 5.357-10.5 9.69-2.007 4.33-2.238 9.798-.594 14.28l66.72 181.875c1.643 4.482 5.354 8.524 9.686 10.53 4.332 2.008 9.8 2.24 14.28.595l103.72-38.063c4.483-1.644 8.493-5.355 10.5-9.687l.03-.063c1.982-4.322 2.2-9.757.564-14.218L168.78 94.593c-1.635-4.46-5.318-8.484-9.624-10.5l-.062-.03c-2.166-1.005-4.623-1.556-7.094-1.658-.618-.025-1.23-.03-1.844 0zM189.22 96.03l63.843 174c3.41 9.3 2.975 19.61-1.188 28.595-4.163 8.986-11.734 15.965-21.03 19.375l-27.44 10.063 60 2.78c4.77.223 9.91-1.66 13.44-4.874 3.528-3.217 5.87-8.17 6.092-12.94l9-193.5c.222-4.768-1.628-9.938-4.843-13.468-3.216-3.53-8.168-5.87-12.938-6.093l-84.937-3.94zm121 33.25l-8.626 184.626c-.46 9.893-4.836 19.237-12.156 25.906-7.32 6.67-17.014 10.148-26.907 9.688l-26.06-1.22 69.374 23.095c4.53 1.507 10.012 1.107 14.28-1.03 4.27-2.14 7.838-6.283 9.345-10.814l61.155-183.81c1.507-4.532 1.107-10.013-1.03-14.282-2.14-4.27-6.283-7.87-10.814-9.375l-68.56-22.782zm-205.064 18.345c24.458 24.936 68.02 17.74 80.75 45.53 11.875 25.927-14.51 46.006-37.97 38.407l17 30.782-18.78 6.906-10.937-31.688c-10.39 22.624-43.053 23.746-54.157-.53-13.53-29.577 24.02-54.2 24.093-89.407zm301.438 39.22L347.22 365.437c-3.127 9.397-9.865 17.19-18.72 21.625l-.094.03c-8.834 4.396-19.07 5.116-28.437 2l-20.376-6.78 43.312 37.03c3.63 3.102 8.865 4.78 13.625 4.407 4.76-.374 9.618-2.84 12.72-6.47l125.875-147.31c3.102-3.63 4.78-8.835 4.406-13.595-.372-4.76-2.87-9.648-6.5-12.75l-66.436-56.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PollenDust;

impl IconShape for PollenDust {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.438 18.03c-67.86 1.023-136.07 52.442-99.313 177.25-19.902-13.32-39.808-19.272-58.906-19.56-10.183-.188-20.25 1.35-29.814 4.093v35.625c41.434-13.075 92.35 3.578 129.125 82.843 6.98 21.464 11.43 42.784 12.282 63.783.01.135.023.27.032.406 2.555 41.148-9.763 82.74-37.813 110.905l-.03.03c-5.6 6.838-11.908 13.59-18.938 20.25h88.657c40.943-75.566 10.117-177.693-32.657-256.374C61.293 62.965 216.36 8.983 273.813 78.595c-.73.677-1.412 1.37-2 2.062-3.516 4.14-4.307 7.733-3.532 10.625.776 2.894 3.26 5.58 8.376 7.407 5.115 1.83 12.405 2.254 20 .22 7.595-2.036 13.735-6.048 17.25-10.188 3.516-4.142 4.307-7.734 3.53-10.626-.773-2.892-3.258-5.578-8.373-7.406-1.364-.488-2.897-.856-4.532-1.126-16.407-33.118-58.672-52.17-101.092-51.53zm138.906 57.064c-1.34.004-2.7.03-4.094.062-.752.018-1.54.066-2.313.094 1.464 7.842-.846 15.62-5.187 22.094 11.955 2.052 22.79 7.44 31.78 15.187 15.9 13.704 26.68 34.14 32.533 56.876 5.59 21.722 6.758 45.878 2.5 68.75 17.686 2.86 36.728.448 56-8.875-27.56-41.117-29.818-84.612-40.344-113.218-5.646-15.34-12.687-26.02-26.783-33.03-9.91-4.93-23.99-8-44.093-7.938zm-91.28 23.562c-19.422 10.637-31.17 20.938-37.658 30.72-8.7 13.12-9.438 25.922-6.656 42.03 5.188 30.042 24.974 68.815 21.656 118.22 24.052-1.756 43.48-10.922 58.03-24.75-13.913-16.595-24.252-36.427-30.155-56.47-6.687-22.71-7.837-46.057-1.03-66.187 3.25-9.608 8.51-18.43 15.72-25.72-.21-.07-.418-.144-.626-.22-8.492-3.034-16.005-9.036-19.28-17.624zm70.405 16.28c-.74-.01-1.497.01-2.25.033-4.023.128-8.28.8-12.783 2.03-18.347 5.01-28.343 15.97-33.5 31.22-5.156 15.25-4.57 35.065 1.282 54.936 11.26 38.24 41.692 75.175 79.25 83.47 26.593-26.993 33.356-74.27 23.5-112.563-5.13-19.92-14.62-37.03-26.626-47.375-8.442-7.276-17.797-11.564-28.875-11.75zm89.81 153.72c-7.487-.08-14.92 5.072-14.967 15.656-.085 21.17 31.096 20.53 30.375 0-.36-10.264-7.92-15.576-15.407-15.656zm47.845 37.688c-1.918.045-4.008.583-6.156 1.812-13.75 7.866-1.66 27.832 11.374 19.688 10.997-6.872 5.14-21.742-5.22-21.5zm-79.938 1.78c-3.497.068-7.04 1.88-9.53 6.157-1.274 2.187-1.82 4.313-1.813 6.283-8.494-2.006-18.446 2.92-18.5 15.187-.084 21.17 31.065 20.53 30.344 0-.05-1.444-.247-2.753-.563-4 3.836.202 7.76-1.557 10.188-6.125 4.958-9.33-2.432-17.647-10.125-17.5zM282.938 312c-4.673.09-9.45 2.535-12.78 8.25-10.66 18.29 16.67 33.295 26.312 15.156 6.627-12.47-3.25-23.602-13.533-23.406zm-217.75 18.688c18.723 32.207-17.638 68.048-49.78 57.906v27.375c53.067 20.35 102.378-60.32 49.78-85.283zm384.75 21.562c-1.918.045-3.976.615-6.125 1.844-13.747 7.866-1.69 27.832 11.344 19.687 10.997-6.87 5.14-21.772-5.22-21.53zm-66.78 20.688c-9.66.1-19.234 6.733-18.782 19.625.905 25.782 38.044 26.586 38.156 0 .055-13.294-9.715-19.726-19.374-19.625zm-68.188 12.406c-3.498.067-7.072 1.91-9.564 6.187-7.972 13.685 12.476 24.915 19.688 11.345 4.958-9.33-2.432-17.68-10.125-17.53zm161.75 23.53c-7.692.08-15.3 5.36-14.94 15.626.723 20.53 30.252 21.17 30.345 0 .042-10.584-7.716-15.705-15.406-15.625zm-206.19 11.72c-7.487-.08-14.89 5.072-14.936 15.656-.084 21.17 31.065 20.53 30.344 0-.36-10.265-7.92-15.576-15.407-15.656zm142.5 14.375c-1.917.044-3.975.614-6.124 1.842-13.747 7.867-1.69 27.8 11.344 19.657 10.997-6.873 5.14-21.743-5.22-21.5zm-64.686 25.967c-11.434.42-20.318 15.264-9.813 26.532C352.54 502.49 375.028 480.905 360 466c-3.757-3.727-7.845-5.202-11.656-5.063zm119.812.844c-10.358-.24-16.215 14.63-5.22 21.5 13.035 8.146 25.093-11.79 11.345-19.655-2.147-1.23-4.206-1.8-6.124-1.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Portal;

impl IconShape for Portal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.736 21.016c-99.298 0-195.928 104.647-215.83 233.736-7.074 45.887-3.493 88.68 8.512 124.787-4.082-6.407-7.92-13.09-11.467-20.034-16.516-32.335-24.627-65.378-25-96.272-11.74 36.254-8.083 82.47 14.482 126.643 27.7 54.227 81.563 91.94 139.87 97.502 5.658.725 11.447 1.108 17.364 1.108 99.298 0 195.93-104.647 215.83-233.736 9.28-60.196.23-115.072-22.133-156.506 21.625 21.867 36.56 45.786 44.617 69.496.623-30.408-14.064-65.766-44.21-95.806-33.718-33.598-77.227-50.91-114.995-50.723-2.328-.118-4.67-.197-7.04-.197zm-5.6 36.357c40.223 0 73.65 20.342 95.702 53.533 15.915 42.888 12.51 108.315.98 147.858-16.02 54.944-40.598 96.035-79.77 126.107-41.79 32.084-98.447 24.39-115.874-5.798-1.365-2.363-2.487-4.832-3.38-7.385 11.724 14.06 38.188 14.944 61.817 1.3 25.48-14.71 38.003-40.727 27.968-58.108-10.036-17.384-38.826-19.548-64.307-4.837-9.83 5.676-17.72 13.037-23.14 20.934.507-1.295 1.043-2.59 1.626-3.88-18.687 24.49-24.562 52.126-12.848 72.417 38.702 45.923 98.07 25.503 140.746-6.426 37.95-28.392 72.32-73.55 89.356-131.988 1.265-4.34 2.416-8.677 3.467-13.008-.286 2.218-.59 4.442-.934 6.678-16.807 109.02-98.412 197.396-182.272 197.396-35.644 0-65.954-15.975-87.74-42.71-26.492-48.396-15.988-142.083 4.675-185.15 26.745-55.742 66.133-122.77 134.324-116.804 46.03 4.027 63.098 58.637 39.128 116.22-8.61 20.685-21.192 39.314-36.21 54.313 24.91-16.6 46.72-42.13 59.572-73 23.97-57.583 6.94-113.422-39.13-116.805-85.737-6.296-137.638 58.55-177.542 128.485-9.21 19.9-16.182 40.35-20.977 60.707.494-7.435 1.312-14.99 2.493-22.652C127.67 145.75 209.275 57.373 293.135 57.373z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Portculis;

impl IconShape for Portculis {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M98.156 22.656V438.53H79.72l30.53 58.064 30.53-58.063h-17.218v-63.467H152.5v-36.344h-28.938V269.06H152.5V232.75h-28.938v-69.625H152.5V126.78h-28.938V58.845H152.5V22.656H98.156zm73.03 0V438.53h-15.624l30.532 58.064 30.53-58.063h-17.718v-63.467h26.625v-36.344h-26.624V269.06h26.625V232.75h-26.624v-69.625h26.625V126.78h-26.624V58.845h26.625V22.656h-54.343zm73.033 0V438.53H230l30.53 58.064 30.533-58.063H272.5v-63.467h29.594v-36.344H272.5V269.06h29.594V232.75H272.5v-69.625h29.594V126.78H272.5V58.845h29.594V22.656H244.22zm76.56 0V438.53h-15.56l30.53 58.064 30.563-58.063h-17.907v-63.467h27.25v-36.344h-27.25V269.06h27.25V232.75h-27.25v-69.625h27.25V126.78h-27.25V58.845h27.25V22.656H320.78zm73.564 0V438.53h-14.688l30.563 58.064 30.53-58.063H422V22.657h-27.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PotionBall;

impl IconShape for PotionBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.055 21.9L18.998 96.96l42.727 23.6-26.98 26.952L142.35 212.39c-40.443 70.148-30.72 161.07 29.2 220.958 71.605 71.606 187.737 71.587 259.356 0 71.62-71.587 71.642-187.654.037-259.22-59.915-59.878-150.896-69.57-221.084-29.177L144.95 37.415l-8.44 8.432-18.588 18.57L94.055 21.9zm47.224 45.598l62.337 103.275 8.098-5.248c44.21-28.663 99.014-34.044 147.166-16.078-1.16-.026-2.328-.04-3.503-.04-38.988 0-70.594 14.807-70.594 33.073 0 18.27 31.606 33.075 70.594 33.075 31.53 0 58.225-9.684 67.287-23.05 15.942 17.34 27.492 37.224 34.65 58.253-7.76-3.387-18.28-6.706-30.902-9.563-31.383-7.1-75.547-11.615-124.305-11.615-48.757 0-92.92 4.514-124.304 11.615-13.71 3.102-24.997 6.75-32.893 10.438 4.34-12.997 10.343-25.568 18.018-37.383l5.263-8.104-103.33-62.3 13.894-13.88 46.937 25.923 27.914-27.915-26.18-46.635 13.855-13.842zm-1.087 201.287c.482.28.982.56 1.506.84 7.89 4.22 20.41 8.487 36.103 12.037 31.383 7.1 75.547 11.615 124.304 11.615 48.758 0 92.922-4.514 124.305-11.615 15.687-3.55 28.203-7.813 36.094-12.033 1.236 5.837 2.153 11.727 2.746 17.643-9.432 4.277-21.204 7.893-35.074 11.032-33.205 7.513-78.27 12.037-128.07 12.037-49.802 0-94.866-4.524-128.07-12.037-14.67-3.32-27-7.17-36.69-11.776.625-5.952 1.57-11.876 2.845-17.745z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PouringChalice;

impl IconShape for PouringChalice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.223 21.195c-.69.007-1.367.026-2.036.055-10.698.47-18.53 3.562-24.062 9.094-46.247 46.247-64.492 89.795-64.344 129.062.15 39.268 18.763 75.295 49.845 106.375 30.724 30.723 69.188 47.024 110.063 45.94 31.945-.85 65.598-12.347 98.27-36.824-1.063-1.837-2.15-3.646-3.276-5.394-10.605-16.437-24.044-28.604-36.274-34.766-.003 0-.006-.002-.01-.004-2.334-.888-4.714-1.882-7.134-2.976l-1.344-.445-.47-.414c-22.307-10.453-47.853-29.242-72.52-53.91-23.78-23.78-42.1-48.52-52.774-70.156-5.336-10.82-8.82-20.845-9.84-30.15-1.02-9.306.608-18.744 7.17-25.307 4.922-4.922 11.462-7.07 18.35-7.404 2.296-.113 4.63-.024 6.957.23 9.305 1.022 19.334 4.507 30.152 9.843 21.638 10.673 46.375 28.992 70.155 52.77 20.19 20.192 36.426 41.098 47.408 60.166 10.354 2.306 19.776 6.258 28.254 11.56-11.875-26.925-32.735-57.202-60.7-85.165-31.504-31.503-65.977-54.003-95.25-64.78-13.72-5.054-26.26-7.5-36.59-7.4zm224.78 134.858c-8.156 0-14.767 6.61-14.767 14.765 0 8.156 6.61 14.766 14.766 14.766 8.155 0 14.766-6.61 14.766-14.766 0-8.154-6.61-14.765-14.766-14.765zm-131.15 27.277l35.82 31.658c18.85 6.934 36.815 22.84 50.714 44.38 14.405 22.33 24.3 50.874 24.3 82.232v42.312c-2.678-3.76-7.063-6.223-12.03-6.223-8.156 0-14.766 6.61-14.766 14.765 0 8.156 6.61 14.766 14.766 14.766 4.968 0 9.353-2.46 12.03-6.222v93.088h32.277v-21.158c2.658 1.303 5.637 2.054 8.797 2.054 11.067 0 20.04-8.972 20.04-20.04s-8.973-20.04-20.04-20.04c-3.16 0-6.14.752-8.797 2.055V341.6c0-40.176-6.675-80.88-21.86-110.422-15.184-29.544-37.235-47.848-72.166-47.848h-49.085zm-164.072 77.2l-27.06 12.72.218.22c-3.374 3.36-3.612 5.753-1.563 11.592 2.05 5.84 7.55 13.72 15.22 21.375 7.492 7.483 15.54 12.637 21.686 14.625 6.148 1.99 8.97 1.4 11.376-1l.094.094 12.625-26.875c-5.527-4.4-10.858-9.17-15.97-14.28-5.936-5.937-11.49-12.096-16.624-18.47zm-128 16.376c-4.147.122-6.81 1.282-8.374 2.844-1.952 1.953-3.558 5.7-3.5 12.188.058 6.488 1.904 15.2 5.72 24.968 7.63 19.535 22.975 43.288 44.718 65.03 21.743 21.745 45.758 37.354 65.594 45.252 9.917 3.948 18.778 5.924 25.375 6.062 6.596.138 10.365-1.428 12.25-3.313 2.485-2.485 3.91-7.837 1.718-17.656-1.543-6.92-4.898-15.422-9.81-24.717-10.077 6.655-23.1 6.935-35.064 3.062-14.03-4.542-28.03-14.195-40.906-27.063-12.703-12.694-22.842-26.034-27.72-39.937-4.203-11.987-3.644-25.438 3.72-36.03-9.252-4.857-17.694-8.16-24.563-9.658-3.652-.795-6.667-1.104-9.156-1.03zM109.97 283l-25.564 12-4.625 2.188-.124-.094c-5.077 5.687-5.392 11.384-2.25 20.344 3.352 9.556 11.82 21.42 23.313 32.906 11.318 11.31 23.5 19.284 33.436 22.5 9.1 2.946 15.123 2.408 19.78-1.406l-.155-.25 2.19-4.625 12.25-26.094c-2.612-.273-5.208-.824-7.69-1.626-10.238-3.312-20.103-10.15-29.155-19.188-8.878-8.864-16.05-18.217-19.625-28.406-.925-2.634-1.534-5.42-1.78-8.25zm275.286 27.602c-11.067 0-20.04 8.97-20.04 20.04 0 11.068 8.973 20.04 20.04 20.04 11.067 0 20.04-8.972 20.04-20.04 0-11.07-8.973-20.04-20.04-20.04z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Powder;

impl IconShape for Powder {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.28 71.406c-12.493.18-23.276 7.03-35.31 16.313C160.78 137.22 81.93 205.86 59.874 254c-8.294-11.01-37.188-8.578-37.188 6.656 0 13.07 20.105 16.687 31.594 11.094-.615 4.334-.52 8.38.345 12.125-6.367 1.883-11.28 5.995-11.28 12.28 0 13.762 22.29 17.075 33.343 10.158 5.03 2.766 10.308 5.383 15.812 7.812-.82 1.512-1.25 3.237-1.25 5.156 0 11.616 15.868 15.766 27.47 12.626-.146.71-.22 1.472-.22 2.25 0 18.294 39.406 18.13 39.406 0 0-.147-.026-.293-.03-.437 14.275 2.734 29.115 4.778 44.28 6.155 3.003 14.32 32.657 14.91 38.25 2.063 15.032.29 30.163 0 45.156-.875-.136.693-.25 1.43-.25 2.187 0 14.17 23.653 17.252 34.313 9.5 11.71 17.38 56 14.1 56-9.375 0-2.304-.407-4.408-1.188-6.313 9.565 4.504 22.57 5.225 33.25 2.157 2.438 16.508 39.282 15.748 39.282-1.783 0-9.43-10.643-13.827-20.876-13.406.577-1.795.906-3.732.906-5.81 0-1.85-.26-3.57-.72-5.19 5.083-1.994 9.978-4.1 14.658-6.28 12.24-5.705 17.59-14.928 17.687-26.563 11.533 5.37 31.313 1.566 31.313-11.28 0-14.457-25.064-17.168-35.22-8.657-18.55-51.64-99.242-128.954-160.78-175.188-13.177-9.9-23.94-13.796-33.657-13.656zM479.314 302.5c-9.854.043-19.72 4.577-19.72 13.47 0 18.293 39.407 18.13 39.407 0 0-9.066-9.834-13.513-19.688-13.47zM34.97 314.063c-9.854.043-19.72 4.576-19.72 13.468 0 18.296 39.406 18.13 39.406 0 0-9.064-9.834-13.51-19.687-13.467zM80.374 342.5c-10.71.047-21.43 4.817-22.156 14.156-10.41-.53-21.5 3.978-21.5 13.406 0 17.342 35.404 18.098 39.093 2.688 12.385 1.59 26.75-3.445 26.75-15.063 0-10.204-11.096-15.236-22.188-15.187zm89.22 10.406c-6.657.03-13.32 2.1-16.94 6.188-13.492-2.84-30.874 2.275-30.874 15.094 0 19.417 37.687 21.175 45.157 5.718 10.654.872 22.344-3.65 22.344-13.53 0-9.066-9.833-13.513-19.686-13.47zm89.186 1.625c-9.852.044-19.717 4.578-19.717 13.47 0 18.294 39.437 18.13 39.437 0 0-9.065-9.866-13.512-19.72-13.47zm210.626 6.064c-12.95.056-25.906 6.03-25.906 17.72 0 24.043 51.78 23.826 51.78-.002 0-11.913-12.923-17.775-25.874-17.718zm-75.187 7.125c-9.854.042-19.72 4.575-19.72 13.467 0 18.295 39.438 18.13 39.438 0 0-9.064-9.866-13.51-19.72-13.468zm-181.283 13.75c-11.298.048-22.593 5.24-22.593 15.436 0 12.487 16.006 17.455 28.97 15.063 6.844 18.704 50.905 16.82 50.905-5.158 0-15.218-21.107-20.517-36.376-16.28-3.558-6.105-12.228-9.1-20.906-9.063zm121.844 6.936c-6.21.027-12.443 1.842-16.186 5.406-11.597-4.94-30.78-1.042-30.78 11.375-.002 14.898 26.137 17.537 35.842 8.22 11.597 5.024 30.813 1.126 30.813-11.532 0-9.065-9.836-13.512-19.69-13.47zM94.44 390.97c-11.3.048-22.626 5.24-22.626 15.436 0 20.978 45.22 20.79 45.22 0 0-10.394-11.296-15.487-22.594-15.437zM429.5 404.81c-11.092.05-22.188 5.146-22.188 15.157 0 20.594 44.375 20.41 44.375 0 0-10.206-11.095-15.206-22.187-15.158zm-270.656 1.844c-11.3.05-22.594 5.24-22.594 15.438 0 20.978 45.188 20.79 45.188 0 0-10.395-11.296-15.487-22.594-15.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PowerLightning;

impl IconShape for PowerLightning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M29.805 29.777L242.14 209.55H118.712l112.54 86.784H95.995l225.656 174.012-81.537-116.05 66.487.143 179.185 138.175-171.96-244.746h84.568L248.082 29.776H29.805z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Prayer;

impl IconShape for Prayer {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.78 18.063c-52.004 0-94.686 45.7-94.686 103.156 0 57.455 42.682 103.155 94.687 103.155 52.007 0 94.72-45.7 94.72-103.156 0-57.457-42.713-103.157-94.72-103.157zM203 159.655c13.276 3.67 26.394 6.046 39.375 7.22v18.75c-14.674-1.21-29.464-3.85-44.375-7.97l5-18zm117.375 0l4.906 18.03c-14.452 3.938-29.08 6.583-43.874 7.845v-18.718c13.085-1.223 26.055-3.638 38.97-7.156zM160.22 175.344c-75.308 50.797-110.604 125.208-116.282 220h.218c-.367 1.705-.562 3.466-.562 5.28 0 13.808 11.19 25 25 25 .22 0 .436-.025.656-.03v.22l179.438-.002V302.406c-25.58 4.82-45.22 28.49-45.22 62.594v9.344H103.096v-18.688h12.718c3.664-35.178 26.522-77.998 45.343-101.344l14.53 11.72c-15.618 19.373-36.603 61.664-40.905 89.624h50.47c4.04-42.08 35.168-72.875 73.22-72.875 34.98 0 68.653 28.958 73.905 72.876h55.75c-5.412-28.305-26.53-70.32-42.094-89.625l14.564-11.717c18.885 23.424 41.643 66.485 46.562 101.343h10.563v18.688H314.593l-.25-9.094c-1.02-35.656-23.57-58.234-46.97-62.875v123.438h180.657v-.22c.22.006.436.032.658.032 13.81 0 25-11.193 25-25 0-2.092-.266-4.12-.75-6.063-5.566-92.605-39.022-165.662-111.032-216.218-19.026 38.355-56.592 64.72-100.125 64.72-44.662 0-83.047-27.74-101.56-67.72zM140.374 444.5l9.188 47.5h220.562l8.47-47.5h-238.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PrettyFangs;

impl IconShape for PrettyFangs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M166.594 96.28c-41.99 38.54-97.77 74.975-147.47 86 40.138 14.206 107.59 18.608 153.282 9.532l1.22-.406v.188c.206-.043.418-.082.624-.125 53.26 31.326 94.218 32.182 151 0 .256.086.524.163.78.25l-.03-.314 7.594 2.625c.105.03.207.066.312.095 44.21 12.288 102.904 9.115 154.28-11.97-59.524-9.648-124.87-51.613-155.092-85.874-55.502 39.623-111 32.147-166.5 0zM28.72 206.688c11.626 22.318 32.612 57.64 64.905 94.813-1.55-18.164-2.515-35.945-3.03-52.625-22.18-11.265-42.998-25.28-61.876-42.188zm447.155 7.532c-20.55 14.733-43.1 27.315-66.938 37.624-.607 17.746-1.732 36.683-3.5 55.937 33.976-34.915 56.833-69.604 70.438-93.56zm-322.313 3.186c-15.034 3.72-30.014 4.855-44.562 4.156-.116 39.457 2.945 90.054 10.22 137.282 5.254 34.12 12.997 66.188 22.374 90.187l11.97-231.624zm192.5 0l11.97 231.625c9.376-23.998 17.12-56.066 22.374-90.186 7.274-47.228 10.335-97.825 10.22-137.28-14.554.697-29.524-.435-44.563-4.158zM330.406 276.5c-53.08 10.905-108.715 11.398-161.156.03l-4.438 86.033c49.643 23.158 118.42 22.46 170-.5l-4.406-85.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Processor;

impl IconShape for Processor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.844 32.22v114.218h17.687V32.218h-17.686zm-108.25.624c-15.507 0-28.094 12.586-28.094 28.093C92.5 76.444 105.087 89 120.594 89c12.655 0 23.34-8.372 26.844-19.875h44.937v77.313h17.688v-95H147.03c-3.888-10.837-14.262-18.593-26.436-18.593zm193.25 0c-15.507 0-28.063 12.586-28.063 28.093 0 12.124 7.677 22.45 18.44 26.376v59.124h17.655V87.844c11.596-3.452 20.063-14.193 20.063-26.906 0-15.508-12.587-28.094-28.094-28.094zM266.124 92.5v53.938h17.657V92.5h-17.655zm188.532 4.03c-15.507 0-28.094 12.588-28.094 28.095 0 13.083 8.948 24.074 21.063 27.188v27.468h-92.938v17.657h110.624v-46.342c10.223-4.192 17.407-14.233 17.407-25.97 0-15.507-12.557-28.094-28.064-28.094zM30.187 123.657v17.688H96.75v55.594h62.814V179.28h-45.126v-55.624h-84.25zm147.032 40.47v159.718h159.81v-159.72H177.22zm17.56 15.655h17.657v78.595l32.407 32.406h75.28v17.658H237.5l-2.594-2.594-10.75-10.75c-1.033 7.385-7.36 13.062-15.03 13.062-8.392 0-15.19-6.796-15.19-15.187 0-7.682 5.696-13.98 13.095-15l-9.655-9.658-2.594-2.593V179.78zm54.94.157h17.686v55.313h52.53l.002 17.688H249.72v-73zM53.124 217.375V307.344c-11.49 3.512-19.844 14.198-19.844 26.844 0 15.505 12.557 28.093 28.064 28.093s28.093-12.587 28.093-28.092c0-12.195-7.79-22.564-18.656-26.438v-72.72h88.782v-17.655H53.124zm301.563 0v17.656h53.968v-17.655h-53.97zm99.968 21.97c-10.898 0-20.342 6.21-25 15.28h-74.97l.002 17.688H427c2.325 13.168 13.824 23.187 27.656 23.187 15.507 0 28.063-12.588 28.063-28.094 0-15.507-12.557-28.062-28.064-28.062zm-349.062 15.28v17.688h53.97v-17.688h-53.97zm17.156 36.47v84.217c-11.498 3.513-19.875 14.2-19.875 26.844 0 15.506 12.587 28.094 28.094 28.094 15.506 0 28.06-12.588 28.06-28.094 0-12.194-7.766-22.564-18.624-26.437v-66.94h19.156v-17.686H122.75zm231.938 0v17.686h45.156v95.283c-11.323 3.624-19.53 14.26-19.53 26.78-.002 15.506 12.585 28.063 28.092 28.063 15.507 0 28.063-12.557 28.063-28.062 0-12.32-7.935-22.778-18.97-26.563V291.095h-62.814zM192.375 341.53v54.033h17.688V341.53h-17.688zm36.47 0v86.564c-11.013 3.794-18.94 14.233-18.94 26.53 0 15.506 12.588 28.095 28.095 28.095s28.063-12.59 28.063-28.095c0-12.53-8.203-23.14-19.532-26.75V341.53h-17.686zm37.28 0v54.033h17.688l-.032-54.032h-17.655zm38.094 0v140.064h17.655V341.53H304.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Profit;

impl IconShape for Profit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.78 19.5v79.656c44.684 5.582 81.517 24.966 116.657 47.156l-24.75 20.063L212.47 218.28 184.53 106.5l-25.905 21c-20.225-40.01-42.778-77.73-72.75-108H18.78zm277.376 0c-15.624 28.765-29.207 58.126-41.78 88.156l-30.19-6.406 25.94 112.25 67.06-92.5-29.592-6.28c33.29-34.747 67.597-67.793 108.062-95.22h-99.5zm197.5 93.844c-37.988 2.482-72.04 19.677-105.03 40.906l-12.47-32.53-80.062 82.843 114.094 5.937-13.25-34.563c32.24-.934 64.478 1.827 96.718 21.375v-83.968zm-194.03 128.03c-5.28.12-10.21 2.416-16.938 9.595l-6.563 6.968-6.813-6.72c-7.387-7.28-13.216-9.29-19.125-9.03-5.908.26-12.855 3.367-20.625 9.656l-6.218 5.03-5.906-5.374c-8.9-8.052-16.485-10.438-23.75-10.063-5.288.274-10.775 2.266-16.25 5.75l40.968 73.688c15.454 9.452 47.033 13.007 68.75 2.063l39.594-73.344c-7.51-3.062-14.26-6.202-20.094-7.406-2.112-.437-4.072-.756-5.97-.813-.354-.01-.71-.008-1.06 0zm-89.97 96.19c-18.035 12.742-32.516 34.718-38.125 66.905-5.435 31.196 3.128 52.265 18.282 66.624 15.155 14.36 37.902 21.737 61 21.437 23.1-.3 46.136-8.31 61.625-22.936 15.49-14.627 24.25-35.426 19.282-65.188-5.137-30.757-18.4-52.148-35.19-65.094-28.482 15.056-64.094 11.856-86.874-1.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PsychicWaves;

impl IconShape for PsychicWaves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M65.125 18.344C47.11 49.844 36.72 86.262 36.72 125.124c0 80.293 43.973 150.497 109.124 187.75.403-6.904.92-13.833 1.625-20.75-55.33-34.965-92.064-96.676-92.064-167 0-39.426 11.63-75.964 31.563-106.78H65.124zm69.03 0c-25.61 28.273-41.374 65.635-41.374 106.78 0 51.08 24.052 96.656 61.44 125.97l.06-.25c1.612-6.61 3.473-13.008 5.69-19.125-29.73-25.896-48.5-64.026-48.5-106.595 0-42.848 19.254-80.837 49.436-106.78h-26.75zm210.532 0c30.125 25.95 49.438 64.003 49.438 106.78 0 41.152-17.546 78.157-45.563 103.97 2.26 6.282 4.116 12.876 5.657 19.687 35.748-29.366 58.592-73.883 58.592-123.655 0-41.123-15.81-78.5-41.406-106.78h-26.72zm73.407 0c20.06 30.867 32.094 67.387 32.094 106.78 0 69.457-35.82 130.505-90 165.69.545 7.037.933 14.107 1.187 21.123 64.267-37.483 107.53-107.18 107.53-186.812 0-38.925-10.745-75.328-28.874-106.78h-21.936zm-165.313 2.28c-57.625 0-104.53 46.906-104.53 104.532 0 28.606 11.56 54.573 30.25 73.47 4.13-4.712 8.84-8.817 14.094-12.19-15.844-15.56-25.656-37.237-25.656-61.28 0-47.527 38.316-85.844 85.843-85.844 47.528 0 85.845 38.317 85.845 85.844 0 23.16-9.108 44.114-23.938 59.53 5.488 3.14 10.394 7.033 14.688 11.533 17.327-18.666 27.938-43.657 27.938-71.064 0-57.626-46.905-104.53-104.532-104.53zm-4.186 55.564c-21.622 2.8-40.97 27.91-40.97 60.28 0 17.846 6.173 33.653 15.282 44.595l10.188 12.218-15.656 2.94c-11.884 2.226-20.62 8.512-28.032 18.655-7.41 10.143-13.023 24.216-16.97 40.406-7.188 29.5-8.736 65.498-8.967 97.126h38.999l.655 8.656 9.906 132.5h83.69l8.75-132.437.592-8.72h37.125c-.02-32-.39-68.49-6.906-98.217-3.57-16.297-8.992-30.34-16.5-40.375-7.505-10.035-16.654-16.288-29.967-18.344L273.875 193l10.094-12.625c8.713-10.89 14.592-26.495 14.592-43.906 0-34.515-21.658-60.22-45.468-60.22-2.672 0-4.275-.092-4.5-.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pummeled;

impl IconShape for Pummeled {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.438 19.406c-44.538 0-85.325 25.498-115.563 68.313-30.238 42.814-49.344 102.72-49.344 169.06 0 66.342 19.107 126.218 49.345 169.033 30.238 42.814 71.025 68.312 115.563 68.312 5.567 0 11.063-.407 16.5-1.188h-5.22v-101.03c-3.053-.113-6.146-.188-9.28-.188-42.64 0-77.884 10.712-89.594 25.06-12.247-31.8 31.85-44.782 79.937-45.28 3.207-.033 6.432-.013 9.658.063 13.398.317 29.624 1.364 44.812 3.812v-96.5c-7.803-4.306-13.24-10.104-14.5-17.156 34.81 11.84 95.232 3.377 105.28-3.533-6.275 26.1-43.588 33.29-72.092 27.313v93.875c15.12 4.21 26.88 10.5 29.937 19.844H360v.374c.856 2.857.906 5.995 0 9.437V450c7.074-7.285 13.763-15.357 20-24.188 30.238-42.814 49.313-102.69 49.313-169.03 0-66.342-19.075-126.248-49.313-169.063-30.238-42.816-71.025-68.314-115.563-68.314zM180.03 196.094c31.532 0 57.757 21.39 63.345 49.656-12.986-12.15-36.66-22.038-63.72-25.188-21.95-2.554-41.682-.146-55.28 5.72 11.178-18.06 31.913-30.188 55.656-30.188zm-63.093 73.312c13.18 11.733 36.34 21.21 62.72 24.28 22.427 2.612 42.504.024 56.124-6.123-11.164 18.15-31.94 30.375-55.75 30.375-31.1 0-57.034-20.832-63.093-48.532zm177.47 123.906v96.875c16.583-4.4 32.347-12.38 46.906-23.5v-61.093c-11.7-5.73-28.008-10.08-46.907-12.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PumpkinLantern;

impl IconShape for PumpkinLantern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.5 21.156c-16.98.22-33.708 4.552-49.72 13.313l-4.593 2.5-.25 5.218c-.71 14.473-.49 33.985 3.063 52.968-45.775 2.55-84.144 20.94-113.094 48.625C48.312 181.647 25.87 236.18 22.47 291c-3.402 54.82 12.32 110.396 50.5 149.563 38.01 38.994 98.086 60.67 179.843 49.437 91.743 8.826 154.664-13.978 192-53.906 37.494-40.1 48.374-96.148 39.968-150.563-8.404-54.413-35.9-107.795-76.905-144.53-30.753-27.55-69.526-45.58-112.813-46.688-6.366-.163-12.823.077-19.375.688 1.99-18.702 8.107-36.836 18.282-54.75l5.717-10.03-11-3.5c-10.928-3.484-21.894-5.354-32.78-5.564-1.135-.022-2.275-.014-3.407 0zm.594 18.5c.826-.005 1.64.012 2.47.032 5.472.13 11.025.846 16.655 2.03-14.398 29.89-19.03 61.625-13.314 94.282-8.162 1.28-13.987-.206-18.844-3.25-6.315-3.958-11.562-11.503-15.406-21.594-7.026-18.446-8.592-43.953-8.125-62.625 12.073-5.82 24.17-8.79 36.564-8.874zm36.812 73.22c1.623-.017 3.238-.007 4.844.03 26.418.605 50.73 8.318 72.438 21.188-6.758 10.28-19.022 19.106-35.563 25.78-21.344 8.614-49.05 13.303-77.063 13.5-28.012.2-56.365-4.08-79.093-12.5-18.705-6.928-33.23-16.595-41.532-28.093 20.665-11.46 44.554-18.416 71.687-19.28.486 1.454 1.022 2.892 1.563 4.313 4.727 12.41 11.81 23.756 22.968 30.75 11.158 6.993 25.952 8.577 42.406 3.343l8.22-2.625-1.97-8.405c-2.15-9.21-3.372-18.236-3.718-27.125 5.003-.54 9.945-.827 14.812-.875zm-171.78 29.968c11.135 16.145 29.513 27.66 50.843 35.562 25.507 9.45 55.785 13.868 85.75 13.656 29.962-.21 59.59-5.03 83.905-14.843 18.664-7.533 34.624-18.224 44.125-32.69 4.345 3.26 8.565 6.71 12.656 10.376 37.356 33.467 63.165 83.352 70.906 133.47 7.742 50.116-2.365 99.87-35.156 134.937-32.79 35.067-89.1 56.757-177.656 48l-1.125-.094-1.094.155c-77.94 10.96-131.157-9.192-164.936-43.844-33.78-34.65-48.35-84.885-45.22-135.374 3.133-50.488 24.058-100.77 59.688-134.844 5.438-5.2 11.21-10.05 17.313-14.468zm55.06 59.28c-17.525 19.402-30.988 41.834-41.03 66.845l78.563 2.936c-9.76-26.926-22.16-50.34-37.532-69.78zm168.033 1.407c-19.43 0-35.19 15.756-35.19 35.19 0 19.43 15.76 35.186 35.19 35.186s35.155-15.755 35.155-35.187c0-19.436-15.726-35.19-35.156-35.19zM62.31 321.876c10.71 51.276 48.785 85.54 97.157 103.875L164.5 400l40 7.688-5.656 29.125c20.105 3.882 41.064 5.448 61.937 4.812l-3.25-29.22 47.283-5.25 3.25 29.158c24.27-4.824 47.335-12.838 67.562-23.875l-11.094-29.375 38.876-17.625 8.03 21.25c18.428-17.576 31.46-39.23 36.408-64.813-31.205 9.386-64.876 16.156-99.656 20.375l3.656 26.844L303.97 377l-4.19-30.563c-14.542.79-29.185 1.157-43.81 1.125l-1.814 33.813-48.312-3.47 1.72-31.936c-14.844-.943-29.6-2.267-44.126-4.033l-8.844 35.25-40.563-6.78 8.657-34.626c-20.89-3.765-41.127-8.4-60.374-13.905z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PumpkinMask;

impl IconShape for PumpkinMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.156 16.875c-48.954 107.457-128.398 80.9-139.312 36.97-57.82 42.426-95.53 110.673-95.53 187.56-.002 128.577 104.928 232.94 234.217 232.94 129.29 0 234.22-104.363 234.22-232.94 0-76.278-37.273-143.847-94.313-186.343-11.27 42.068-78.266 67.493-139.28-38.187zM134.686 134.53c9.528-.102 20.15 2.023 30.5 6.5 25.48 11.024 39.598 32.274 31.5 47.47-8.095 15.196-35.33 18.585-60.81 7.563-25.48-11.023-39.567-32.304-31.47-47.5 4.808-9.023 16.358-13.88 30.28-14.032zm248.97 1.19c14.907-.366 27.44 4.532 32.5 14.03 8.097 15.196-6.02 36.446-31.5 47.47-25.48 11.02-52.684 7.632-60.78-7.564-8.098-15.196 5.988-36.446 31.468-47.47 9.555-4.132 19.368-6.25 28.312-6.467zM151.75 228.562L205 316.719l54.5-77.5 40.438 80.56 65.406-89.936 34.812 69.25 73.375-62.844c-1.208 56.223-38.25 133.637-83.78 165.344l-23.344-68.03-56.125 93.186-56.467-89.656-70.094 83.594-53.25-91.72-17.407 64.344c-46.367-40.18-69.01-99.95-66.907-158.593l54.157 68.186 51.437-74.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Punch;

impl IconShape for Punch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M198.844 64.75c-.985 0-1.974.03-2.97.094-15.915 1.015-32.046 11.534-37.78 26.937-34.072 91.532-51.085 128.865-61.5 222.876 14.633 13.49 31.63 26.45 50.25 38.125l66.406-196.467 17.688 5.968L163.28 362.5c19.51 10.877 40.43 20.234 62 27.28l75.407-201.53 17.5 6.53-74.937 200.282c19.454 5.096 39.205 8.2 58.78 8.875L381.345 225.5l17.094 7.594-75.875 170.656c21.82-1.237 43.205-5.768 63.437-14.28 43.317-53.844 72.633-109.784 84.5-172.69 5.092-26.992-14.762-53.124-54.22-54.81l-6.155-.282-2.188-5.75c-8.45-22.388-19.75-30.093-31.5-32.47-11.75-2.376-25.267 1.535-35.468 7.376l-13.064 7.47-.906-15c-.99-16.396-10.343-29.597-24.313-35.626-13.97-6.03-33.064-5.232-54.812 9.906l-10.438 7.25-3.812-12.125c-6.517-20.766-20.007-27.985-34.78-27.97zM103.28 188.344C71.143 233.448 47.728 299.56 51.407 359.656c27.54 21.84 54.61 33.693 80.063 35.438 14.155.97 27.94-1.085 41.405-6.438-35.445-17.235-67.36-39.533-92.594-63.53l-3.343-3.157.5-4.595c5.794-54.638 13.946-91.5 25.844-129.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct PunchBlast;

impl IconShape for PunchBlast {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M91.773 25.994C189.313 167.854 104.52 157.17 65.64 169.2c38.8 52.918 16.554 102.644-44.503 133.788 52.5 21.085 122.25 30.452 42.027 141.707 79.578-45.024 134.707-48.82 127.13 53.15 57.795-58.495 133.043-87.973 208.054-38.53-8.558-73.916 12.66-106.284 86.88-74.4-79.58-73.01-46.696-116.363.458-158.83-81.492-3.232-92.92-65.497-89.922-139.92-49.183 53.518-86.497 47.756-104.002-56.962-33.806 76.857-79.335 125.91-199.99-3.21zM202.15 135.336c16.1.356 25.565 12.198 34.666 24.678L177.312 263.08c-20.422 1.985-35.31-4.577-41.787-24.123l59.51-103.074c1.93-.326 3.772-.503 5.537-.545.534-.013 1.06-.014 1.578-.002zm69.037 11.197c16.1.352 25.567 12.2 34.668 24.676L238.947 290.24c-20.423 1.985-35.31-4.586-41.785-24.127l66.91-119.03c1.93-.327 3.772-.507 5.537-.55.533-.013 1.058-.013 1.577-.002zm58.704 32.05c16.102.357 25.567 12.198 34.67 24.673l-65.945 117.547c-20.423 1.98-35.31-4.58-41.783-24.123l65.94-117.55c1.93-.325 3.773-.502 5.54-.544.532-.013 1.06-.013 1.58-.002zm46.342 55.233c16.773.098 26.746 11.977 36.354 24.485l-55.557 96.227c-20.026 1.297-34.856-5.367-41.786-24.125l55.56-96.224c1.887-.255 3.693-.372 5.428-.362zM127.55 271.713l105.83 47.52c3.015 21.69-2.782 38.788-21.958 48.91L105.588 320.62c-4.508-21.618 8.273-35.485 21.96-48.907z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Puppet;

impl IconShape for Puppet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.406 17.188c-25.61 0-46.22 20.72-46.22 46.593 0 25.875 20.61 46.595 46.22 46.595s46.25-20.72 46.25-46.594c0-25.872-20.64-46.593-46.25-46.593zm122.78 37.937l-78.31 58.625c2.665 5.776 4.776 12.026 6.25 18.656l69-51.656 3.062-25.625zm-255.342 1.28l8.875 27.407 64.186 39.376c2.513-5.943 5.514-11.462 8.938-16.47l-82-50.312zM398.47 59.47l-3.095 26.28 41.438 52.625c4.674-4.206 10.216-7.468 16.312-9.47L398.47 59.47zm-291.94 1l-51.718 80c6.345 1.322 12.192 3.976 17.282 7.655l41.844-64.72-7.407-22.936zm111.94 55.5c-7.12 10.803-12.285 24.91-13.907 40.686-2 19.438 1.785 37.464 9.062 50.563 7.277 13.098 17.574 20.998 29.28 22.218 11.708 1.22 23.405-4.372 33.19-15.688 9.783-11.316 17.156-28.218 19.155-47.656 1.74-16.923-.89-32.787-6.406-45.25-9.327 5.225-20.04 8.22-31.438 8.22-14.59 0-28.083-4.874-38.937-13.095zm248.75 29.374c-14.947 0-26.876 11.93-26.876 26.875s11.93 26.874 26.875 26.874 26.842-11.93 26.842-26.875c0-14.947-11.897-26.876-26.843-26.876zM45.56 158.22c-14.946 0-26.874 11.896-26.874 26.843 0 14.946 11.928 26.875 26.875 26.875 14.946 0 26.843-11.93 26.843-26.875 0-14.947-11.897-26.844-26.844-26.844zM212.5 230.03c-10.02 7.32-16.327 17.48-16.53 27.532-.185 9.06 3.95 16.745 11.655 22.625 7.705 5.88 19.014 9.51 32.03 8.75 26.036-1.52 46.228-20.007 46.595-38.125.148-7.302-2.523-13.71-7.594-19-10.786 8.85-23.713 13.758-37.28 12.344-11.08-1.154-20.883-6.343-28.876-14.125zm69.906 62.5c-9.156 6.97-20.466 11.91-32.72 14.033l47.783 81.125 15.874-13.625-30.938-81.532zm-81.687 5.564l-9.595 91.78 18.53 13.345 24.532-95.5c-12.492-.33-24.01-3.736-33.468-9.626zm125.124 89.844l-15.72 13.5 65.22 51.03c2.495-9.733 8.156-18.518 16.156-24.78l-65.656-39.75zm-142.47 19.375l-55.905 29.75c4.933 6.162 8.355 13.66 9.53 22 .09.648.156 1.29.22 1.937l64.56-40.406-18.405-13.28zm235.907 29.437c-.773.01-1.562.048-2.342.125-1.784.176-3.558.514-5.344 1.063-14.29 4.384-22.197 19.273-17.813 33.562 4.385 14.29 19.275 22.197 33.564 17.813 14.29-4.385 22.196-19.274 17.812-33.563-3.596-11.72-14.268-19.132-25.875-19zm-327 1.78c-1.355-.013-2.736.087-4.124.283-14.8 2.084-24.928 15.543-22.844 30.343 2.085 14.8 15.544 24.928 30.344 22.844 14.8-2.084 24.928-15.544 22.844-30.344-1.824-12.95-12.355-22.316-24.875-23.062-.447-.027-.892-.058-1.344-.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Pyromaniac;

impl IconShape for Pyromaniac {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M85.875 20.97c-2.23 31.596-95.21 45.233-4.813 99.03-23.242-46.488 64.566-57.552 4.813-99.03zM278.53 23c-32.003 14.21-22.885 55.257-8.186 73 28 33.796-31.348 52.158-49.063-5.25-5.377 17.623-24.532 21.47-35.624 7.563-7.015-8.797-19.48-31.605-12.25-53.72-20.884 14.735-31.686 45.047-19.28 63.063 29.282 42.526-11.72 75.307-58.97 40.906 36.456 47.748 21.176 119.87-16.344 144.25 14.684-32.04 8.24-88.19-22.218-99.28 14.39 42.618-16.59 75.378-36.75 66.155V494.72h52.562c6.15-23.78 16.033-46.735 30.5-61.44 16.928-17.203 41.296-29.383 77.78-36.25l15.595-2.936-10.124-12.22c-20.233-24.38-33.406-59.518-33.406-98.655 0-37.723 12-71.733 30.906-95.94 18.906-24.205 44.29-38.53 72.125-38.53 27.837 0 53.19 14.325 72.095 38.53 18.905 24.208 30.906 58.218 30.906 95.94 0 38.246-12.073 73.187-31.374 97.374l-10.03 12.562 15.874 2.5c39.988 6.292 65.567 18.497 82.5 35.844 14.297 14.647 23.413 38.986 28.625 63.22h50.75V238.78c-7.012-23.793-17.18-46.354-32.625-51.093 19.492 39.968 1.278 129.343-61.906 141.313 26.715-22.383 45.213-78.483 35.03-101.594-34.788 47.587-79.102 2.555-34.437-43.22 29.676-30.412 39.924-68.813 10.5-110.967 9.104 40.185-37.766 84.93-69.875 56.655-21.68-19.09-10.235-60.918 23.75-71.844-26.954-9.334-47.72 2.8-52.562 21.595C295.337 62.535 272.155 51.37 278.53 23zm-74.155 242.844c-9.215-.212-19.062 3.635-29.063 13.28 14.593 29.555 39.886 25.69 67.938 13.188-9.878-14.53-23.517-26.116-38.875-26.468zm99.094 0c-15.36.352-28.998 11.938-38.876 26.47 28.05 12.5 53.345 16.365 67.937-13.19-10-9.645-19.846-13.492-29.06-13.28zM197.03 350.75c19.292 61.366 100.937 60.7 121.69 0-42.215 8.574-80.72 9.61-121.69 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct QuakeStomp;

impl IconShape for QuakeStomp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.22 21.375c-6.35.01-13.082.44-20.032 1.313C164.588 27.034 124.046 42.044 91.78 70l33.47 190.188.344 10.125c42.26 15.784 100.82 24.543 152.875 24.25 27.19-.154 52.642-2.743 72.967-7.782 20.326-5.037 35.2-12.822 41.813-20.936l.438.344c-1.718-5.855-3.9-11.58-6.532-17.063h.188c-1.448-2.95-3.08-5.834-4.844-8.656-.09-.143-.16-.297-.25-.44-.098-.16-.214-.307-.313-.468-21.457-34.887-63.5-55.868-124.28-29.375-.052.024-.106.04-.157.063-11.305 5.31-22.73 12.103-33.97 20.188h-.81c11.02-15.716 23.253-28.115 35.905-37.282L259.75 182c-14.68-3.952-38.083-4.062-53.53-.094l-4.657-18.125c9.297-2.387 19.807-3.715 30.343-3.843 1.505-.018 2.997 0 4.5.032 8.725.176 17.365 1.19 25.25 3.124l3.188-31.97c-21.057-8.076-42.116-6.604-64.563-1.593l-4.06-18.25c11.504-2.567 23.323-4.35 35.31-4.468 1.714-.016 3.44.01 5.157.063 9.96.31 19.998 1.845 30.063 5.125l3.156-31.47c-25.6-7.69-51.03-8.103-76.906-2.78l-3.78-18.28c10.89-2.242 21.858-3.577 32.843-3.876 1.144-.03 2.292-.054 3.437-.063 15.41-.118 30.858 1.823 46.28 6.095l.47-4.594c5.03-23.315-18.752-35.712-53.03-35.655zM18.905 230.438v18.687h86.375c-.822-6.312-2.368-12.526-4.436-18.688H18.906zm379.406 0c3.685 5.885 6.88 12.107 9.438 18.687h86.438v-18.688h-95.875zm-.5 56.656c-10.843 8.13-25.265 13.695-41.875 17.812-22.374 5.547-49.072 8.185-77.375 8.344-21.226.12-43.326-1.144-65.093-3.75l12.436 22.125c80.16 9.44 141.506-1.19 172.03-21.78.72-7.443.683-15.1-.123-22.75zm-271.562 3.312l1 30.47 58.594 8.437L195.438 307c-24.547-3.824-48.213-9.368-69.188-16.594zm-33.094 21.53c-10.31 3.076-18.64 6.463-24.625 10.064-.068.042-.15.083-.218.125l-30.187 14.72-19.22-12.25v22.155l13.595 8.688 4.406 2.812 4.72-2.313 21.968-10.718c11.71 9.805 40.46 18.23 79.406 23.874l-59.97 28.25 26.626 21-90.75 38.53v39.032h126.78l43.72-46.28 51.03 46.28h27.845l-108.624-98.47 35.063-22.967c19.978 1.373 41.336 2.155 63.56 2.155 20.695 0 40.658-.677 59.44-1.875l39.06 24.688-66.905 35.718 62.28 60.75h123.908L385.53 443.28l51.314-39.78-71.5-33.28c45.88-5.98 79.186-15.668 89.812-27.033l17.97 6.438 21.062 22.563v-27.375l-8.938-9.563-1.53-1.656-2.158-.78-41.218-14.752c-4.738-2.108-10.33-4.1-16.656-6 5.364 3.243 8.28 6.694 8.28 10.282 0 18.586-77.734 33.656-173.624 33.656S84.688 340.93 84.688 322.344c0-3.63 2.98-7.13 8.468-10.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct QueenCrown;

impl IconShape for QueenCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M188.28 59.47c-19.086 0-34.56 15.468-34.56 34.56 0 16.077 10.983 29.57 25.843 33.44l-35.344 81.936c15.877 2.885 27.905 16.784 27.905 33.5 0 18.806-15.23 34.063-34.03 34.063-18.802 0-34.032-15.258-34.032-34.064 0-13.37 7.703-24.924 18.906-30.5l-50.814-79.22c8.007-5.82 13.22-15.24 13.22-25.905 0-17.693-14.314-32.06-32-32.06-17.688 0-32.032 14.37-32.032 32.06 0 17.693 14.344 32.032 32.03 32.032.734 0 1.468-.014 2.188-.062l41.907 227h316l41.936-227c.72.048 1.455.063 2.188.063 17.686 0 32.03-14.34 32.03-32.032 0-17.693-14.344-32.06-32.03-32.06-17.687 0-32.03 14.37-32.03 32.06-.002 10.723 5.286 20.187 13.373 26l-50.656 79.532c10.778 5.72 18.126 17.04 18.126 30.094 0 18.806-15.23 34.063-34.03 34.063s-34.032-15.258-34.032-34.064c0-17.11 12.602-31.267 29.03-33.687l-34.75-81.532c15.275-3.577 26.657-17.287 26.657-33.657 0-19.094-15.474-34.56-34.56-34.56-19.09 0-34.564 15.468-34.564 34.56 0 14.798 9.308 27.415 22.375 32.345L268 202.345c14.62 4.52 25.25 18.112 25.25 34.218 0 19.796-16.053 35.843-35.844 35.843-19.79 0-35.812-16.047-35.812-35.844 0-15.158 9.403-28.102 22.687-33.343l-44.124-76.72c13.234-4.845 22.688-17.552 22.688-32.47 0-19.094-15.475-34.56-34.563-34.56zM97.438 384.936c-23.978 3.763-22.86 39.844 4.188 39.844h6.656l.064.345h294.28l.063-.344h7.625c26.034 0 27.88-35.928 4.313-39.842H97.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct QuickSlash;

impl IconShape for QuickSlash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M270.877 444.542C576.857 496.618 318.44 29.007 23.097 25.68 447.57-7.506 696.864 640.745 270.878 444.54z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Quicksand;

impl IconShape for Quicksand {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.97 41.688c-16.077 0-30.897 8.46-42.22 23.343-11.323 14.886-18.656 36.052-18.656 59.626 0 23.575 7.332 44.74 18.656 59.625 11.324 14.886 26.143 23.376 42.22 23.376 16.074 0 30.925-8.49 42.25-23.375 11.322-14.884 18.655-36.05 18.655-59.624 0-23.574-7.333-44.74-18.656-59.625-11.325-14.883-26.175-23.343-42.25-23.343zm-34.533 78.937h18.688V166h-18.688v-45.375zm50.72 0h18.687V166h-18.688v-45.375zm-208.47 7L21.657 248.5c-.01.035-.023.06-.032.094-2.42 9.275-.887 15.685 2.375 20.656 3.274 4.99 8.77 8.62 15.063 10.188 6.293 1.566 13.143.978 18.687-1.813 5.544-2.79 10.055-7.5 12.438-15.938l.124-.406.157-.436 26.28-67.75 3.063-7.875 8.156 2.25 54.874 15.186 5.656 1.563 1.063 5.75 13.906 75c-34.572 4.345-65.652 11.722-91.282 21.436-21.318 8.08-38.918 17.745-51.688 29.188-12.77 11.443-20.97 25.266-20.97 40.5 0 15.233 8.2 29.09 20.97 40.53 12.77 11.443 30.37 21.078 51.688 29.157 42.634 16.16 100.356 25.876 164.125 25.876 63.768 0 121.52-9.717 164.156-25.875 21.316-8.078 38.916-17.713 51.686-29.155 12.77-11.442 20.97-25.298 20.97-40.53 0-15.235-8.2-29.058-20.97-40.5-12.77-11.444-30.37-21.11-51.687-29.19-25.57-9.69-56.584-17.055-91.064-21.405l13.906-75.03 1.063-5.75 5.656-1.564 54.876-15.187 8.156-2.25 3.063 7.874 26.28 67.75.158.437.125.408c2.382 8.437 6.862 13.146 12.406 15.937 5.543 2.79 12.425 3.38 18.72 1.813 6.292-1.567 11.787-5.198 15.06-10.188 3.263-4.97 4.797-11.38 2.376-20.656l-.03-.094-43.033-120.875-115.75 29.47c-3.794 14.508-10.07 27.624-18.343 38.5-14.097 18.53-34.41 30.75-57.125 30.75-22.715 0-42.998-12.22-57.095-30.75-8.213-10.797-14.447-23.805-18.25-38.19l-116.938-29.78zm122.188 175.78l3.406 18.345c-7.998 1.91-15.457 4.144-22.25 6.72-11.607 4.4-21.315 9.67-28.655 16.25-7.34 6.576-12.563 15.068-12.563 24.686 0 9.62 5.223 18.11 12.563 24.688 7.34 6.577 17.048 11.85 28.656 16.25 23.218 8.798 54.145 13.937 88.282 13.937 34.138 0 65.065-5.138 88.282-13.936 11.608-4.4 21.347-9.673 28.687-16.25s12.533-15.07 12.533-24.688c0-9.618-5.192-18.11-12.532-24.687-7.34-6.58-17.078-11.85-28.686-16.25-6.72-2.55-14.097-4.76-22-6.658L326 303.438c33.72 4.197 63.78 11.317 87.844 20.438 19.844 7.522 35.563 16.44 45.812 25.625 10.25 9.185 14.78 18.024 14.78 26.594.002 8.57-4.53 17.41-14.78 26.594-10.25 9.183-25.968 18.104-45.812 25.625-39.69 15.04-95.677 24.656-157.53 24.656-61.856 0-117.813-9.616-157.502-24.658-19.844-7.52-35.594-16.44-45.843-25.625-10.25-9.183-14.75-18.023-14.75-26.593s4.5-17.41 14.75-26.594c10.248-9.185 25.998-18.103 45.843-25.625 24.12-9.143 54.25-16.277 88.062-20.47zm6.844 36.783l2.25 12.218v11.78l.31.002c-.097.413-.155.83-.155 1.25 0 9.76 26.975 17.656 60.25 17.656s60.25-7.897 60.25-17.656c0-.422-.09-.836-.188-1.25h.313V353.25l2.406-13c6.863 1.676 13.193 3.59 18.813 5.72 10.134 3.84 17.99 8.367 22.81 12.686 4.82 4.32 6.345 7.795 6.345 10.75 0 2.956-1.524 6.463-6.344 10.78-4.82 4.32-12.676 8.848-22.81 12.69-20.272 7.68-49.434 12.718-81.658 12.718-32.223 0-61.385-5.037-81.656-12.72-10.135-3.84-17.992-8.368-22.812-12.687-4.82-4.318-6.344-7.825-6.344-10.78 0-2.956 1.524-6.432 6.344-10.75 4.82-4.32 12.677-8.847 22.812-12.688 5.688-2.157 12.103-4.093 19.063-5.783z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Quill;

impl IconShape for Quill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M492.47 21.938c-82.74-.256-167.442 12.5-242.814 45.093 5.205 13.166 9.578 28.48 13.188 45.532C242.55 97.27 217.167 92.385 194.72 95.5c-46.22 28.432-87.13 66.305-119.44 115.594 25.193 7.756 51.57 22.81 72.845 43.844-31.87-7.045-68.907-5.895-99.188 3-13.743 28.688-25.008 60.48-33.343 95.687 128.71-30.668 130.522 3.514 50.75 140.438 16.877 12.614 42.182 13.77 61.906-1.563C134 267.936 231.43 326.246 254.188 354.562c14.288-40.59 34.77-82.54 62.906-126.468-17.29-14.667-39.21-24.838-63.813-32.375 25.364-5.256 50.91-10.928 74.126-11.22 6.482-.082 12.78.272 18.844 1.156 17.57-24.007 37.408-48.612 59.75-73.97-12.538-6.31-25.476-11.454-38.125-14.967 17.132-5.76 35.274-8.34 52.844-8.157 2.01.02 4.004.095 6 .187 20.07-21.708 41.927-43.976 65.75-66.813zM426.72 47.28C295.79 112.674 200.094 210.206 144.936 333.53 172.34 184.41 287.048 84.57 426.72 47.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct QuillInk;

impl IconShape for QuillInk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M496.938 14.063c-95.14 3.496-172.297 24.08-231.282 55.812l-29.47 49.28-4.967-28.093c-10.535 7.402-20.314 15.222-29.314 23.407l-14.687 45.06-5.032-25.155c-40.65 45.507-60.41 99.864-58.938 155.906 47.273-93.667 132.404-172.727 211.97-221.155l9.717 15.97c-75.312 45.838-156.387 121.202-202.187 208.25h12.156c19.78-12.02 39.16-26.858 58.406-43.44l-30.28 1.595 54.218-23.094c46.875-43.637 93.465-94.974 143.313-138.28l-24.47-5.19 56.5-21.03c26.853-20.485 54.8-37.844 84.344-49.843zM59.53 312.03v30.408H194V312.03H59.53zm20.376 49.095L47.25 389.813 24.97 474.78l14.53 15.876h177.22l14.56-15.875L209 389.814l-30.906-28.688H79.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RadarDish;

impl IconShape for RadarDish {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.47 31.47c-67.048 70.547-83.972 178.936-32.907 267.467 51.07 88.544 153.333 128.083 247.906 105.22l-215-372.688zm232.81 82.155c-5.05.133-10.127 1.48-14.81 4.188-11.303 6.53-17.02 19.035-15.44 31.218l-96.31 29.25 34.842 60.345L442 169.812c9.755 7.504 23.456 8.826 34.78 2.282 14.992-8.663 20.117-27.822 11.47-42.813-5.945-10.305-16.856-15.948-27.97-15.655zm-311.874 107.5l-26.656 4.688 10.688 60.53-42.063 39.376 18.688 32.124 58.656-17.813 3.155 4.158L53.53 493.094h78.345l85.344-21.53 52.686 21.53h50.563l-7.064-45.78.813-.22-.97-.625-4.75-30.72c-6.82-2.366-13.532-5.066-20.125-8.03l3.844 24.967-51-33.437 18.75-6.594c-6.528-4.05-12.883-8.437-19.033-13.125l-19.375 6.814-39.625-26 5.813-7.375 15.156-9.658c-9.043-10.742-17.264-22.432-24.53-35.03-16-27.74-25.828-57.3-29.97-87.157zm21.906 153.97l29.094 19.06-61.062 21.5 31.97-40.56zm48.72 31.967l49.343 32.344-49.78 12.563-58.845-24.033 59.28-20.875zm-94.813 26.532l5.718 2.312 58.125 23.75L82.75 486.22l41.47-52.626zm170.968 18.312l5.187 33.438-52.625-21.47 45.813-11.562 1.625-.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RadarSweep;

impl IconShape for RadarSweep {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.78 20.875c-1.302.012-2.6.03-3.905.063-37.928.974-76.148 11.153-111.28 31.437C25.164 117.285-13.41 261.322 51.5 373.75s208.946 151.036 321.375 86.125c77.7-44.86 120.1-127.513 117.47-211.406-3.563 65.847-35.898 128.573-91 169.374-10.828 9.62-22.774 18.315-35.814 25.844-103.68 59.86-235.983 24.4-295.842-79.282-59.86-103.68-24.43-235.984 79.25-295.844 35.64-20.576 74.67-29.88 112.968-29.03 63.304 1.4 124.623 30.57 165.438 82.53l-32.594 23.032c-33.27-42.835-84.01-66.6-136.063-67-.96-.008-1.91-.012-2.875 0-.964.01-1.943.038-2.906.062-28.006.717-56.222 8.215-82.156 23.188-82.99 47.914-111.508 154.322-63.594 237.312 47.914 82.99 154.32 111.51 237.313 63.594 51.37-29.66 81.862-81.724 86.28-136.78-12.53 45.37-42.32 86.745-85.438 114.186-.02.013-.043.018-.062.03l-.344.22c-3.16 2.147-6.42 4.216-9.78 6.156-74.245 42.865-168.918 17.494-211.782-56.75-42.864-74.243-17.493-168.917 56.75-211.78 23.2-13.396 48.39-20.122 73.375-20.782 47.953-1.266 95.138 19.858 125.968 59.156l-39.844 28.156c-20.232-24.32-50.055-37.79-80.594-38.03-1.17-.01-2.33 0-3.5.03-17.035.432-34.176 4.995-49.938 14.094-50.435 29.12-67.806 93.877-38.687 144.313 29.12 50.434 93.908 67.806 144.344 38.686 21.245-12.267 36.623-30.85 45.124-52.03-18.815 21.064-44.364 36.888-73.938 44.155-.04.013-.084.02-.125.033-37.507 10.787-78.796-4.816-99.217-40.188-24.07-41.688-9.845-94.712 31.843-118.78 13.028-7.523 27.143-11.314 41.156-11.69 25.66-.685 50.898 10.098 68.188 30.25l-41 28.97c-5.497-4.796-12.664-7.72-20.53-7.72-17.277 0-31.283 14.007-31.283 31.282 0 17.276 14.004 31.282 31.282 31.282 17.277 0 31.28-14.007 31.28-31.283 0-1.187-.06-2.347-.188-3.5l120.094-57.312 4.03-1.75-.06-.156 62.25-29.72 9.25-4.438-5.282-8.812-19.97-33.375-5.155-8.625-8.25 5.813-8.095 5.718c-45.9-58.864-116.14-91.053-187.844-90.405z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RadialBalance;

impl IconShape for RadialBalance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M321.375 15.313L262.72 73.906l25.78 6.906-15.563 58.063c-5.44-.756-10.87-1.14-16.25-1.125-.887.003-1.77.04-2.656.063l21.97 45.75 42.25-28.407c-6.263-3.87-12.944-7.205-20.03-9.875l15.467-57.718 28.657 7.657-20.97-79.907zM133.25 40.063l-.094 82.906 23.125-13.345 30.064 52.063c-5.034 3.824-9.75 8.072-14.125 12.687l50.06 16.438 9.064-50.157c-7.797 1.777-15.372 4.336-22.594 7.625l-29.875-51.718 25.688-14.812-71.313-41.688zm255.28 90.593l13.345 23.094-52.063 30.063c-3.8-5.002-8.01-9.707-12.593-14.063l-16.126 48.156 49.28 8.938c-1.744-7.094-4.148-13.99-7.155-20.594l51.717-29.875 14.813 25.656 41.688-71.31-82.907-.064zm-290.78 38.5l-79.906 20.97 58.562 58.655L83.312 223l58.063 15.563c-.935 6.767-1.25 13.498-1 20.156l47.53-22.814-29.843-43.25c-4.022 6.432-7.466 13.31-10.218 20.625l-57.78-15.468 7.686-28.656zm275.875 81.28L328.5 272.813l28.313 42.125c3.15-5.2 5.937-10.673 8.28-16.437l57.938 15.53-6.905 25.783 80.063-21.532-58.72-58.092-7.687 28.656-57.592-15.438c1.27-7.706 1.707-15.387 1.437-22.97zm-230.28 30.283c1.5 6.44 3.516 12.72 6.06 18.78l-52.093 30.094L83.97 306.5l-41.376 71.813 82.594-.438-14.813-25.656 51.78-29.908c4.655 6.52 9.98 12.557 15.907 18.032l17.282-49.53-52-10.095zM294 316.75l-9.22 51.03c5.91-1.454 11.673-3.347 17.25-5.686l30.095 52.094L309 427.53l71.844 41.408-.438-82.625-25.687 14.843-29.876-51.75c6.437-4.588 12.43-9.847 17.844-15.687L294 316.75zM240.25 324l-44.125 30.03c5.32 3.262 10.955 6.127 16.875 8.533L197.47 420.5l-25.782-6.906 21.53 80.062 58.095-58.72-28.625-7.686 15.437-57.625c8.295 1.367 16.576 1.816 24.72 1.406L240.25 324z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Radioactive;

impl IconShape for Radioactive {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.78 17.188c-130.728 0-236.905 106.177-236.905 236.906C16.875 384.824 123.052 491 253.78 491c130.73 0 236.907-106.18 236.907-236.906 0-130.73-106.177-236.906-236.906-236.906zm0 18.687c120.63 0 218.22 97.59 218.22 218.22 0 120.626-97.59 218.218-218.22 218.218-120.628 0-218.218-97.59-218.218-218.22s97.59-218.218 218.22-218.218zm101.19 46.313L278.56 215.063c15.916 9.635 25.177 26.33 26.125 43.78h148.407c1.644-70.01-33.49-138.867-98.125-176.656zm-205.126 2.468c-27.1 16.725-50.68 40.147-67.72 69.656-19.01 32.928-26.926 69.12-26 104.532H196c.41-8.353 2.737-16.73 7.188-24.438 5.21-9.024 12.64-16 21.218-20.625L149.844 84.657zm100.594 141.156c-.864-.002-1.736.035-2.594.094-11.446.793-22.288 7.084-28.5 17.844-9.94 17.216-4.09 38.967 13.125 48.906 17.213 9.94 38.935 4.12 48.874-13.094 9.94-17.215 4.12-38.967-13.094-48.906-5.648-3.26-11.768-4.824-17.813-4.844zm28.218 82.375c-16.127 9.75-36.864 10.846-54.406 1.25l-68.03 117.22c29.454 16.785 61.044 25.177 92.75 26 34.567.898 68.72-7.786 99.124-24.032l-69.438-120.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RaggedWound;

impl IconShape for RaggedWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.438 28c-2.13.008-4.264.054-6.407.156C55.4 55.93 66.44 113.052 81.126 161.344c36.747-81.008 70.31 15.56 85.313 133.187 19.56-157.11 81.692-39.362 117.75 24.19-3.213-72.754 106.18-22.386 126.625 48.436 13.595-60.515 45.038-53.18 82.406 13.156-5.587-75.425-47.698-149.916-98.158-109.562 6.667-98.496-65.15-100.515-91.25-67.406-15.74-40.536-96.467-119.32-106.5-42.313C152.726 72.62 93.442 27.748 27.438 28zM81.5 191.53c-5.156 15.956-49.635 88.657 0 88.657 49.667 0 3.134-72.61 0-88.656zm85.563 129.69c-6.08 22.943-58.522 127.5 0 127.5 58.558 0 3.694-104.426 0-127.5zm243.875 64.28c-4.133 13.405-39.774 74.5 0 74.5 39.797 0 2.51-61.018 0-74.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RainbowStar;

impl IconShape for RainbowStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.12 18.41v29.22c9.3-1.06 18.65-1.71 28.01-1.91 1.93 0 3.85-.1 5.78-.1C167.6 45.28 286.3 111.5 340.5 222.5l37.6-33.4c-29.8-71.1-79-129.97-139.7-170.69zm33.76 45.97c-11.29 0-22.57.7-33.76 2.06V136c15.87-2.7 31.86-4 47.85-4 2.73 0 5.48 0 8.22.1 83.41 2.5 165.61 41.4 223.51 111.4l15.7 5 14.6-13.1C280.6 132.6 147.6 66.28 49.88 64.38zm14.46 86.32c-16.12-.1-32.26 1.4-48.22 4.3v81c22.84-7.4 46.09-11.2 69.13-11.5h4.56c44.59.3 88.29 13.4 126.09 37.2l-14-31.9-8.3-18.9 19.7 6.3 46.5 14.8c-46.3-52.6-132.1-80.2-195.46-81.3zm320.96 57L319.8 266l-4 3.5-5-1.6-83.5-26.6 35.2 80.2 2.2 4.9-3.2 4.3-51 71.1 87.1-8.6 5.3-.5 3.2 4.3 51.8 70.5 18.7-85.5 1.2-5.3 5-1.6 83.2-27.5-75.7-44.3-4.5-2.7-.1-5.3-.4-87.6zM86.72 243.1c-23.55.2-47.34 4.3-70.6 12.7v93.4c66.75-35.7 144.18-32.8 207.78 1.8l19.4-26.9-12.7-28.9c-40.7-33.9-91.6-52.5-143.88-52.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Raining;

impl IconShape for Raining {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M305 19.438c-46.49 0-85.118 32.184-95.844 75.374l-4.656 18.75-11.813-15.28C179.864 81.69 160.21 70.75 137.844 70.75c-38.486 0-69.97 31.515-69.97 70.063 0 6.083 1.424 12.16 3.314 18.812l2.937 10.406-10.688 1.44c-24.95 3.297-44.374 24.6-44.374 50.56 0 28.264 22.848 51.126 51.062 51.126 18.228 0 34.287-9.818 43.313-24.28l6.968-11.157 8.22 10.218c15.42 19.07 38.945 31.343 65.343 31.343 30.613 0 56.55-16.175 71.31-40.686l7.94-13.188 8.03 13.156c8.978 14.675 24.76 24.22 43.28 24.22 14.95 0 28.317-6.327 37.626-16.5l6.47-7.063 6.905 6.624c12.575 12.055 29.132 19.375 47.845 19.375 38.486 0 69.938-31.485 69.938-70.033 0-38.547-31.365-69.468-69.938-69.468-2.974 0-5.754.17-8.625.53l-10.375 1.313-.125-10.47c-.61-54.307-44.804-97.656-99.25-97.656zm42.47 258.125c-5.813 2.026-11.97 3.332-18.345 3.75l7.594 26.625 17.874-5.375-7.125-25zm-213.158 1.125l10.063 35.25 17.875-5.344-4.97-17.438c-8.218-3.173-15.918-7.404-22.968-12.47zm263 1.25l14.125 49.5 17.875-5.344-11.5-40.375c-7.104-.45-13.97-1.733-20.5-3.783zm-309.125 9.468c-5.757 1.582-11.81 2.438-18.062 2.438-.22 0-.436-.03-.656-.03l11.81 41.467 17.876-5.374-10.97-38.5zm131.97 5.125c-5.972 1.595-12.163 2.652-18.532 3.126l8.97 31.438 17.874-5.375-8.314-29.19zm70.624 7.064l-17.905 5.375 16.313 57.217 17.906-5.375-16.313-57.218zM366.72 345l-17.908 5.375 10.063 35.313 17.906-5.375L366.72 345zm-192.345 6.03l-17.906 5.376 9 31.53 17.874-5.373-8.97-31.532zm66.22 15.126l-17.907 5.375 16.937 59.44 17.906-5.376-16.936-59.438zm200.843.375l-17.907 5.376 12.19 42.656 17.874-5.375-12.156-42.656zm-330.157 3.814l-17.905 5.375 14.47 50.75 17.905-5.376-14.47-50.75zm207.907 30.937l-17.875 5.345 15.875 55.688 17.875-5.375-15.875-55.657zm69.688 21.47l-17.906 5.375 8.592 30.188 17.938-5.375-8.625-30.188zM195.47 425l-17.907 5.375 9.03 31.688 17.907-5.375L195.47 425zm270.25 26.625L447.81 457l10.5 36.844h19.438l-12.03-42.22zM137.843 463.53l-17.875 5.376 7.093 24.938H146.5l-8.656-30.313zm131.78 4.5l-17.874 5.376 5.813 20.438H277l-7.375-25.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RallyTheTroops;

impl IconShape for RallyTheTroops {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M462.9 19.12c-9.6 0-17.2 7.59-17.2 17.19 0 9.61 7.6 17.19 17.2 17.19s17.2-7.58 17.2-17.19c0-9.6-7.6-17.19-17.2-17.19zm-80.3 21.82c-160.3.8-218.1 217.46-362.93 96.26 3.25 36.8 88.43 78.4 88.43 78.4-26.03 20-34.78 24.7-71.99 25.5 104.09 86.7 338.69-99.8 408.39 40.1l-2.3-38.4-45.4-46.5 42.7.6-.6-10.2-50.7-32.2 48.4-7.2-.7-11.1-50-27.3 47.9-8.8-.6-10.69L381 66.66l50.5-5.85-.8-13.9c-17.1-4.2-33-6.05-48.1-5.97zm70.8 29.97l20.2 423.99 18.7-.9-20.2-423c-6.3 1.54-12.7 1.5-18.7-.1zM360 292.9l-43.6 70 21.3 25L322 493h18.9l15.2-102.3 28-20.2c-8.1-25.9-16.1-51.8-24.1-77.6zm-156.7 17.9l-28.8 69.8 20.5 20.2 2.2 92.2h18.7l-2.2-93 19.6-19.9-30-69.3zm-158.16 5l-16.4 61.9 17.65 13.2L61.24 493h18.87L64.89 388.3l13.22-17.6-32.93-54.9zm85.96 7.4l-28.2 57.5 15.1 17-6.7 95.3H130l6.8-95.3 15.9-14.2-21.6-60.3zM268 355.5l-19.5 68.4 19.4 15.2 5.8 53.9h18.9l-5.9-54.3 16.8-21.6c-11.9-20.5-23.7-41-35.5-61.6zm143.6.1l-18.9 68.6 20.3 15.5 6.2 53.3H438l-6.4-55.2 16-20.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ram;

impl IconShape for Ram {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M223.125 24.938L205.062 43l-5.875-5.875-6.625-6.594-6.593 6.595-132.314 132.28L47.03 176l6.626 6.594 5.907 5.906-18.032 18.063-2.75 2.718v38.97h18.69V217l15.31-15.28 35.657 35.624-18.062 18.062-2.72 2.75v38.939h18.69v-31.22l15.31-15.312 35.157 35.157-18.062 18.06-2.75 2.72v38.969h18.688v-31.19l15.343-15.342 36.657 36.656-18.062 18.062-2.75 2.72v38.968h18.688v-31.25l15.312-15.313 35.656 35.658-18.06 18.062-2.72 2.75v38.938h18.688v-31.22l15.312-15.312 35.156 35.156-18.062 18.063-2.75 2.72v38.966h18.687v-31.187l15.345-15.344 5.78 5.783 6.595 6.625 6.594-6.625 132.312-132.25 6.625-6.625-6.624-6.594-5.812-5.813 18.062-18.06-13.22-13.19-18.06 18.033-35.126-35.125 18.03-18.063-13.217-13.22L401 238.938l-35.625-35.625 18.063-18.062-13.22-13.22-18.062 18.064-36.656-36.656 18.063-18.063-13.22-13.188-18.03 18.063-35.188-35.188 18.063-18.03-13.22-13.22-18.03 18.063L218.28 56.22l18.064-18.064-13.22-13.218zm-29.22 67l209.376 209.718-73.5 73.5L120.376 165.75l73.53-73.813zm-32.5 64.968l-13.186 13.25 173.968 172.72 6.562 6.53 6.594-6.53 34.5-34.25-13.156-13.282-27.938 27.75-167.344-166.188zM102.5 174.312L320.938 392.75v30.688L74 176.53l28.5-2.218zm319.688 134.875l25.875 3.25.5.5-108.938 108.938V391.78l82.563-82.592z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RapidshareArrow;

impl IconShape for RapidshareArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.094 25.875c-15.79.166-26.534 4.426-33 11.906-6.32 7.31-8.877 18.45-6.656 34.22 1.01 7.182 3.17 15.27 6.187 23.906 25.733-6.88 59.657-5.89 97.438 3.47 45.22 11.2 95.64 34.696 141.687 73.343 69.268 58.135 120.23 99.117 152.78 178.28-3.425-33.22-15.525-65.535-32.03-94.875-24.64-43.798-58.534-80.653-84.03-102.78-60.464-52.477-122.706-91.336-173.564-111.532-25.428-10.1-48.027-15.5-65.594-15.907-1.097-.025-2.166-.042-3.218-.03zM77.22 67.72l-44.94 51.968c-6.363 7.362-8.96 18.47-6.78 34.156 2.18 15.687 9.306 35.27 21.03 56.875 23.45 43.21 65.05 94.57 119.22 143.468l6.875 6.187-6.125 6.938-27.656 31.28 241.406 80.438-119.094-222.374-26.22 30.156-6.374 7.344-7.093-6.656c-53.73-50.503-95.835-103.37-120.5-149.47-12.334-23.048-20.352-44.395-23.032-63.436-.327-2.317-.56-4.612-.72-6.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Raven;

impl IconShape for Raven {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M343.313 22.22c-57.33 0-61.26 36.153-91.125 54.874C154.782 42.52 133.115 221.496 169.844 330c-15.396 31.924-30.736 75.9-43.813 134.906 56.828 30.66 119.124 38.655 182.22 9.906-6.2-37.715-14.18-68.858-21.97-95.375 25.025-12.63 59.594-14.573 86.5 14.407.24-28.626-19.022-40.956-40.53-42.25l-22.03-47.313c42.606-45.056 74.38-100.18 57.905-157.06-10.303-38.45 58.203-62.225 122.344-53.75-24.523-21.164-55.99-30.482-85.845-33.876-8.843-21.763-32.616-37.375-61.313-37.375zm10.968 21.936c9.808 0 17.783 7.944 17.783 17.75 0 9.807-7.974 17.75-17.782 17.75-9.807 0-17.75-7.943-17.75-17.75 0-9.806 7.945-17.75 17.75-17.75zm-58.092 274.25l16.28 34.938c-11.62 2.698-22.325 8.217-29.312 15.687-3.298-10.84-6.498-20.903-9.47-30.28 7.58-6.45 15.128-13.253 22.502-20.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RayGun;

impl IconShape for RayGun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.78 48.375c-1.777.065-3.554.135-5.342.22l-13.032 3.468L256.47 112l-41.533 5.156L198.03 54.03c-20.15 2.995-40.295 7.085-59.81 12.314C115.13 72.53 94.522 82.558 77.405 95.03 70.596 84.966 57.93 79.804 45.53 83.126c-15.64 4.19-24.908 20.266-20.718 35.906 2.092 7.807 7.145 14.028 13.625 17.782-13.334 22.34-17.896 46.636-11.687 69.813 7.424 27.71 28.982 49.112 59.094 61.344 4.684 1.902 9.568 3.573 14.625 5-71.813 84.106-81.31 251.344 62.905 216.624-9.176-3.423-16.616-11.07-19.344-21.25-4.475-16.706 5.438-33.865 22.126-38.375-4.744-3.99-8.367-9.403-10.094-15.845-3.81-14.222 2.81-28.797 15.157-35.594-3.558-3.692-6.237-8.32-7.657-13.624-3.76-14.035 2.622-28.374 14.656-35.28l.124-1.532c-6.032-4.078-10.687-10.26-12.72-17.844-3.646-13.61 2.256-27.53 13.595-34.656 4.71-.89 9.443-1.948 14.186-3.22.394-.104.794-.236 1.188-.343 1.04-.28 2.083-.584 3.125-.874 9.006 47.493 36.058 68.614 59.468 52.97-21.67-19.01-29.08-40.428-29.75-62.282 7.994-2.776 15.968-5.737 23.875-8.906l-19.625-73.282 38.937-14.875 18.438 68.845 10.75-2.875c2.3-1.19 4.608-2.38 6.875-3.594l-18.532-69.062 38.97-14.875 15.593 58.218 10.81-2.875c2.214-1.547 4.396-3.095 6.533-4.657L344.688 136.5l37.468-14.313 11.5 42.938.5-.125c5.458-5.49 10.303-10.95 14.438-16.313L399.72 115.5l12.28-4.688 15.875-4.25c7.277 14.404 23.744 22.138 40 17.782 18.66-5 29.593-23.936 24.594-42.594-4.376-16.325-19.402-26.752-35.595-25.75-2.313.143-4.668.53-7 1.156-14.772 3.958-24.703 16.657-25.72 31.032l-20.75 5.562-9.217 1.156-7.938-29.687c-5.85-2.44-12.264-4.647-19.188-6.595l-1.812.47 10.22 38.155-39.97 4.938-13.906-51.938c-1.898-.2-3.82-.39-5.75-.563L303 53.094l13.78 51.437-41.592 5.126-16.407-61.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RazorBlade;

impl IconShape for RazorBlade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M385.594 45.156L13.03 260.25l20.345 35.25L405.938 80.406l-20.344-35.25zm29.687 51.438L42.72 311.688l8.155 14.125c16.17-5.228 33.86-.587 45.25 11.937l28.53-16.47L134 337.47l-28.53 16.467c5.14 16.12.317 33.767-12.282 45.157l8.156 14.125 372.562-215.095L465.75 184c-16.157 5.214-33.86.563-45.25-11.938l-28.53 16.47-9.345-16.188 28.53-16.47c-5.147-16.134-.35-33.8 12.283-45.186l-8.157-14.094zm-83.124 90.812c8.675-.225 17.2 4.207 21.844 12.25 6.755 11.7 2.762 26.652-8.938 33.406-8.828 5.097-19.48 4.032-27.093-1.812l-22.283 12.844c4.868 16.798-2.108 35.36-17.937 44.5-15.835 9.142-35.388 5.904-47.5-6.72l-22.22 12.845c1.253 9.516-3.197 19.274-12.03 24.374-11.7 6.755-26.65 2.762-33.406-8.938-6.755-11.7-2.73-26.65 8.97-33.406 3.655-2.11 7.618-3.18 11.56-3.28 5.583-.146 11.1 1.637 15.564 5.06l22.218-12.81c-4.867-16.806 2.11-35.394 17.938-44.533 5.818-3.36 12.13-5.055 18.406-5.218 10.803-.282 21.43 3.975 29.094 11.968l22.25-12.844c-1.274-9.527 3.158-19.302 12-24.406 3.656-2.11 7.62-3.18 11.562-3.282zm151.094 26.906L110.687 429.406l20.344 35.25 372.564-215.094-20.344-35.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ReaperScythe;

impl IconShape for ReaperScythe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M171.125 20.28c-3.678.004-7.287.027-10.844.095l-5.718.125-2.5 5.125c-6.484 13.307-23.588 23.72-45.937 31.625-8.73 3.088-18.122 5.803-27.72 8.313l9.657 16.812c8.253-2.24 16.435-4.714 24.313-7.5 22.043-7.795 42.253-18.258 53.375-35.813 54.302-.54 123.166 6.728 181.688 29.126 54.774 20.963 99.65 54.383 117.812 106.624-2.063-.668-4.205-1.333-6.313-2l-63.28-52.593-25.876 30-43.124-46.47-23.156 34.313-45.28-45.907-27.908 38.125-46-45.81-23.78 45.124-38.782-27.72-7.406 26.282 23.594 41.094c13.6-7.09 32.617-14.47 49.875-17.72 12.606-2.37 24.367-2.552 32.093-.31 7.727 2.24 11.237 5.162 12.656 13l1.813 9.968 9.78-2.594c74.608-19.777 168.01 4.457 231.97 26.437l15.78 5.44-3.624-16.314C472.78 117.786 417.833 75.1 354.126 50.72c-59.725-22.86-127.835-30.473-183-30.44zM40.72 50.313c-12.622.486-23.765 10.62-23.376 28.626 94.07 133.71 175.316 272.647 239.47 417.562h41.436L52.406 53.22c-2.063-.898-4.34-1.96-6.437-2.345-1.836-.336-3.45-.637-5.25-.563zM382.75 255.97c-8.857.08-17.908 1.26-26.97 3.686-55.227 14.784-88.043 69.08-74.342 120.156 3.257 12.147 14.716 25.216 29.468 36.344 10.09 7.61 21.485 14.305 32.063 19.72-2.054-13.744-5.87-27.03-13.064-39.938l16.313-9.094c18.71 33.585 17.717 68.118 18.03 100.906 9.32 1.53 18.46 3.04 27.47 4.188l1.842-34 18.657 1-1.876 34.78c11.114.645 22.016.378 32.75-1.406l-1.656-35.375 18.687-.843 1.438 31.47c6.713-2.395 13.364-5.54 19.968-9.627.64-5.552 2.86-25.628 4.033-53.968.565-13.672.764-28.563.312-43.095-15.635 4.024-31.625-5.263-35.813-20.875-4.212-15.705 5.12-31.853 20.844-36.063 2.457-.657 4.944-.975 7.375-1h.064C465.917 283.512 428.73 257.113 386.53 256c-1.256-.033-2.515-.043-3.78-.03zm4.72 70.936c15.152-.15 29.052 9.89 33.155 25.188 4.863 18.13-5.88 36.766-24.03 41.625-18.153 4.858-36.826-5.903-41.69-24.033-4.86-18.13 5.912-36.766 24.064-41.625 2.835-.76 5.693-1.128 8.5-1.156zm51.936 46.188L465 426.72l-38.563 6.06 12.97-59.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RearAura;

impl IconShape for RearAura {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 23.545c-33.5 0-63.525 15.197-83.55 39.053L92.7 38.313l60.85 56.867c-2.134 5.82-3.785 11.872-4.905 18.105L18.498 132.592 148.635 151.9c1.118 6.238 2.768 12.293 4.902 18.118L92.7 226.873l78.898-24.025c1.62-2.674 3.35-5.246 5.203-7.702 2.154-2.85 4.502-5.53 7.02-8.027-11.435-15.14-18.21-34.01-18.21-54.503 0-50.03 40.357-90.39 90.39-90.39 50.03 0 90.39 40.36 90.39 90.39 0 20.494-6.774 39.36-18.208 54.5 2.518 2.497 4.868 5.177 7.02 8.03 1.855 2.455 3.585 5.028 5.204 7.703l78.895 24.023-60.837-56.857c2.133-5.824 3.784-11.88 4.902-18.116l130.137-19.308-130.147-19.307c-1.12-6.232-2.77-12.283-4.906-18.103l60.85-56.87-79.75 24.286C319.52 38.743 289.5 23.545 256 23.545zm.002 45.182c-23.1 0-42.257 23.548-45.89 54.412h36.544v18.686H209.85c1.698 19.243 9.403 35.878 20.408 46.133H219.94c-11.947 2.392-20.787 8.595-28.223 18.446-7.56 10.013-13.304 23.86-17.34 39.875-7.365 29.223-8.98 65.15-9.22 97.33h39.972l10.32 149.056h81.103l10.322-149.057h39.973c-.24-32.18-1.856-68.107-9.22-97.33-4.037-16.014-9.782-29.86-17.34-39.874-7.437-9.85-16.278-16.054-28.226-18.447h-10.316c11.005-10.256 18.71-26.89 20.408-46.134h-36.81V123.14h36.547c-3.633-30.865-22.79-54.413-45.888-54.413z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Recycle;

impl IconShape for Recycle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.875 19.75c-15.54.336-30.444 4.193-44.97 10.5l22.47 42c7.42-2.652 15.023-4.442 22.5-4.5 25.633 0 52.754 13.658 73.47 49.47l16.624 28.874 20.217-11.656 43.407 75.187-53.5 30.844 107.812 62.186V178.312l-33.062 19.063-59.5-104.156c-27.476-47.506-71.07-73.848-115.47-73.47zm-75.22 57.844L72.813 139.78l32.282 18.595-56.156 98.313c-25.153 43.508-26.934 92.827-6 131.968 8.675 16.22 21.838 29.508 37.5 40.47l24-40.47c-8.042-6.36-14.9-13.912-19.5-22.5-12.51-23.402-13.322-54.64 4.5-85.47l13.624-23.436-19.687-11.375 43.313-75.03 53.968 31.093V77.594zm255.157 267.562c-1.564 7.687-3.835 14.362-7.5 21-12.83 23.206-38 40.5-77.968 40.5h-24.438v22.906h-86.78V367.5L131.31 429.656l107.813 62.188v-37.22h111.22c54.52 0 98.506-25.648 119.967-64.468 7.566-13.695 11.738-29.242 13.5-45h-48z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RelationshipBounds;

impl IconShape for RelationshipBounds {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.94 22.99c-.566-.014-1.087-.01-1.56.006-.902.028-1.486.074-2.04.1-.56-.027-1.14-.072-2.043-.1-1.172-.037-2.63-.02-4.37.203h-.013l-.012.003c-33.88 4.402-58.95 36.95-58.95 78.18 0 17.88 4.53 35.75 12.616 50.138-11 4.404-20.23 11.382-27.5 20.107-9.996 11.997-16.58 27.015-21.123 43.496-9.085 32.963-10.13 72.213-10.13 107.604v9.345H65.86l10.513 163.524h54.815v.015h255.886v-.014h53.457l10.515-163.524h42.047v-9.345c0-35.39-1.048-74.64-10.133-107.604-4.544-16.48-11.125-31.5-21.122-43.496-7.27-8.725-16.498-15.703-27.5-20.106 8.085-14.386 12.617-32.257 12.617-50.137 0-41.23-25.07-73.778-58.95-78.18l-.013-.002h-.012c-.314-.04-.61-.067-.906-.095v-.007h-.066c-1.315-.12-2.454-.132-3.4-.102-.894.028-1.464.07-2.022.098-.55-.026-1.127-.07-2.022-.098-.944-.03-2.084-.018-3.4.102H140.78c-.657-.06-1.27-.094-1.84-.108zm-3.6 18.813c.236.002.35.01.605.01 1.135 0 2.276.075 3.416.197h238.185c1.14-.122 2.28-.197 3.416-.197.266 0 .383-.008.626-.01.244.002.362.01.627.01 5.338 0 10.785 1.386 15.875 3.783l.072-.153c17.34 8.21 30.108 28.395 30.108 55.94 0 18.664-6.87 38.574-15.952 49.515l-10.142 12.217 15.605 2.934c12.81 2.407 22.07 8.383 29.7 17.54 7.63 9.157 13.387 21.71 17.463 36.5 7.438 26.984 9.096 60.97 9.344 93.293h-40.77l-10.51 163.525H340.165l-.002-.015H176.78v.015H93.9L83.387 313.383H42.62c.247-32.323 1.905-66.31 9.343-93.293 4.076-14.79 9.833-27.343 17.463-36.5 7.63-9.157 16.89-15.133 29.7-17.54l15.606-2.935-10.142-12.217c-9.083-10.94-15.95-30.85-15.95-49.515 0-27.563 12.783-47.753 30.14-55.953l.077.166c5.09-2.397 10.537-3.783 15.875-3.783.258 0 .37-.008.608-.01zM169.977 60.7c3.935 5.41 7.082 11.84 9.17 19.146h158.65c2.09-7.307 5.235-13.735 9.17-19.145h-176.99zm12.013 37.837c.03.94.05 1.888.05 2.846 0 5.412-.594 10.926-1.636 16.3H336.54c-1.04-5.374-1.634-10.888-1.634-16.3 0-.958.02-1.906.05-2.846H181.99zm-7.316 37.836c-2.452 5.657-5.376 10.658-8.586 14.525l-3.834 4.62H354.69l-3.833-4.62c-3.21-3.867-6.134-8.868-8.586-14.525H174.675zm16.576 37.836c3.67 2.61 6.968 5.74 10.002 9.38 2.433 2.92 4.674 6.19 6.732 9.764H308.96c2.06-3.574 4.3-6.844 6.733-9.764 3.034-3.64 6.33-6.77 10-9.38H191.25zm25.004 37.835c.88 2.6 1.7 5.283 2.46 8.045.988 3.58 1.867 7.29 2.66 11.097h74.196c.794-3.806 1.674-7.517 2.66-11.097.762-2.762 1.582-5.446 2.46-8.045h-84.436zm8.225 37.834c.81 6.24 1.447 12.642 1.942 19.143h64.1c.496-6.5 1.134-12.903 1.945-19.144H224.48zm3.006 37.835c.253 6.384.393 12.778.483 19.144h61.007c.09-6.367.23-12.76.482-19.145h-61.974zM186.51 325.55l-1.233 19.145h146.39l-1.23-19.144H186.51zm-2.434 37.837l-1.23 19.144H334.1l-1.23-19.143H184.075zm-2.43 37.836l-1.232 19.142H336.53l-1.23-19.142H181.646zm-2.433 37.834l-1.23 19.144h160.98l-1.23-19.143h-158.52z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RelicBlade;

impl IconShape for RelicBlade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M499.78 16.125L477.157 22.5l-151.47 42.53-6.592 1.876-.22 6.844-.905 29.344-18.814 5.03-6.656 1.75-.28 6.907-.97 24.657-134.125 133.594-2.875 2.876.125 4.063c.71 20.398-14.288 31.957-22.75 31.217-9.973-.872-15.33-4.037-18.875-8.437-3.544-4.4-5.546-10.93-5.5-19.656l.125-24.156-16.344 17.78c-17.327 18.843-26.697 42.824-26.843 66.97l-.062 9.406h9.406c12.214.003 24.46 2.815 35.72 8.344l-4.063 14.468c-20.925 17.263-41.855 40.54-52.968 59.97-1.636 2.857-2.977 5.514-4.064 7.968L16.25 454.75l-1.5 41.656 41.656-1.5 9-32.187c2.383-1.07 4.96-2.36 7.72-3.94 19.338-11.062 42.48-31.857 59.718-52.686l14.47-4.063c5.345 11.147 8.143 23.224 8.186 35.064l.03 9.312h9.314c24.72.007 49.722-9.366 68.844-27.53l13.906-13.22-19-2.78c-10.576-1.556-18.374-5.412-23.03-9.75-4.66-4.34-6.335-8.744-5.876-13.626 1.054-11.204 4.174-16.044 8.437-19.063 4.263-3.018 11.267-4.52 21.094-4.218l4.06.124 2.845-2.875 136.313-136.314 18.968-.47 6.938-.186 1.844-6.688 4.437-16.093 32.906-1.44 6.75-.28 1.845-6.53L491.75 36.624l8.03-20.5zM466.157 45L429.97 173.906 397 175.312l-6.78.282-1.814 6.594-4.406 16-15.75.375-3.72.093-2.655 2.625-136.28 136.314c-9.812.1-19.142 1.668-27.064 6.812l.69-19.25 144.343-144.344 26.437-1.03L374.625 163l1.844-6.656 6.905-.188 32.25-.937 22.938-82.595-82.594 22.938L355 125.5l-.22 6.875-6.655 1.844-19.03 5.186-.876 30.344-142.25 142.22-21.19.75c4.803-7.545 7.843-16.86 8.22-27.158l134-133.437 2.625-2.594.125-3.655.875-21.47 18.875-5.03 6.72-1.813.186-6.937.938-29.438L466.156 45zM93.03 307.78c1.38 3.076 3.004 6.015 5.157 8.69 4.966 6.163 11.98 10.684 20.5 13.217l-4.343 15.5c-9.857-4.416-20.287-7.18-30.844-8.25 1.23-10.044 4.448-19.957 9.53-29.156zm87.25 23.095l-1.53 42.97-57.5 16.092 16.063-57.53 42.968-1.532zm2.657 61.22c2.006 5.516 5.43 10.576 9.875 14.717 3.934 3.665 8.684 6.685 14.032 9.094-10.278 6.204-21.67 9.998-33.188 11.28-1.086-10.328-3.84-20.554-8.125-30.248l17.407-4.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Resonance;

impl IconShape for Resonance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.186 21.076c-61.262-.17-122.585 23.086-169.264 69.766-79.875 79.875-90.355 202.083-33.037 294.03-21.126-58.596-5.07-136.433 43.875-204.518-26.864 54.274-23.788 119.52 8.705 171.64-16.072-44.577-3.09-104.19 35.502-155.568-22.22 40.8-20.71 91 4.105 130.804-13.956-38.71 1.842-92.823 43.24-134.222 43.876-43.875 102.245-59.39 141.206-40.764-39.916-27.966-92.123-30.865-134.612-8.724 54.177-39.073 116.827-50.336 161.063-29.194-52.326-36.654-120.2-41.6-176.747-14.863 71.832-49.555 153.662-63.29 211.87-35.47-40.654-28.48-88.263-42.783-135.907-42.917zm135.908 42.918l.008.006v-.002c-.003 0-.006-.003-.008-.004zm-35.125 50.332c0 .002.004.004.007.006v-.002c-.003 0-.006-.003-.008-.004zm93.772 8.315c27.828 58.21 14.094 140.048-35.47 211.887 26.74-56.548 21.8-124.425-14.858-176.754 21.144 44.238 9.878 106.895-29.2 161.075 22.145-42.488 19.248-94.7-8.714-134.618 18.62 38.96 3.107 97.327-40.768 141.2-41.4 41.4-95.513 57.196-134.224 43.238 39.81 24.817 90.023 26.326 130.826 4.096-51.383 38.602-111.004 51.59-155.588 35.513 52.118 32.49 117.364 35.57 171.637 8.71-68.085 48.943-145.92 64.997-204.512 43.87 91.947 57.318 214.157 46.838 294.03-33.037 82.987-82.986 91.948-212.252 26.842-305.18zM364.5 184.23l-.004-.007h-.002l.006.007zm37.914-26.457l-.004-.007h-.002l.006.007z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Reticule;

impl IconShape for Reticule {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.22 19.688v57.75c91.033 4.56 164.143 77.686 168.717 168.718h57.75c-4.635-123.12-103.345-221.85-226.468-226.47zm-18.69.03C123.67 24.65 24.717 123.244 20.063 246.157H78.44C83 155.333 155.786 82.33 246.53 77.47V19.72zm9.69 107.22c-32.23 0-61.768 11.79-84.408 31.312l22.47 22.47c12.306-10.246 27.204-17.487 43.562-20.626l18.78 70.53 18.75-70.374c15.887 3.182 30.37 10.232 42.407 20.156l22.345-22.344c-22.465-19.41-51.782-31.125-83.906-31.125zm97.124 44.343L331 193.626c9.996 12.136 17.072 26.77 20.22 42.813l-70.095 18.687 70.125 18.656c-3.15 16.247-10.31 31.112-20.438 43.44l22.344 22.342c19.513-22.637 31.312-52.154 31.313-84.375 0-32.124-11.716-61.44-31.126-83.906zm-194.75.157c-19.478 22.446-31.28 51.697-31.28 83.75 0 32.15 11.885 61.6 31.467 84.22l22.532-22.532c-9.933-12.202-16.96-26.866-20.093-42.875l70.936-18.875-70.906-18.906c3.136-15.81 10.098-30.235 19.906-42.25l-22.562-22.532zm-138.5 93.407C25.044 387.51 123.868 486.332 246.53 491.28V432.94c-90.544-4.852-163.21-77.547-168.06-168.094H20.093zm413.812 0C429.044 355.6 356.056 428.42 265.22 432.97v58.342c122.924-4.638 221.507-103.596 226.436-226.468h-57.75zm-177.28 14.75l-18.97 71.28c-16.208-3.188-30.995-10.455-43.22-20.687L172 352.625c22.618 19.582 52.072 31.47 84.22 31.47 32.05 0 61.304-11.803 83.75-31.283l-22.345-22.343c-11.955 9.914-26.296 16.98-42.03 20.217l-18.97-71.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ReturnArrow;

impl IconShape for ReturnArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.828 18.256l-.002.015c249.642 36.995 371.904 169.983 397.32 278.01-2.094 5.977-4.496 11.044-7.068 14.968-17.29 26.383-62.522 40.075-101.654 28.596 5.984-19.75 10.132-39.834 12.07-59.12-95.46 8.177-212.544 8.42-301.207-22.642 41.727 95.317 99.325 164.465 164.983 230.08 18.296-2.164 35.807-11.35 51.837-25.37 85.218 34.667 188.066-2.555 226.748-60.68 46.922-70.5 74.07-317.52-167.462-383.856H232.81c160.326 54.874 195.73 167.74 191.573 239.03-37.15-93.627-137.68-191.855-312.38-239.03H19.83z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ribbon;

impl IconShape for Ribbon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.938 18.53c-2.33-.006-4.65.036-7 .157v-.03c-18.72.97-37.354 4.835-53.782 11.5-5.895 9.737-7.003 18.63-3.22 31.655 2.543 8.748 7.697 19.177 15.69 31.594 9.697-6.747 25.94-10.26 42.468-10.5 17.92-.258 36.14 3.24 46.53 10.594 7.038-11.94 11.675-22.136 14.063-30.844C308.813 47.62 307.18 37.386 300 26l.47-.28c-13.496-4.296-28.377-6.64-43.533-7.032-2.342-.094-4.67-.15-7-.157zM324 36.157c2.096 9.886 1.745 20.437-1.28 31.47-4.985 18.167-16.32 38.006-34 62.655l-32.283 47.564-76.843 114.187-.313-.217-67.155 98.875 24.53-1.157-16.936 47.876 45.53-26.28-29.78 65.437 36.218-22.782 7 37.376 52.28-110.094-.405-.187L295.5 244.687l4.313-9 47.062-98.437C370.188 88.162 354.93 54.713 324 36.156zM165.72 42.78c-30.64 21.468-44.758 56.84-18.564 104.97L195 235.688l42.72-63.47-38-47.25c-2.668-3.34-4.54-6.492-5.69-9.437C180.9 97.14 172.23 81.58 168 67.03c-2.433-8.37-3.142-16.496-2.28-24.25zm142.75 218.126l-46.595 97.72 71.594 131.937 4.842-36.157 37.907 7.406-25.47-47.375 58.875 24.782-32.656-57.408 23.655-5.718-92.156-115.188z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ribcage;

impl IconShape for Ribcage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.28 19.938c-29.117 11.646-50.61 28.4-60.468 49.093-4.718 9.903-6.43 20.086-5.437 30.282-25.137 12.786-38.693 39.24-38.188 65.626-.036.693-.062 1.397-.062 2.093 0 3.464.455 6.883 1.344 10.25.28 1.475.592 2.95.968 4.407l.437-.125c2.83 7.498 7.817 14.706 14.688 21.532-11.103 10.945-16.3 25.256-13.47 39.437 1.473 7.375 4.836 14.43 9.938 21.032.4.725.806 1.442 1.25 2.157 1.926 3.087 4.235 6.008 6.907 8.75-10.928 13.738-13.85 31.155-8.124 46.717 3.435 9.34 9.718 17.922 18.468 25.22 2.547 2.71 5.41 5.146 8.532 7.374-3.073 7.786-3.99 16.288-2.437 24.75 2.523 13.754 11.09 27.07 25.063 38.408l.124-.125c3.38 2.656 7.127 4.824 11.188 6.53-2.32 12.464.09 23.86 7.063 32.22 9.88 11.844 26.615 16.188 44.937 13.812 29.986-3.89 66.278-25.483 96.375-70.03 5.44 3.526 11.503 5.155 17.906 5.155 6.34 0 12.35-1.608 17.75-5.063 30.086 44.486 66.348 66.052 96.314 69.938 18.32 2.376 35.057-1.968 44.937-13.813 6.95-8.33 9.375-19.68 7.095-32.093 4.166-1.727 7.985-3.935 11.438-6.658l.093.125c13.973-11.338 22.57-24.653 25.094-38.406 1.55-8.453.606-16.94-2.47-24.717 3.05-2.18 5.845-4.61 8.345-7.25.02-.022.042-.042.063-.063 8.83-7.32 15.17-15.92 18.625-25.313 5.725-15.562 2.803-32.98-8.125-46.718 2.673-2.742 4.98-5.663 6.906-8.75.457-.735.874-1.476 1.28-2.22 5.08-6.586 8.44-13.615 9.907-20.97 2.832-14.178-2.362-28.49-13.467-39.436 6.86-6.82 11.823-14.042 14.656-21.53l.436.124c.357-1.384.634-2.79.906-4.188.017-.06.016-.126.032-.188.895-3.376 1.375-6.81 1.375-10.28 0-.697-.028-1.4-.064-2.095.51-26.385-13.024-52.84-38.156-65.625.994-10.196-.72-20.38-5.438-30.28-9.856-20.693-31.35-37.448-60.468-49.094 17.375 9.772 30.292 22.603 37.125 36.937 25.16 52.8-41.854 113.403-149.69 136.156-2.454.523-4.905.95-7.342 1.345-5.236-9.99-11.065-16.094-17.157-16.094-6.09 0-11.888 6.104-17.124 16.095-2.443-.394-4.89-.822-7.344-1.344C123.978 170.28 56.996 109.675 82.156 56.876c6.833-14.334 19.75-27.165 37.125-36.938zm-61.093 98.03c17.415 41.942 78.38 81.302 162.25 99 3.03.64 6.09 1.186 9.157 1.72-2.002 6.498-3.856 13.538-5.53 20.875-102.14-5.383-182.168-38.334-190.19-80.188 1.086-16.487 9.413-32.31 24.313-41.406zm396.25.032c14.878 9.1 23.197 24.902 24.282 41.375-8.02 41.858-88.035 74.81-190.19 80.188-1.674-7.337-3.528-14.377-5.53-20.875 3.064-.534 6.123-1.08 9.156-1.72C376.01 199.275 437 159.932 454.436 118zM47.063 215.063c35.894 24.998 98.886 42.877 172.594 47.093-.886 5.284-1.677 10.614-2.375 15.938-82.59 11.893-152.356 1.95-175.843-29.5-.022-.03-.04-.064-.062-.094-2.06-3.344-3.333-6.6-3.938-9.625-1.696-8.498.853-16.387 9.626-23.813zm418.5 0c8.773 7.425 11.322 15.314 9.625 23.812-.623 3.122-2.007 6.48-4.187 9.938-23.655 31.27-93.295 41.145-175.688 29.28-.697-5.323-1.488-10.653-2.375-15.937 73.73-4.213 136.737-22.09 172.625-47.094zm-413.53 70.812C85.6 305.7 145.534 311.38 214.78 302.47c-.55 7.628-.85 15.03-.876 21.967-63.133 24.992-122.27 28.97-153.562 8.282-7.008-5.65-11.51-11.912-13.75-18-3.632-9.873-2.157-19.526 5.437-28.845zm408.562 0c7.593 9.32 9.038 18.972 5.406 28.844-2.24 6.088-6.72 12.35-13.72 18-31.298 20.688-90.46 16.71-153.592-8.283-.025-6.938-.325-14.34-.875-21.968 69.248 8.912 129.204 3.23 162.78-16.595zM215.28 349.813c.55 4.528 1.25 8.748 2.095 12.656-52.482 36.246-103.022 50.802-132.22 35.217-7.81-7.708-11.874-15.515-13.155-22.5-.822-4.48-.604-8.697.656-12.687 34.113 12.894 86.456 8.03 142.625-12.688zm82.064 0c56.182 20.72 108.52 25.56 142.625 12.656 1.26 3.997 1.448 8.226.624 12.717-1.28 6.985-5.346 14.792-13.156 22.5-29.193 15.58-79.713 1.022-132.188-35.218.852-3.91 1.55-8.122 2.094-12.658zm-10.188 35.593c43.873 29.743 86.124 45.232 117.22 42.344 1.275 7.2-.42 12.227-3.438 15.844-4.498 5.39-14.17 9.068-28.188 7.25-23.577-3.058-57.274-22.018-85.594-65.438zm-62.22.344c-28.27 43.167-61.83 62.045-85.342 65.094-14.02 1.818-23.69-1.86-28.188-7.25-3.02-3.622-4.724-8.66-3.437-15.875 30.996 2.99 73.155-12.373 116.968-41.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingedBeam;

impl IconShape for RingedBeam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.613 14.686l35.98 46.98c-5.556 6.996-9.327 14.675-11 22.42-2.15 9.954-.637 20.843 6.82 28.3 7.46 7.46 18.346 8.97 28.3 6.82 5.185-1.12 10.34-3.183 15.283-6.087l19.78 25.83c-5.053 7.936-8.567 16.252-10.346 24.49-3.037 14.06-.845 28.715 9.07 38.63 9.915 9.915 24.572 12.107 38.633 9.07 4.758-1.027 9.54-2.643 14.263-4.786l26.323 34.373c-4.797 8.88-8.23 17.956-10.16 26.892-4.22 19.544-1.12 39.23 12.075 52.427 13.195 13.195 32.883 16.295 52.428 12.074 4.237-.914 8.506-2.183 12.77-3.755l28.09 36.676c-6.446 12.33-11.057 24.856-13.704 37.114-6.097 28.228-1.585 55.878 16.805 74.268s46.04 22.902 74.268 16.807c5.34-1.155 10.734-2.682 16.14-4.57 10.45 4.697 22.042 7.33 34.272 7.33 46.236 0 83.514-37.32 83.514-83.556 0-12.21-2.62-23.783-7.298-34.22 1.898-5.428 3.434-10.842 4.592-16.204 6.095-28.227 1.554-55.848-16.836-74.24-13.218-13.216-31.205-19.28-50.758-19.383-7.65-.04-15.542.832-23.48 2.547-11.507 2.485-23.252 6.7-34.846 12.537l-37.31-28.57c1.57-4.256 2.834-8.517 3.747-12.746 4.222-19.544 1.122-39.234-12.073-52.43-9.278-9.277-21.767-13.563-35.158-13.824-.894-.017-1.79-.016-2.69.002-4.8.097-9.695.695-14.58 1.75-8.928 1.928-17.996 5.357-26.868 10.145l-34.39-26.334c2.14-4.715 3.75-9.49 4.777-14.238 3.035-14.062.843-28.718-9.07-38.633-7.438-7.436-17.54-10.528-28.06-10.328-3.506.066-7.06.498-10.574 1.257-8.228 1.778-16.534 5.286-24.463 10.332l-25.84-19.788c2.897-4.935 4.956-10.084 6.074-15.26 2.15-9.956.638-20.842-6.82-28.3-5.594-5.594-13.117-7.843-20.73-7.71-2.536.043-5.082.352-7.57.89-7.74 1.67-15.41 5.436-22.4 10.982l-46.984-35.98zm77.213 42.752c3.488-.127 5.814.84 7.254 2.28 1.92 1.92 3.003 5.42 1.768 11.14-.513 2.376-1.486 4.995-2.858 7.68l-20.838-15.96c3.754-2.346 7.502-3.917 10.79-4.627 1.43-.308 2.722-.47 3.884-.513zm-29.322 19.78L80.47 98.07c-2.693 1.378-5.32 2.355-7.7 2.87-5.723 1.235-9.22.152-11.14-1.768s-3.004-5.417-1.77-11.14c.713-3.293 2.29-7.05 4.644-10.81zm111.674 39.686c6.395-.194 11.303 1.62 14.586 4.903 4.377 4.377 6.14 11.643 4.017 21.472-.445 2.066-1.082 4.213-1.887 6.402l-35.868-27.467c4.22-2.096 8.38-3.587 12.266-4.426 2.458-.532 4.756-.82 6.888-.886zm-52.04 38.186l27.48 35.885c-2.198.81-4.354 1.452-6.43 1.9-9.83 2.123-17.096.36-21.473-4.018-4.377-4.377-6.14-11.645-4.018-21.474.84-3.895 2.336-8.063 4.44-12.293zm162.133 39.443c9.408.11 17.085 3.027 22.468 8.41 7.657 7.657 10.328 19.953 7.022 35.264-.33 1.53-.74 3.087-1.194 4.656l-55.27-42.328c4.838-2.073 9.607-3.624 14.18-4.61 3.826-.828 7.466-1.28 10.89-1.376.643-.02 1.278-.024 1.905-.017zm-83.815 62.824l42.344 55.29c-1.58.458-3.144.87-4.683 1.203-15.31 3.306-27.607.636-35.263-7.02-7.657-7.656-10.33-19.954-7.022-35.266.99-4.58 2.544-9.36 4.623-14.207zm223.16 29.672c15.535 0 28.615 4.717 37.85 13.952 12.687 12.688 16.832 32.637 11.947 56.235-11.877-13.486-28.038-23.1-46.402-26.713l-44.63-34.178c7.452-3.184 14.83-5.58 21.954-7.117 6.748-1.458 13.202-2.18 19.28-2.18zm-127.953 94.646l32.307 42.185c2.768 20.375 12.847 38.37 27.51 51.296-23.602 4.89-43.553.744-56.242-11.945-12.85-12.848-16.955-33.14-11.773-57.132 1.706-7.9 4.467-16.115 8.197-24.402z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingedPlanet;

impl IconShape for RingedPlanet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M417.063 85.625c-35.503-.147-80.717 9.822-129.563 28.97-9.31-1.8-18.804-2.706-28.344-2.69-25.04.045-50.414 6.454-73.656 19.907-32.044 18.55-54.554 47.287-65.813 79.782-80.284 64.16-123.395 133.9-100.718 173.28 23.35 40.55 109.384 36.656 208.593-4.218 1.7-.7 3.417-1.403 5.125-2.125.622-.262 1.25-.514 1.875-.78 1.81-.765 3.62-1.554 5.437-2.344l1.563-.687c1.443-.633 2.895-1.29 4.343-1.94 19.712-8.812 39.79-19.016 59.844-30.624 15.83-9.162 30.907-18.77 45.156-28.656.394-.273.795-.54 1.188-.813.672-.465 1.33-.94 2-1.406 100.373-70.007 158.15-152.83 132.625-197.155-11.013-19.123-35.953-28.36-69.658-28.5zm-56.375 50c24.466-.44 42.61 5.846 50.437 19.438 8.373 14.54 3.594 35.145-11.22 57.937-3.086-9.146-7.093-18.13-12.092-26.813-11.72-20.35-27.54-36.846-45.782-49.093 6.543-.87 12.788-1.364 18.658-1.47zM111.75 269.905c1.397 22.12 7.76 44.257 19.563 64.75 5.088 8.838 10.948 16.957 17.437 24.314-27.663 1.7-48.293-4.418-56.78-19.158-9.82-17.05-1.558-42.433 19.78-69.906zm291.22 27.658c-25.755 21.322-55.33 41.912-87.876 60.75-31.97 18.504-63.966 33.663-94.75 45.28 36.843 10.142 77.578 6.073 113.28-14.593 35.833-20.74 59.75-54.215 69.345-91.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RingingBell;

impl IconShape for RingingBell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.125 26.188c-17.377-.003-31.66 14.28-31.656 31.656 0 7.617 2.733 14.64 7.28 20.125-10.79 3.876-19.043 10.963-26.906 22.06-13.057 18.43-23.687 49.03-35.406 92.782-10.257 38.29-24.345 57.012-34.657 70.563-10.31 13.55-16.252 20.325-16.25 42.688.002 3.5 1.975 7.314 8.44 12.03 6.463 4.717 16.877 9.383 29.905 13.188 26.055 7.612 62.442 11.962 100.25 11.97 19.384.004 38.368-1.15 55.78-3.28v.124c12.13-1.043 33.332-3.898 51.345-10.28 5.795-2.055 11.28-4.422 16.125-7.533 2.612-1.376 4.947-2.747 6.875-4.155 6.458-4.714 8.438-8.523 8.438-12.03-.004-22.363-5.935-29.135-16.25-42.69-10.316-13.553-24.42-32.27-34.688-70.56-11.732-43.757-22.343-74.35-35.406-92.782-8.225-11.607-16.895-18.836-28.438-22.594 4.31-5.41 6.908-12.24 6.906-19.626-.002-17.377-14.31-31.654-31.687-31.657zm0 18.687c7.278 0 13 5.694 13 12.97 0 7.272-5.722 12.97-13 12.968-7.278-.002-12.968-5.696-12.97-12.97 0-7.273 5.693-12.97 12.97-12.968zm9.22 43.22c34.616 10.188 49.56 64.686 58.124 101.56 14.99 64.56 45.652 82.98 53.03 111.25-.327.633-1.002 1.286-2.094 2.408-2.665 2.74-8.816 6.216-16.406 8.906-7.366 2.61-16 4.614-24.188 6.124-1.73-38.024-33.765-53.55-33.25-107.47.603-63.043-17.19-103.352-39.5-121.78 1.468-.233 2.886-.57 4.282-1zm-206.876 91.28C23.546 223.947 11.19 289.253 28.874 355.25c18.208 67.957 63.562 118.994 116.313 140.03-38.592-30.418-72.26-83.223-89.75-148.5-16.674-62.228-14.924-122.366 1.03-167.405zm399.436 0c15.955 45.04 17.705 105.177 1.03 167.406-17.49 65.277-51.157 118.082-89.748 148.5 52.75-21.036 98.135-72.073 116.343-140.03 17.686-65.997 5.298-131.303-27.624-175.875zM105.687 210.28c-29.71 34.43-42.433 83.74-29.343 132.595 13.478 50.306 50.845 87.082 95.5 101.156-32.19-21.55-59.46-60.02-72.406-108.342-12.344-46.066-8.896-91.175 6.25-125.407zm301.032 0c15.144 34.233 18.56 79.342 6.217 125.407-12.947 48.322-40.185 86.793-72.375 108.344 44.655-14.073 81.99-50.85 95.47-101.155 13.09-48.856.396-98.166-29.313-132.594zM146.53 348.25c1.218 12.736 11.944 22.686 25 22.688 9.422 0 17.642-5.173 21.94-12.844-15.986-2.11-30.823-5.08-43.814-8.875-1.06-.31-2.09-.65-3.125-.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RiotShield;

impl IconShape for RiotShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M147.72 22l-12 186.063L136 206l20.47 19.28 60.06 4.22-62.718 17.53-19.687-14.186L119.28 462.72c34.19 37.568 246.03 46.008 292.783 1l10.093-156.345-.5.656-106.28 28.72 108.655-58.594 15.314-237.312c-.416.048-.834.077-1.25.125l-17.844-12C342.784 48 262.702 41.085 162.062 26.5c-4.812-1.425-9.597-2.91-14.343-4.5zm35.155 65.875l10.03 1.53c71.27 10.928 142.92 12.908 215.44 1.69l11.56-1.814-.81 11.69-6.158 87.874-.468 6.72-6.533 1.686c-75.586 19.37-150.226 19.046-223.187-1.75l-7.28-2.094.53-7.562 6.156-87.875.72-10.095zm17.25 21.375l-4.938 70.094c16.562 4.392 33.175 7.695 49.875 9.906l-44.28-79.906c-.22-.03-.438-.063-.657-.094zm199.5 1.844c-22.016 2.998-43.938 4.807-65.78 5.594l38.092 68.812c7.586-1.416 15.19-3.038 22.813-4.875l4.875-69.53zM223.75 112.25l43.938 79.313c8.84.65 17.708 1.015 26.593 1.062l-43.092-77.75c-9.162-.715-18.305-1.594-27.438-2.625zm-11.344 181.656c5.072 11.86 14.753 13.32 25.125 13.25-8.644 17.158.01 19.542 13.095 31.25-22.473-5.502-36.892.28-49.438 22.156-.343-18.092-6.846-35.864-33.5-45.812 22.11 1.196 42.39-3.123 44.72-20.844zm70.375 48.53c6.363 16.677 20.84 19.917 36.94 10.94-8.647 17.155-9.585 30.1 3.5 41.812-22.474-5.502-32.294-7.15-40.783 8.937-.343-18.094-14.782-24.426-34.312-29.03 19.98-4.563 33.006-12.248 34.656-32.658zm88.47 70.283c.344 18.093.94 25.36 19.25 32.28-16.95-1.495-29.377 4.88-34.063 19.47-5.073-11.863-14.75-13.32-25.125-13.25 2.8-8.81 4.74-19.01-3.218-30.22 17.49 3.448 31.427.68 43.156-8.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoastChicken;

impl IconShape for RoastChicken {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M202.53 22.063c-14.444-.148-26.79 7.923-37.03 21.343-56.29-1.126-97.6 65.597-97.156 161.22l63.156-59.907c-2.308 17.56-3.47 35.46-3.47 52.593 0 4.755.11 9.49.345 14.156-22.385 1.342-38.15 22.47-38.53 56.78-.523 47.068 28.09 101.12 63.905 120.72 8.09 4.427 15.85 6.71 23.03 7.06 2.023 25.098 5.245 57.273-4.06 77.25-11.23 24.11 27.313 26.95 31.436 4.158 12.777 21.508 45.44 1.61 27.5-15.657-15.42-14.84-24.725-47.46-32.78-71.967 5.65-3.972 10.35-9.736 13.843-17.125 11.793 5.728 24.353 8.843 37.405 8.843 13.042 0 25.62-3.092 37.406-8.81 3.492 7.376 8.2 13.126 13.845 17.092-8.056 24.51-17.36 57.128-32.78 71.97-17.942 17.265 14.722 37.164 27.5 15.656 4.122 22.79 42.665 19.95 31.436-4.157-9.305-19.977-6.083-52.152-4.06-77.25 7.18-.35 14.94-2.633 23.03-7.06 35.815-19.6 64.428-73.652 63.906-120.72-.38-34.326-16.13-55.456-38.53-56.78.234-4.666.343-9.402.343-14.157 0-17.132-1.158-35.036-3.47-52.594l63.156 59.905c.443-95.64-40.88-162.37-97.187-161.22-20.115-26.323-48.325-31.894-84.595 4.376-17.822-17.82-33.678-25.575-47.594-25.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Robe;

impl IconShape for Robe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.563 19.313c-8.59.207-18.054 4.34-28.22 12.906L153.75 137.874l77.625 36.75-35.25-31.906c49.398-102.846 72.005-100.992 117.78 0l-34.842 31.56 77.343-36.405-73.78-105.906c-9.694-9.432-18.4-12.867-27.063-12.657zm82.593 147.812L258.75 204.5l-4 1.875-3.97-1.875-76.56-36.25L69.343 291.094l18.75 14.125 66.03 15.06 28.94-118.217 17.217 8.156-69.53 283.905h92.906l15.594-265.47 15.594 7.376 17.75-8.374 15.656 266.47h92.906l-69.75-284.72 17.25-8.125 29.22 119.25 71.687-16.405L444 291.095l-105.844-123.97zM103.094 327.813c-1.266 3.364-1.97 7.008-1.97 10.812 0 16.984 13.767 30.75 30.75 30.75 3.754 0 7.363-.676 10.69-1.906l7.092-29.033-46.562-10.625zm306.812 0l-47.562 10.875 6.906 28.28c3.65 1.534 7.665 2.407 11.875 2.407 16.984 0 30.75-13.766 30.75-30.75 0-3.81-.706-7.448-1.97-10.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RobotGolem;

impl IconShape for RobotGolem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.688 18.406c-29.86 0-54.44 21.716-58.875 50.282H315.53c-4.428-28.566-28.983-50.282-58.842-50.282zm-104.313 9.282L81.75 99.094c26.37 25.22 50.43 39.66 69.438 45.53 20.595 6.364 34.156 3.076 41.53-4.468 2.482-2.538 4.475-5.84 5.813-9.875-12.5-13.88-20.124-32.236-20.124-52.31 0-5.28.527-10.45 1.53-15.44-7.117-10.973-16.213-22.668-27.56-34.843zm208.594 0c-11.35 12.174-20.452 23.87-27.564 34.843 1.004 4.99 1.53 10.16 1.53 15.44.002 20.074-7.63 38.43-20.123 52.31 1.334 4.036 3.33 7.338 5.812 9.876 7.374 7.544 20.935 10.832 41.53 4.47 19.01-5.873 43.068-20.313 69.44-45.532l-70.626-71.406zM197.843 87.374c4.008 25.464 24.02 45.487 49.5 49.47v-49.47h-49.5zm68.187 0v49.47c25.476-3.983 45.466-24.006 49.47-49.47h-49.47zm-52.655 55.72c-1.93 3.73-4.352 7.127-7.28 10.124-7.01 7.17-16.34 11.444-27.157 12.843 17.245 30.84 47.478 45.278 77.718 45.187 30.135-.09 60.314-14.62 77.594-45.188-10.75-1.42-20.024-5.706-27-12.843-2.926-2.994-5.323-6.4-7.25-10.126-12.413 8.293-27.313 13.156-43.313 13.156-16 0-30.893-4.863-43.312-13.156zm-105.72.905c-11.884 8.09-22.142 17.595-30.03 28.47 5.18 1.992 10.066 5.204 14.47 9.374.287.273.557.562.843.844 7.992-10.844 19.192-20.188 33-28.188-5.933-2.94-12.04-6.43-18.282-10.5zm297.814.156c-6.274 4.077-12.418 7.563-18.376 10.5 13.946 8.04 25.26 17.42 33.312 28.28.26-.258.518-.527.78-.78 4.39-4.208 9.27-7.476 14.44-9.53-7.928-10.863-18.222-20.373-30.157-28.47zM65.405 188.844c-4.14.03-8.71 1.797-13.937 6.812-5.23 5.016-10.76 13.247-15.595 24.78-9.03 21.54-15.567 54.52-16.406 98.19h91.75c-.836-44.038-7.38-77.138-16.407-98.626-4.833-11.502-10.363-19.67-15.563-24.594-5.2-4.924-9.704-6.592-13.844-6.562zm382.656 0c-4.14.03-8.71 1.797-13.937 6.812-5.228 5.016-10.758 13.247-15.594 24.78-9.03 21.54-15.566 54.52-16.405 98.19h91.75c-.835-44.038-7.38-77.138-16.406-98.626-4.833-11.502-10.364-19.67-15.564-24.594-5.2-4.924-9.703-6.592-13.844-6.562zm-164.5 37.53c-8.798 2.334-17.828 3.536-26.875 3.564-9.09.027-18.16-1.13-27-3.438-5.288 5.608-8.437 12.862-8.437 20.656 0 17.25 15.35 31.844 35.438 31.844 20.087 0 35.437-14.593 35.437-31.844 0-7.854-3.2-15.155-8.563-20.78zm-76 41.94c-20.808 10.54-39.378 28.066-52.937 52.248 5.276 2.285 10.287 5.71 15 10.188 12.49-23.23 29.974-38.884 49.25-47.5-4.683-4.264-8.518-9.31-11.313-14.938zm98.157.248c-2.83 5.618-6.727 10.63-11.44 14.875 19.213 8.67 36.67 24.287 49.19 47.282.062-.06.123-.13.186-.19 4.588-4.308 9.586-7.692 14.844-9.967-13.558-23.972-32.056-41.42-52.78-52zm-166.595 67.375c-5.454-.038-11.282 2.203-17.688 8.22-6.405 6.016-13.017 15.817-18.812 29.5-7.377 17.416-13.346 41.16-16.72 70.937 8.495-4.2 17.876-6.245 27.19-6.22 14.79.043 29.66 5.315 40.968 16.032 9.487 8.993 16.182 21.848 18.093 37.563h23.25c-.856-52.36-8.71-91.89-19.656-117.783-11.6-27.438-25.718-38.173-36.625-38.25zm234.97 0c-5.455-.038-11.252 2.203-17.658 8.22-6.405 6.016-13.048 15.817-18.843 29.5-10.943 25.835-18.774 65.513-19.625 118.312h23.217c1.898-15.826 8.58-28.72 18.094-37.72 11.325-10.712 26.243-15.917 41.033-15.875 9.298.026 18.658 2.098 27.125 6.313-3.368-29.494-9.328-53.09-16.688-70.5-11.6-27.44-25.75-38.174-36.656-38.25zm-336.126 1.375c-1.03 3.895-1.02 8.08.186 12.22 3.82 13.102 19.167 21.597 34.532 17.812 15.24-3.754 23.346-17.03 19.75-30.03l-54.47-.002zm382.655 0c-1.028 3.895-1.02 8.08.188 12.22 3.818 13.102 19.166 21.597 34.53 17.812 15.24-3.754 23.347-17.03 19.75-30.03l-54.468-.002zM113.03 457.063c-10.365-.03-20.612 3.615-28.155 10.75-5.935 5.615-10.374 13.43-12.03 24.157h80.436c-1.664-10.603-6.128-18.377-12.06-24-7.56-7.167-17.823-10.878-28.19-10.908zm287.22 0c-10.366-.03-20.582 3.615-28.125 10.75-5.935 5.615-10.405 13.43-12.063 24.157H440.5c-1.665-10.603-6.13-18.377-12.063-24-7.56-7.167-17.82-10.878-28.187-10.908z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rock;

impl IconShape for Rock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.813 23L68.75 72.28 39.5 182.095l47.53-21.22 10.44-4.655 2.5 11.155 8.75 39.125 6.405 28.53-21.75-19.53-15.72-14.125-28.218 32.344 140.657 136 9.656-40.69 7.53-31.874 10.407 31.063 54.72 163.592L432.343 465.5l45.75-202.938-84.563-148.718L228.814 23zm-57.688 49.875l-27.813 39.906-3.25 73.44-27.187-88.94 58.25-24.405zm17.844 93.406l113.124 155.25L407 355.407l-107.375-.844-110.656-128v-60.28zM79.312 330.25l140.125 153.125-5.563-65.875-134.563-87.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rocket;

impl IconShape for Rocket {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.78 25.97c2.6 25.278 9.316 48.72 19.532 69.75l-21.218-6.564L73.53 146.72l-.843-1.782c16.737 17.29 36.797 31.38 59.438 41.593-13.546-18.845-21.597-41.677-22.03-69.28 27.78.35 50.396 8.56 69.25 22.063-.627-1.4-1.284-2.776-1.94-4.157l.72.625-34.438-86.655-2.53 33.844c-30.974-31.598-73.044-52.084-122.376-57zm236.814 31.593L217.22 160.875c-30.663 7.52-54.566 32.236-60.907 63.344l-.188-.22-106.563 39.563 74.313 74.312 93-8.03.375-.033 23.03-2.468-77.31-94.938 13.28-13.28 89.406 109.75 10.875 13.374-17.124 1.844-28.22 3.03c14.52 17.126 30.304 33.143 47.22 47.907 7.62-56.784 52.175-102.042 108.625-110.717-14.72-16.738-30.68-32.346-47.75-46.688l-2.78 26.125-1.844 17.125L321.28 270l-107.874-88.03 13.25-13.25 93.094 75.905 2.22-20.844 7.905-91.936-74.28-74.28zM401.53 301.625c-8.783.408-17.306 1.827-25.436 4.156l13.875 16.908c7.51-2.534 15.37-4.323 23.467-5.282-3.863-5.344-7.814-10.62-11.906-15.78zm-43.78 11.25c-7.323 3.61-14.204 7.994-20.5 13.063l15.75 17.28c5.92-4.876 12.318-9.16 19.125-12.812l-14.375-17.53zm68 22.438c-7.92.117-15.616 1.157-22.97 3.03l14.5 17.688c6.108-1.82 12.447-3.043 18.97-3.686-3.387-5.76-6.865-11.445-10.5-17.03zm-102.03 3.53c-6.713 7.584-12.4 16.116-16.845 25.344l17.313 14.125c4.28-7.958 9.44-15.37 15.375-22.093l-15.844-17.376zm60.467 6.282c-6.67 3.247-12.908 7.267-18.625 11.875l16.282 17.875c5.34-4.382 11.15-8.233 17.312-11.47l-14.97-18.28zm-32 24.938c-5.204 6.153-9.673 12.96-13.25 20.28l17.97 14.688c3.305-6.06 7.202-11.76 11.624-17l-16.342-17.967zm94.094.218v.22c-45.915 0-82.96 36.985-83.06 82.875 39.248 20.8 81.966 35.93 127.06 44.313-8.284-45.328-23.3-88.145-44-127.407zM299.94 382.626c-2.38 8.6-3.743 17.625-3.97 26.938 4.937 3.885 9.96 7.664 15.063 11.343.93-8.58 2.75-16.88 5.44-24.812l-16.533-13.47zm32.156 26.25c-2 7.785-3.073 15.96-3.094 24.375 5.28 3.43 10.632 6.727 16.063 9.938.72-6.992 2.156-13.776 4.218-20.282l-17.186-14.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RocketFlight;

impl IconShape for RocketFlight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M482.22 44.844l-50.533 46.25-21.937 57.22c-34.637 15.445-47.955 24.442-61.47 74.874l39.564-17.657-1.875 32.095 37.342 14.344 21.75-24.5 17.625 39.56c24.52-42.467 25.663-63.24 4.282-96.78l21.936-57.22-6.687-68.186zM389.093 263.22c-16.33 25.16-38.017 48.57-63.063 68.217-.022.018-.038.045-.06.063-37.302 23.693-83.27 29.138-118.095 15.688 16.236 15.056 37.635 20.705 59.156 19.156-49.41 14.874-102.32 9.118-139.624-14.28 14.142 19.334 34.493 31.22 56.97 36.592-58.93 3.328-117.894-19.792-162.44-84l.002 168.03c65.91 28.65 135.148 19.62 196.218-11.56l-16.97 35.78 88.126-85.03h-.093c2-1.796 3.973-3.6 5.936-5.438l-11.28 43.937 59.812-99.438c19.668-27.56 35.253-57.384 45.406-87.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rogue;

impl IconShape for Rogue {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M377.47 20.72l-16.283 9.186 22.844 40.47-114.405-10.25-13.03 14.812-4.47 27.5c-36.887 12.27-63.294 26.753-83.375 46.03-22.722 21.813-38.17 50.42-51.75 90.5l-31.25 3-12.844 14.595 2.53 106.062c-3.8 1.61-7.374 3.92-10.56 6.906-.12.113-.228.232-.345.345l-39-25.53L15.28 360l39.595 25.875c-3.366 11.778-.637 25.006 8.344 34.594 7.98 8.52 19.12 12.27 29.905 11.186l30.688-48.375c-.246-.212-.505-.41-.75-.624-1.62-4.136-4.03-8.03-7.25-11.47-2.524-2.693-5.36-4.913-8.407-6.655l8.78-79.124 90.658-.656c-8.33-27.148-2.43-56.865 18.562-76.53 13.287-12.448 30.203-18.614 47.563-18.907 6.4-.11 12.852.597 19.217 2.062l6.22-85.938 74.124-3.343c.967 7.163 4.09 14.104 9.408 19.78 3.314 3.54 7.157 6.263 11.312 8.157l.375.5 50.125-27.405c1.763-10.675-1.284-22.027-9.25-30.53-8.932-9.538-21.832-13.137-33.75-10.626l-23.28-41.25zm87.186 92.31l-75.125 41-4.81 25.626 31.624-16.406c30.88 48.452 54.04 102.334 74.062 158.438 12.075-66.802 1.912-127.814-22.812-185.032l23.062-11.97-26-11.655zm-191 94.876c-13.12.182-25.73 4.814-35.47 13.938-22.26 20.854-22.1 58.245 1.876 83.844 23.98 25.6 61.27 28.23 83.532 7.375 22.26-20.855 22.104-58.274-1.875-83.875-13.49-14.4-31.194-21.516-48.064-21.282zm-95.937 174.28l-33.282 3.408-41.907 66.125 10.907 31.06 15.063-23.56c54.545 27.254 113.684 40.662 179.75 33.124-53.016-22.93-103.78-48.64-149.063-81.156l18.532-29z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RollingBomb;

impl IconShape for RollingBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M335.063 18.47L351.406 50l-125.562-5.25 23.375 14.594L114.312 105.5l46.718 4.656-121.593 91.03 34.063-8.5L24 301.938 135.344 153.97l126.72-60.157-8.752 18.093 106.282-21.03-33.875 34.468 66.467-14.125 25.875-19.814-4.093-24.594-25.75-46.593-.595 32.718-52.563-34.47zM136.47 45.562l-44.126 4.5 40.625 15.53 78.186-7.093-74.687-12.938zm299.81 41.374l1.158 6.907.937 5.562-4.47 3.406-2.936 2.25c21.198 10.998 35.443 31.69 39.905 54.47 3.217 16.425 1.528 33.693-6.688 49.218l10.407 17.875c14.85-21.558 19.235-47.146 14.625-70.688-5.718-29.19-24.874-55.763-52.94-69zM105.814 95.53l-55.876 5.75-31.874 24.376 39.5.813 48.25-30.94zm166.468 71.376c-55.766.386-109.805 29.512-139.75 81.375-44.958 77.872-18.37 177.167 59.5 222.126 77.872 44.96 177.167 18.34 222.126-59.53 44.96-77.872 18.37-177.167-59.5-222.126-24.334-14.05-50.76-21.09-76.97-21.78-1.8-.05-3.606-.076-5.405-.064zM440.095 204.5l-23.625 13.75c11.814 15.223 20.996 32.132 27.405 50l24.875-14.47-28.656-49.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RollingEnergy;

impl IconShape for RollingEnergy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M247.938 22.512c-5.385.044-10.847.333-16.383.88 49.65 15.005 92.127 46.742 123.267 86.678-74.16-71.848-204.8-83.864-278.77 6.287 31.555-16.907 66.822-25.68 102.405-27.865C84.727 118.84 4.497 225.975 21.87 343.362c5.088-48.045 28.862-89.52 61.384-123.923-38.258 74.284-32.22 171.41 40.635 231.185-25.41-47.422-33.08-102.405-25.536-154.338-1.3 105.1 83.482 210.304 201.582 198.656-49.652-15.006-92.126-46.743-123.266-86.68 77.723 65.68 198.16 66.868 278.77-6.288-118.67 44.753-214.692 21.26-272.243-27.8-59.206-40.744-78.126-121.06-41.584-184.353 6.683-11.574 14.79-21.82 23.967-30.66 2.78-3.18 5.636-6.203 8.598-9.074 2.31-1.3 4.622-2.572 6.935-3.824 24.733-17.675 54.666-26.8 84.914-26.028 22.46.573 45.09 6.594 65.88 18.598 44.02 25.415 68.904 71.378 69.593 118.842.616 3.487.957 7.07.957 10.734 0 33.88-27.466 61.344-61.346 61.344-33.877 0-61.342-27.465-61.342-61.344 0-1.698.083-3.376.218-5.04 5.484 18.857 22.88 32.644 43.504 32.644 25.027 0 45.315-20.29 45.315-45.315 0-24.785-19.903-44.912-44.596-45.298-4.936-.814-10-1.246-15.167-1.246-51.192 0-92.69 41.5-92.69 92.69s41.5 92.687 92.69 92.687c1.038 0 2.07-.023 3.1-.056-.168.064-.333.132-.5.195 4.182-.188 8.29-.544 12.336-1.03 52.59-.886 123.364-25.954 154.09-71.7-18.303 8.484-35.666 14.587-52.488 16.763 6.463-7.52 12.304-15.603 17.482-24.133 36.147-44.718 64.673-112.748 53.784-168.2-7.195 19.63-15.35 37.046-25.623 51.583-3.217-46.517-23.284-92.15-63.62-125.244 25.406 47.422 33.076 102.404 25.532 154.337 1.24-100.173-75.723-200.44-185.2-199.535z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RootTip;

impl IconShape for RootTip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.508 18.453l-.002 149.908 61.26 49.667 59.757 124.543-9.488-110.738C88.835 182.608 56.58 126.518 67.12 58.338l18.47 2.855c-7.312 47.297 8.4 88.472 33.44 126.67l77.745 43.094 83.868 183.8c70.454 33.943 140.91 58.63 211.365 72.423-47.672-21.634-93.83-50.913-131.332-90.717l-62.45-11.06 3.256-18.4 13.06 3.25 117.42 18.155c-52.808-19.54-101.05-43.642-132.01-85.03-10.244-24.453-17.846-51.365-22.16-81.007-23.356-4.888-46.4-13.233-68.97-25.49l8.92-16.423c26.233 14.248 52.854 22.748 80 26.426l46.75 2.033 146.23 150.81c-18.12-52.077-51.543-121.06-88.19-177.67-30.968-13.506-61.174-15.44-91.886-5.587l-5.71-17.798c14.194-4.553 28.47-6.83 42.746-6.926 2.04-.014 4.078.017 6.117.092 26.897.987 53.746 9.68 79.973 25.42 16.215 8.164 32.85 17.73 50.288 28.525-33.99-44.3-65.738-83.98-117.208-99.594l-.004-.007-23.94 15.336c-36.26 17.486-88.188 18.165-135.264-8.645-21.56 7.324-42.96 12.01-64.166 13.527l-1.334-18.64c26.348-1.886 53.598-9.242 81.577-21.08-18.115-6.645-36.81-15.81-54.095-26.082-22.913-13.617-43.004-28.54-55.545-42.147zM141.354 370.49l-1.4 71.356c38.483 37.214 86.748 46.007 139.91 54.564-64.332-36.743-109.837-71.915-138.51-125.92z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RosaShield;

impl IconShape for RosaShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.875 20.844c-61.545.405-123.647 9.54-187.47 27.812L59.938 50.5l-.28 6.72c-6.405 147.46 49.12 346.625 192.28 429.28l4.688 2.688 4.656-2.688c139.03-80.27 201.88-281.764 195.376-429.28l-.125-5.907-6.624-2.657c-63.63-18.215-126.57-27.65-190.062-27.812-1.984-.005-3.984-.013-5.97 0zm.344 18.625c1.86-.013 3.73-.006 5.593 0 59.47.15 118.43 8.782 178.28 25.343 3.956 139.034-57.428 327.223-181.468 402.625-128.09-77.646-182.55-263.02-178.438-402.594C138.233 48.228 196.493 39.838 254.22 39.47zM258 56.03l-28.438 126.72-45.312-25.313 26.97 48.25-92.5 26.157 91.655 25.937-26.688 47.72 45.625-25.5 28.657 127.688 28.655-127.625 45.875 25.656-26.72-47.814 91.845-26-92.75-26.25 27.063-48.406-45.5 25.438L258 56.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rose;

impl IconShape for Rose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M281.31 21.217L239.997 127.13l76.01 103.673 97.135-7.532-3.1-79.284-78.2-12.468-1.61 41.535 29.11 7.568-.766-14.1 18.662-1.012 2.15 39.635-68.41-17.788 3.004-77.61 68.65 10.946-2.456-86.044-98.863-13.43zM243.63 66.39l-73.702 39.917L195.885 243.7l141.306 80.704 154.447-80.037-11.252-142.205-79.617-.988.642 22.512 26.705 4.257 4.403 112.57-125.436 9.727-88.227-120.338 24.774-63.51zm-93.107 88.706c-2.992-.017-6.01.004-9.054.06-9.456.174-19.425.853-29.44 1.594 9.427 13.32 18.694 26.165 30.157 35.938 7.894 6.73 16.835 12.308 28.075 16.056l-10.1-53.453c-3.184-.11-6.396-.176-9.64-.194zm25.57 84.51c-14.278 5.27-27.16 13.25-39.437 23.55-17.875 14.995-34.273 35.22-50.625 58.47 56.9 2.6 100.16-6.41 147.316-35.01l-54.223-30.966-3.03-16.045zm270.854 48.968l-50.64 26.244c27.874 20.83 54.865 27.206 90.162 28.557-8.76-21.213-22.617-39.484-39.523-54.8zm-189.853 4.895c-14.566 9.75-28.84 17.8-43.156 24.342.37 10.843 2.813 19.703 6.968 26.47-29.49 37.69-61.714 72.017-96.78 102.843-17.584-1.215-24.577-19.137-17.845-37.344-22.758 18.074-30.427 42.166-20 68.376-6.832 5.23-13.75 10.354-20.78 15.344h45.344c25.65-20.11 49.915-41.82 72.844-65.094 29.485 9.192 54.05-1.51 69.625-27.97-14.975 8.052-31.217 5.627-37.438-6.686 9.653-11.06 19.037-22.436 28.156-34.125 7.25 1.21 15.586.57 24.72-2.03-8.863-17.974-13.326-39.19-11.656-64.126zm18.133 17.065c1.205 25.213 10.463 44.01 24.648 60.12 17.914 20.346 44.73 35.942 73.625 50.814 7.79-33.575 9.555-62.664-2.05-93.77l-34.692 17.978-61.53-35.143z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoughWound;

impl IconShape for RoughWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M378.744 133.25c-238.248 24.048-68.733 98.574 81.488 161.753-254.586-53.513-69.623 96.14 22.624 194.884-97.054-61.694-215.83-120.378-320.06-142.827 234.825-17.035 26.77-138.346-134.27-172.088 185.74-1.445 164.326-12.097 8.96-152.757 131.684 75.394 215.833 97.65 341.26 111.038z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundBottomFlask;

impl IconShape for RoundBottomFlask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.336 18.547l39.486 92.598c15.428 5.19 30.466 4.96 46.135.003l34.246-92.6H196.336zM163.73 35.12l4.58 12.55c8.285 22.705 21.58 45.92 28.958 67.684 7.376 21.764 9.1 40.382-3.14 57.646-13.68 19.295-38.588 39.036-60.622 62.426S91.95 286.95 91.95 323.506c0 90.996 73.863 165.607 164.91 165.607 91.046 0 165.607-74.562 165.607-165.607 0-36.353-18.633-64.975-40.346-88.727-21.712-23.752-46.847-43.572-62.23-62.305-9.18-11.176-8.083-34.136-.88-58.948 7.202-24.812 19.265-50.037 25.908-65.34l5.67-13.066H330l-32.982 89.187c-4.628 21.963-4.8 43.92 8.43 60.03 17.494 21.302 42.586 40.852 62.88 63.052 20.295 22.198 35.45 46.107 35.45 76.116 0 80.852-66.064 146.92-146.92 146.92-80.853 0-146.22-66.015-146.22-146.92 0-29.948 15.754-53.275 36.47-75.266 20.72-21.99 46.04-41.55 62.263-64.43 16.084-22.685 13.952-48.6 6.29-72.304l-24.262-56.893c-.116-.265-.242-.538-.357-.802h.017l-7.97-18.69H163.73zm93.225 202.234c-29.526 0-56.244 4.575-74.752 11.5-9.254 3.462-16.414 7.55-20.732 11.37-3.928 3.476-5.263 6.203-5.474 8.42h-.267c0 15.347 7.808 29.99 20.916 41.887-.505-.217-1.025-.427-1.523-.65-10.727-4.78-19.682-10.378-26.387-16.952-2.23-2.187-4.24-4.532-5.937-7.02-7.48 12.14-12.415 25.588-12.415 41.14 0 69.77 56.745 127.132 126.517 127.132 69.772 0 127.13-57.36 127.13-127.13 0-15.723-4.923-29.484-12.39-41.93-1.802 2.782-4 5.39-6.466 7.808-6.705 6.574-15.66 12.17-26.387 16.953-.444.198-.908.385-1.356.58 13.06-11.885 20.837-26.5 20.837-41.817h-.354c-.21-2.216-1.546-4.943-5.475-8.418-4.317-3.82-11.477-7.91-20.73-11.37-18.51-6.926-45.23-11.5-74.755-11.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoundStruck;

impl IconShape for RoundStruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M444.098 19.16l-75.114 117.7-60.69-29.085L286.5 164.12c-11.048-3.82-22.37-5.51-33.496-5.257-12.552.285-24.847 3.042-36.21 7.955l-20.16-7.437 34.79-70.763L18.862 66.38l117.697 75.116-29.087 60.686 56.36 21.804c-8.05 23.45-6.478 48.13 2.763 69.5l-7.516 20.37-70.758-34.79-22.24 212.56 75.113-117.698 60.688 29.088 21.887-56.58c23.334 8.013 47.888 6.495 69.185-2.625l20.596 7.598-34.792 70.76 212.562 22.24-117.697-75.115 29.082-60.688-56.557-21.88c8.102-23.41 6.6-48.063-2.56-69.434l7.512-20.358 70.757 34.79 22.24-212.562zM253.326 177.482c3.33-.07 6.683.098 10.04.467-27.333 6.483-47.673 31.032-47.673 60.35 0 34.263 27.777 62.04 62.04 62.04 22.998 0 43.055-12.522 53.77-31.11-.914 4.94-2.313 9.866-4.24 14.717-15.896 39.996-60.943 59.42-100.94 43.524-39.994-15.894-59.42-60.94-43.524-100.937 11.92-29.994 40.24-48.418 70.526-49.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RoyalLove;

impl IconShape for RoyalLove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M368.916 38.908c-15.49.145-31.22 3.356-46.316 9.82-40.01 25.788-50.568 67.182-60.502 109.32 44.02-10.522 87.27-21.872 112.422-65.44l.005 145.12c-25.506-44.172-68.58-55.153-112.44-65.492 10.338 43.86 21.32 86.932 65.493 112.436l-145.12-.002c43.563-25.152 54.914-68.402 65.435-112.42-43.837 10.336-86.88 21.325-112.375 65.48l.002-145.12c25.14 43.545 68.36 54.902 112.357 65.417-9.795-40.978-20.336-81.273-56.916-106.922-75.954-34.415-171.507 8.28-168.19 112.21 4.593 143.862 210.47 227.71 232.626 310.408 20.28-75.672 236.27-172.54 231.944-310.407h.002C484.876 84.78 430.587 39.92 372.01 38.92c-1.03-.018-2.06-.02-3.094-.012zM255.094 306.645c15.93 0 28.844 12.913 28.844 28.843s-12.914 28.846-28.844 28.846c-15.93 0-28.844-12.916-28.844-28.846s12.914-28.843 28.844-28.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Rss;

impl IconShape for Rss {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.344 15.656c-1.834 41.508-21.638 86.793-58.313 123.47-36.46 36.464-81.78 56.622-123.093 58.655 50.013 17.25 107.817 5.874 147.72-34.03 39.9-39.904 51.21-97.952 33.687-148.094zM21.28 20.376v115.968c9.573 3.68 20.1 5.844 30.845 5.844 47.224 0 85.094-37.857 85.094-85.063 0-12.952-3.6-25.453-9.126-36.75H21.28zm261.064 4.218c-2.53 57.284-29.825 119.79-80.438 170.406-50.32 50.323-112.865 78.132-169.875 80.938 69.022 23.803 148.777 8.1 203.845-46.97 55.27-55.273 70.648-135.174 46.47-204.374zM370 27.25c-3.388 76.7-39.92 160.386-107.688 228.156-67.376 67.38-151.135 104.617-227.468 108.375 92.413 31.87 199.205 10.833 272.937-62.905 74.006-74.01 94.596-180.97 62.22-273.625zm101.75 22.03c-4.192 94.902-49.43 198.427-133.28 282.283-83.365 83.37-186.99 129.475-281.44 134.125 114.347 39.432 246.492 13.42 337.72-77.813 91.567-91.574 117.06-223.95 77-338.594z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Run;

impl IconShape for Run {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.97 24.938c-8.67.168-17.816 3.644-26.69 10.28-12.618 9.44-24.074 25.203-30.5 44.844-6.424 19.642-6.48 39.12-1.874 54.157 4.608 15.036 13.375 25.225 24.97 29 11.593 3.772 24.724.72 37.343-8.72 12.618-9.44 24.074-25.234 30.5-44.875 6.424-19.642 6.512-39.12 1.905-54.156-4.607-15.038-13.404-25.196-25-28.97-2.9-.944-5.88-1.465-8.938-1.563-.573-.018-1.14-.01-1.718 0zm-155.69 69.78c-21.696.024-43.394 2.203-65.093 7.094-24.91 29.824-43.848 60.255-52.875 98.47l37.376 17.812c8.273-30.735 21.485-53.817 43.375-77 22.706-7.844 45.418-6.237 68.125 1.5-74.24 65.137-51.17 120.676-80.344 226.47-42.653 17.867-85.098 20.53-123.25-.002L23 415.625c59.418 27.09 125.736 29.818 190.844 0 20.368-43.443 27.214-88.603 25-132.906C295.31 354.663 323.11 398.2 338.78 498.56h57.94c-3.12-14.706-6.21-28.394-9.345-41.218-22.522-92.133-47.263-139.63-100.22-198.406 9.695-36.13 22.143-59.665 52.44-74.282 11.167 19.767 29.982 36.682 51.092 48.906l97.375 1.563.47-41.03L402 191.968c-8.05-5.556-14.925-11.73-20.75-18.314-14.886 9.08-32.024 12.563-48.156 7.313-18.422-5.997-31.143-21.962-37.063-41.282-3.482-11.37-4.742-24.05-3.686-37.25-25.017-4.884-50.047-7.746-75.063-7.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RuneStone;

impl IconShape for RuneStone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M153.568 20.424L109.13 70.79l63.696 291.11-18.746 1.758L92.266 81.143 36.588 137.73 110.28 427.7l41.2-47.26 13.286 13.2-43.715 50.147L322.1 491.56l53.714-49.52-192.472-50.067 5.084-17.99 199.982 52.023 103.87-195.3-68.82-127.98-269.888-82.302zm81.912 51.892c80.62.774 168.87 79.368 155.422 164.98-28.148-67.998-92.725-132.962-165.6-115.685-63.013 14.94-5.186 80.4 65.82 97.693C369.54 238.4 459.874 302.575 400.1 365.79c-55.167 58.34-159.148 2.03-150.717-67.73 17.855 32.638 81.77 85.592 120.695 43.436 54.56-59.084-77.733-93.542-122.27-112.883-45.846-19.903-138.904-86.006-81.083-133.1 20.11-16.38 44.074-23.433 68.753-23.197zm21.893 61.647c7.13.043 15.174.844 23.918 2.453-25.35 11.378-30.295 31.156-25.52 54.936-48.725-35.784-36.897-57.624 1.603-57.39zm140.693 21.39c38.708 17.26 53.486 66.86 8.854 96.036 6.68-32.38 6.314-64.494-8.854-96.038zM246.77 246.485c5.027.003 10.616 1.487 15.886 4.53 12.047 6.955 17.874 19.418 13.014 27.836-4.86 8.417-18.567 9.603-30.613 2.648-12.047-6.955-17.872-19.418-13.012-27.836 2.734-4.735 8.265-7.18 14.726-7.178z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct RuneSword;

impl IconShape for RuneSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M495.063 17.063L323.375 64.374 19.03 368.72v56.155l297.47-297.47c22.103-22.1 44.235-31.255 61.656-30.53 38.327 1.594 54.864 49.01 5.844 98.03L85.312 493h54.72L446 187.03l49.063-169.968zM360.78 126l-18.686.313.375 22.968-22.97-.374-.313 18.688 23.594.406.408 23.594 18.687-.313-.375-22.968 22.97.375.31-18.687-23.592-.406L360.78 126zm-69.092 61.5l-18.22 4.125 7.188 31.906 1.313 5.876 5.874 1.22 31.22 6.593 3.873-18.282-13.593-2.875 12.53-12.5-13.218-13.22-13.312 13.313-3.656-16.156zm-49.72 38.25l-2.25 28.156-27.468 1.813 1.25 18.655 30.844-2.03 17.937 17.936 13.22-13.217-17.5-17.5 2.594-32.313-18.625-1.5zm-43.437 55.625l-18.28 3.875 7.22 34.125-34.845-6.875L149 330.844l48.72 9.594 13.874 2.718-2.938-13.844-10.125-47.937zm-57 76.094l-16.78 16.78L97.062 368l-4.093 18.25 26.06 5.875 5.345 25.344 18.313-3.845-5.375-25.53 17.437-17.408-13.22-13.218zm-57.155 44.936l-18.688.313.376 22.967-22.938-.375L42.812 444l23.563.375.406 23.594 18.69-.314-1.095-65.25zm-53.844 66.03l-11.5 11.533V493h13.407l11.313-11.344-13.22-13.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaberSlash;

impl IconShape for SaberSlash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M275.03 20c35.223 49.563 53.59 113.64 55.69 173.47C315.154 143 289.092 88.423 250.81 48.75c40.294 79.527 51.15 172.312 37.938 256.094-12.287-75.777-40.564-159.524-92.375-227.156 29.6 70.937 36.64 149.785 24.813 221.843-8.745-51.804-25.41-107.4-52.594-158.81 13.023 54.315 12.854 107.64 3.437 159.28l21.657 6.813 15 4.718-11.28 10.908c-10.68 10.332-19.868 21.905-27.345 34.343 93.614 35.486 232.952 64.53 298.032 41.376-41.02 56.466-210.332 13.822-309.313-18.687-1.514 3.775-2.918 7.594-4.124 11.467-3.014 9.686-5.023 19.61-6.062 29.657l176.47 66.375c98.5 31.095 150.5-24.62 158.655-81.72C505.253 254.472 485.016 105.66 426.06 20h-22.187c40.092 65.52 66.67 154.216 60.47 255.344-8.154-79.833-42.8-157.214-98.44-219.5 38.676 85.094 56.566 185.746 34.376 288.625.057-118.816-33.1-225.865-105.092-324.47H275.03zm-110.186 1.594c41.255 29.176 74.328 74.093 97.5 120.656-7.702-46.15-21.3-86.79-44-120.656h-53.5zm176.375 0c28.882 15.143 52.096 36.614 71.28 66.78-7.14-27.79-17.217-49.85-31.438-66.78H341.22zM123.686 304.406c2.528 21.65 1.07 43.31-4.062 64L18.812 336.344V366l91.938 29.094c-7.38 17.44-17.563 33.767-30.313 48.28l50.094 15.75c-3.038-24.898-1.136-49.885 6.282-73.718 7.446-23.92 20.223-46.108 37.032-65.22l-50.156-15.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaberTooth;

impl IconShape for SaberTooth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M107.938 17.313c-64.05-.594-139.82 178.305-40.157 337.78C46.42 198.208 89.32 135.292 120.22 98.75c-5.237 44.174 3.966 104.642 35.186 171.313-3.883-99.417 20.93-155.205 37.688-188.813-2.532 40.235 9.096 98.635 32.28 158.688 6.373-75.308 23.287-126.69 30.564-160.094 7.276 33.403 24.19 84.782 30.562 160.094 23.203-60.1 34.806-118.544 32.25-158.782 16.757 33.598 41.637 89.394 37.75 188.906 31.22-66.67 40.424-127.138 35.188-171.312 30.9 36.54 73.765 99.462 52.406 256.344 118.12-189.008-10.15-405.3-73.313-317.72-.614.853-1.19 1.676-1.717 2.5-12.798-14.073-29.877-18.707-49.125-11.03-7.397 2.95-11.8 6.116-13.97 9.906-7.806-9.65-19.195-13.25-34.468-8.97-7.67 2.15-12.638 5.573-15.563 10.47-2.926-4.89-7.9-8.32-15.562-10.47-15.254-4.276-26.63-.684-34.438 8.94-2.175-3.78-6.62-6.933-14-9.876-19.248-7.677-36.296-3.043-49.093 11.03-.528-.824-1.104-1.647-1.72-2.5-9.868-13.684-21.325-19.952-33.186-20.062zm12.312 254.03c-38.28 148.97 18.404 251.585 73.938 216.688 7.56-4.75 11.073-9.09 11.593-13.905 8.243 11.194 20.33 15.146 36.47 9.938 7.026-2.268 11.393-5.666 13.688-10.375 2.294 4.71 6.66 8.107 13.687 10.375 16.14 5.208 28.227 1.256 36.47-9.938.52 4.816 4.032 9.155 11.592 13.906 55.534 34.898 112.218-67.716 73.938-216.686-15.7 109.287-57.585 155.766-76.313 181.97 9.146-34.875 3.78-94.316-14.25-163.564-13.933 79.56-38.066 129.646-45.125 159.563-7.06-29.918-31.192-80.01-45.125-159.563-18.03 69.248-23.364 128.69-14.218 163.563-18.727-26.203-60.645-72.682-76.344-181.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SabersChoc;

impl IconShape for SabersChoc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M286.313 15.688l-27.344 93.437-99.345-81.188 2.844 59.626-62.5-71.313 55.405 155.094L45.53 153.656l71.44 67.813-99.5 41.81 113.968 24.095-66.875 97.75 86.718.47.27-.16-53.226 76.985 98.78-66.066 25.552 94.302L283.5 384.75l51.313 99.97-20.25-102.876L429.53 424.5l-41-125.594 74.22-90-88.25-9.03 98-112.19-118.53 76.5 12.436-120.25-70.625 74.97-9.467-103.22zm-64.22 92.218c-1.85 32.582 5.535 54.595 29.22 88.75 3.503 5.053 7.998 11.39 13.218 18.5 27.253-31.716 53.06-65.5 72.283-95.875 9.52 26.452-16.487 79.21-51.032 123.75 14.97 18.868 32.62 39.58 51.033 57.97l17.78-17.78 13.22 13.217-23.657 23.657 42.03 42.03-13.217 13.22-42.033-42.03-23.656 23.655-13.217-13.22 18.187-18.188c-17.205-16.823-34.137-35.352-49.97-54.937-12.22 12.986-24.73 24.26-36.56 32.563 5.864 14.06 3.938 31.497-11.75 47.187l-23.657-23.688-48.657 48.657-13.22-13.22 48.626-48.624-23.625-23.656c15.812-15.81 35.026-16.877 50.094-9.688 12.003-11.6 24.51-24.447 37.032-38.062-12.025-16.877-23-34.274-32.468-51.844-23.307-43.25-21.733-65.31 14-82.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SacrificialDagger;

impl IconShape for SacrificialDagger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M51.438 20.344c-.53.008-1.067.03-1.594.062-8.444.54-16.707 4.267-22.688 11.063-11.96 13.59-10.622 34.6 2.97 46.56 10.514 9.256 25.48 10.558 37.25 4.376 25.11 37.356 71.58 79.415 109.75 98.656l-54.763 62.22-75.75-35.29 60.188 52.973-.112.13 15 13.186L261.51 115.415l.02.033 19.35-21.986-74.84-65.868 44.355 70.222-58.05 65.967c-22.824-35.32-69.262-77.595-109.69-98.624C87.444 52.636 84.31 37.82 73.72 28.5c-6.372-5.607-14.352-8.287-22.282-8.156zm.968 18.562c3.184.107 6.34 1.312 8.97 3.625 6.008 5.29 6.57 14.18 1.28 20.19C57.368 68.727 48.51 69.29 42.5 64c-6.01-5.29-6.603-14.177-1.313-20.188 2.645-3.005 6.213-4.643 9.844-4.874.455-.03.92-.047 1.376-.032zM243.78 163.812L190.376 224.5l303.28 266.938c6.093-69.34-117.503-205.138-172.186-258.313-13.02 11.276-32.71 11.51-46-.188-13.484-11.865-15.638-31.819-5.626-46.218l-26.063-22.907z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SadCrab;

impl IconShape for SadCrab {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M406.125 63.5c-2.77-.006-5.507.245-8.22.75-.77.143-1.53.317-2.28.5 31.724 13.294 45.583 80.38 32.938 128.75-27.244-19-52.83-48.975-69.125-85.594-3.936 17.603-3.088 38.91 3.562 61.063 14.06 46.84 49.064 81.22 81.438 82.03 2.413 7.61 3.62 15.377 3.062 22.094-.574 6.91-2.73 12.567-6.75 16.937-2.736 2.975-6.457 5.54-11.813 7.345-11.156-26.96-54.428-49.023-111.875-58.406l7.782-26.94c8.59-1.858 15.03-9.477 15.03-18.624 0-10.544-8.55-19.094-19.093-19.094s-19.092 8.55-19.092 19.094c0 5.097 2.025 9.708 5.28 13.125l-8.656 29.907c-13.79-1.51-28.198-2.343-43.062-2.343-12.62 0-24.942.588-36.813 1.687l-8.312-28.75c4.017-3.5 6.563-8.628 6.563-14.374 0-10.544-8.55-19.062-19.094-19.062s-19.094 8.518-19.094 19.062c0 8.508 5.56 15.72 13.25 18.188l7.875 27.187c-60.053 8.706-105.796 31.093-117.78 58.72-6.512.095-11.185-1.353-14.72-3.5-4.69-2.85-7.91-7.31-10-13.53-1.948-5.8-2.573-13.033-2.094-20.533 30.84 5.723 70.265-21.42 91.19-64.125 7.964-16.257 12.164-32.583 12.874-47.406-22.317 26.172-51.152 45.68-79.5 56.5-2.78-45.638 26.937-103.885 62.53-103.687.704.003 1.42.043 2.126.093-4.063-4.068-8.93-7.238-14.563-9.282-4.936-1.79-10.156-2.61-15.562-2.56-29.19.264-63.354 26.15-82.313 64.843-19.433 39.662-16.518 79.807 5.063 97.343-1.662 11.733-1.12 23.82 2.563 34.78 3.15 9.38 8.978 18.053 18 23.533 7.033 4.27 15.684 6.4 25.562 6.155 9.402 9.173 18.922 17.656 29.375 25.22C92.165 360.824 83.33 393.616 84 429.5l18.688-.375c-.648-34.763 8.662-63.02 25.937-78.03 5.72 3.274 11.766 6.282 18.22 9.03-10.153 19.133-14.64 43.44-14.157 69.375l18.687-.375c-.466-25.03 4.23-46.694 13.344-62.47 5.153 1.6 10.558 3.06 16.25 4.345-3.35 16.865-4.853 36.836-4.657 58.406L195 429.22c-.187-20.688 1.315-39.628 4.344-54.783 16.303 2.444 34.742 3.75 55.906 3.75 25.547 0 47.04-1.858 65.625-5.312.082.386.17.765.25 1.156 3.083 15.22 4.595 34.32 4.406 55.19l18.69.186c.197-21.862-1.338-42.087-4.783-59.094-.108-.537-.23-1.062-.343-1.593 5.266-1.43 10.307-2.996 15.094-4.72 10.175 15.957 15.462 38.65 14.968 65.125l18.656.375c.514-27.556-4.59-53.282-16.125-72.906 5.594-2.73 10.886-5.675 15.938-8.844 20.01 13.876 30.888 43.84 30.188 81.375l18.687.375c.718-38.435-9.458-73.327-32.844-93.03 7.506-5.86 14.638-12.214 21.688-19 12.43-2.21 22.325-7.357 29.156-14.783 7.275-7.907 10.788-17.947 11.625-28.03.755-9.095-.477-18.37-3.063-27.25 28.068-12.473 39.56-55.32 25.594-101.845C474.44 98.2 438.8 63.566 406.126 63.5zm-71.188 206.188l51.532 43.53-45.626-22.28-32.156 35.187-5.782 6.344-6.812-5.25-41.97-32.314-32.905 34.28-6.69 7.002-6.75-6.97-32.905-33.968-40.063 20.125 47.032-39.75 1.656 1.688 30.938 31.937 32-33.344 5.812-6.062 6.625 5.125 41.813 32.217 31.062-34 3.188-3.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Salamander;

impl IconShape for Salamander {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.625 29.53c-12.538-.106-25.858 3.616-39.28 12.564 77.186 8.638 65.824 91.408 14.093 106.22-65.397 18.72-131.322-23.752-98.344-99.22-39.672 18.982-42.17 80.845-12.938 111.47 69.51 72.817-14.83 123.93-34.47 45.624C9.5 331.743 93.523 493.498 291.813 493.5c250.698-.002 252.782-333.456 100-373.844 86.185 87.665-74.57 189.996-62.437 34.656-27.695 69.08-76.458 7.888-47.844-20.343 31.94-31.515-7.574-103.974-61.905-104.44zm.125 145.095c23.755.16 44.78 10.33 51 34.938-19.56-33.796-88.924-11.042-103.906 20.125-18.36 38.184 19.022 68.417 56.187 85.468 6.244-.715 12.503-.975 18.72-.78 19.358-12.103 21.215-29.69 8.625-52.157l-1.906 1.467c-20.405 15.685-29.742-.137-11.095-14.468-16.72-21.752-.014-29.968 14.47-11.126 22.853-17.57 32.77-2.2 11.093 14.47l-.563.405c20.496 21.81 27.934 42.197 12.438 66.25 19.763 5.052 38.288 13.558 54 23.217 8.096-16.49 19.885-29.854 36.968-40.656l-.592-1.092c-7.66-14.315-5.367-23.648.625-23.532 4.1.08 9.912 4.58 15.437 14.906 20.958-11.208 32.81 3.15 8.625 16.094 11.094 20.734-3.953 31.316-16.094 8.625l-.686-1.31c-12.243 10.597-22.677 22.63-28.656 37.624 7.44 5.622 13.878 11.35 19 16.812 1.334 1.424 3.233 1.894 5.343 1.844 2.145-4.647 5.512-8.72 10.22-11.688-1.613-7.725 3.21-15.35 10.938-17.156 7.84-1.832 15.7 3.034 17.53 10.875.113.48.188.96.25 1.44 57.592 2.342 62.316 27.272 12.907 55.342.18.508.343 1.026.47 1.563 1.83 7.84-3.035 15.7-10.876 17.53-7.605 1.778-15.192-2.757-17.314-10.186-11.75-1.01-20.288-9.33-24.375-19.69-4.445-3.454-13.355-2.05-19.717-.56-13.116 3.064-26.855 3.884-40.72 2.842-12.748 7.078-19.934 15.087-14.03 32.313l3.093-1.563c22.982-11.585 29.222 5.73 8.22 16.313 12.348 24.497-5.582 29.44-16.282 8.22-25.544 12.876-32.512-3.75-8.75-16.033-7.552-18.248-7-32.414 3.25-42.937-13.7-3.07-27.22-7.747-40.094-13.656-14.596 21.743-34.015 38.664-64.75 39.967l.063 2.22c.767 27.335-17.44 29.345-18.25.53-23.758.675-27.943-17.473-.532-18.25-.672-23.505 17.523-26.23 18.25-.5l.032 1.188c20.135-6.54 34.9-20.422 39.532-39.094-7.37-4.68-14.354-9.76-20.813-15.124-52.572-27.142-84.692-94.312-56.75-141.5 13.864-23.41 48.928-39.736 79.47-39.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SaltShaker;

impl IconShape for SaltShaker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M279.406 20c-22.566.257-41.433 6.548-53.187 18.844l-.626-.375-1.78 3.093c-1.508 1.848-2.89 3.787-4.095 5.874-1.197 2.07-2.19 4.228-3.032 6.438l-36.125 62.563-4.688 8.124-5.313 9.188c-.077.134-.142.272-.218.406L62.064 321.72c-12.087 20.93-7.338 47.287 7.248 71.717 14.587 24.43 39.327 48.134 71.032 66.438 31.704 18.304 64.58 27.864 93.03 28.28 28.452.42 53.666-8.63 65.75-29.56l108.532-187.97 4.625-8 4.626-8.063 36.53-63.25c1.662-1.983 3.163-4.11 4.47-6.375 1.29-2.232 2.338-4.543 3.22-6.937l.812-1.375-.282-.156c12.272-37.432-23.027-92.36-84-127.564-33.91-19.578-69.14-29.237-98.25-28.906zm32.97 19.313c4.743.044 10.416 1.66 15.874 4.812 10.916 6.302 16.874 16.395 13.313 22.563-3.562 6.167-15.303 6.052-26.22-.25-10.916-6.303-16.873-16.395-13.312-22.563 1.782-3.084 5.6-4.607 10.345-4.563zm-57.095 7.593c4.745.044 10.387 1.662 15.845 4.813 10.916 6.3 16.905 16.393 13.344 22.56-3.563 6.17-15.304 6.054-26.22-.25-10.916-6.3-16.874-16.393-13.313-22.56 1.78-3.085 5.6-4.608 10.344-4.564zm133 36.22c4.745.043 10.387 1.66 15.845 4.81 10.916 6.304 16.905 16.396 13.344 22.564-3.563 6.168-15.304 6.084-26.22-.22-10.916-6.3-16.874-16.425-13.313-22.593 1.78-3.083 5.6-4.606 10.344-4.562zm-171.717 8.343c3.616 12.197 10.345 24.915 19.75 37.374L195.5 198.438c-.536-.846-1.09-1.69-1.594-2.532-12.515-20.96-14.71-39.73-7.156-52.812l29.813-51.625zM335.125 93c4.744.044 10.417 1.66 15.875 4.813 10.916 6.302 16.874 16.425 13.313 22.593-3.562 6.168-15.303 6.053-26.22-.25-10.916-6.302-16.873-16.426-13.312-22.594 1.782-3.083 5.6-4.606 10.345-4.562zM275.5 103.188c4.744.044 10.386 1.66 15.844 4.812 10.916 6.302 16.874 16.395 13.312 22.563-3.56 6.167-15.27 6.083-26.187-.22-10.918-6.302-16.906-16.425-13.345-22.593 1.78-3.084 5.63-4.607 10.375-4.563zm138.688 35.468c4.743.044 10.416 1.662 15.875 4.813 10.916 6.3 16.873 16.393 13.312 22.56-3.56 6.17-15.302 6.054-26.22-.25-10.915-6.3-16.873-16.393-13.31-22.56 1.78-3.085 5.6-4.608 10.342-4.564zm-62.813 8.375c4.744.045 10.417 1.63 15.875 4.782 10.916 6.303 16.874 16.426 13.313 22.594-3.562 6.168-15.303 6.053-26.22-.25-10.916-6.302-16.873-16.426-13.312-22.594 1.782-3.083 5.6-4.575 10.345-4.53zm-75.906 20.25c5.026 3.787 10.32 7.44 15.842 10.94l-41.718 72.25c-5.707-3.656-11.103-7.494-16.188-11.47l42.063-71.72zm32 20.345c41.19 21.913 83.48 29.3 113.78 22.063l-29.78 51.593c-7.556 13.086-24.873 20.578-49.283 20.22-22.31-.327-49.572-7.498-76.437-21.625l41.72-72.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SandsOfTime;

impl IconShape for SandsOfTime {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.063 21.97v9.343c0 101.953 38.158 189.648 96.343 222.093v6.094c-58.186 32.445-96.344 120.14-96.344 222.094v9.344H401.81v-9.344c0-102.552-38.804-190.274-97.53-222.188V253.5c58.722-31.917 97.53-119.64 97.53-222.188V21.97H115.06zM134 40.655h248.875c-2.477 96.445-42.742 175.523-91.938 198.906l-5.343 2.532V270.844l5.344 2.53c49.193 23.383 89.456 102.438 91.937 198.876H134c2.456-95.898 42.125-175.078 90.875-198.938l5.25-2.562v-28.594l-5.25-2.562c-48.748-23.86-88.42-103.04-90.875-198.938zm213.656 86.125c-57.607 27.81-124.526 27.84-177.562 4.095C184.748 181.78 213.91 218.012 248.22 224c-1.54 2.047-2.47 4.585-2.47 7.344 0 6.76 5.488 12.25 12.25 12.25s12.25-5.49 12.25-12.25c0-2.72-.907-5.218-2.406-7.25 35.426-5.88 65.488-44.07 79.812-97.313zM258 258.626c-6.762 0-12.25 5.488-12.25 12.25s5.488 12.25 12.25 12.25 12.25-5.488 12.25-12.25-5.488-12.25-12.25-12.25zm0 39.28c-6.762 0-12.25 5.49-12.25 12.25 0 6.763 5.488 12.25 12.25 12.25s12.25-5.487 12.25-12.25c0-6.76-5.488-12.25-12.25-12.25zm0 39.533c-6.762 0-12.25 5.488-12.25 12.25 0 6.76 5.488 12.25 12.25 12.25s12.25-5.49 12.25-12.25c0-6.762-5.488-12.25-12.25-12.25zm.125 39.906c-23.21.28-46.19 25.77-75.813 75.656h153c-30.523-51.003-53.977-75.936-77.187-75.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Saphir;

impl IconShape for Saphir {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M413.47 20.25l-11.47 4L84.97 134.72 78.437 137l.406 6.875L97.78 478.47l.69 12.124 11.468-4 317.03-110.47 6.5-2.28-.374-6.906-18.938-334.563-.687-12.125zm-31.533 30.375l-43.375 64.75-180.75 63.375-36.78-24.53c74.22 12.515 196.82-52.49 257.124-102.282l3.78-1.313zm16.032 19.688l15.78 279.125-49.313-32.875-4.187-76.47c18.567-45.422 32.45-114.342 37.72-169.78zm-63.44 67.75l9.69 176.187-166.876 58.5-2.78-50.47c48.082 9.04 83.113-8.624 104.342-38.25-27.814-3.42-46.384-30.984-43.094-60.28 3.174-28.257 24.982-51.253 51.72-52.313 1.782-.07 3.615-.035 5.437.094 2.458.176 4.837.56 7.155 1.095-1.355-6.985-3.194-13.86-5.5-20.563l39.906-14zM117.78 174.5l29.657 19.78 10.47 190.814-43.407 64.812-.188-3.656c24.146-101.32 36.74-217.525 3.47-271.75zm172.095 22.625c-13.068-.123-26.546 12.068-28.5 29.47-2.017 17.96 8.33 31.076 21.78 32.03 13.452.954 27.765-11.444 29.783-29.406 2.017-17.963-8.363-31.08-21.813-32.032-.42-.03-.828-.06-1.25-.063zm64.156 134.97l49.283 32.874-254.938 88.81c48.305-26.555 103.147-64.172 135.594-97.124l70.06-24.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Satellite;

impl IconShape for Satellite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M314.125 45.125l-36.28 10.97 26.717 38.874L340.844 84l-26.72-38.875zM260.47 61.313l-43 13 26.686 38.874 41.625-12.562-26.467-38.5 1.156-.813zm91.467 38.874l-36.28 10.938 27.374 39.813L379.314 140l-27.375-39.813zM120.47 107.78l-36.282 10.94 26.718 38.905 36.28-10.97-26.717-38.874zm176.405 9.032l-41.594 12.563 12.814 18.656c13.59 1.764 26.138 6.878 36.844 14.44l19.312-5.845-27.375-39.813zm-230.03 7.157l-43 12.968 26.718 38.906 41.562-12.563-26.47-38.5 1.19-.81zm323.56 32.155l-36.28 10.97 25.97 37.81 36.28-10.936-25.97-37.845zm-232.092 6.72L122 173.78l27.375 39.814 36.28-10.938-27.343-39.812zm99.125 3.186c-22.736 0-42.626 11.753-53.97 29.532l66.782 97.188c6.682-1.346 12.98-3.725 18.72-6.97l7.874 11.69 15.78-10.033-8.874-13.187c10.95-11.475 17.656-27.028 17.656-44.22 0-35.446-28.52-64-63.97-64zm77.906 6.75l-14.438 4.345c9.396 11.262 15.84 25.07 18.188 40.188l22.22-6.72-25.97-37.812zm-232.125 6.69L61.655 192l27.313 39.813 41.593-12.563-27.344-39.78zm324.28 30.655l-36.28 10.97 27.342 39.81 36.313-10.967-27.375-39.813zm-230.72 8.688l-36.31 10.968 25.968 37.782 36.312-10.968-25.97-37.78zm175.657 7.937l-32.625 9.875c-.35 4.407-1.012 8.72-2.03 12.906l20.312 29.595 41.687-12.563-27.342-39.812zm-230.75 8.688L100.094 248l25.97 37.813 41.592-12.594-25.97-37.783zm324.282 30.656l-36.314 10.97 26 37.81 36.313-10.937-26-37.843zm-232.095 6.687l-36.313 10.97 27.344 39.78 36.313-10.967-27.345-39.782zm177.03 9.94L369.22 295.31l25.967 37.813 41.688-12.563-25.97-37.843zm-232.124 6.686l-41.624 12.563 27.313 39.81 41.655-12.592-27.344-39.782zm152.314 8.47L301.78 316.5l37.314 58.656 29.312-18.625-37.312-58.655zm-58.75 30.874l-36.313 10.97 26 37.81 36.314-10.936-26-37.844zm-55.094 16.625l-41.656 12.594 25.97 37.81 41.655-12.56-25.97-37.845zm178.313 20.875c-36.29.507-64.44 29.054-70.375 64.844L368.5 404l9.72 14.406c-1.222 2.47-1.908 5.245-1.908 8.188 0 10.222 8.278 18.53 18.5 18.53 10.223 0 18.5-8.308 18.5-18.53 0-10.223-8.277-18.5-18.5-18.5-.335 0-.67.045-1 .062l-9.437-14.062 37.438-23.438c-9.068-3.125-17.876-4.523-26.25-4.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SawClaw;

impl IconShape for SawClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M25.313 16.78V235.5c13.37 27.573 58.125 15.47 57.187-5.094l-.72.344c-12.918-25.814-3.11-55.896 16.595-83.156 19.705-27.26 49.982-53.282 83.313-73.844 33.33-20.562 69.625-35.658 102.218-39.938 4.074-.534 8.108-.915 12.063-1.093 1.482-.068 2.942-.113 4.405-.126 10.244-.09 20 1.18 29 4.125 10.333 3.382 19.63 9.2 26.906 17.436 16.08 11.61 43.625-11.567 14.126-37.375H25.312zM301.75 51.313c-4.876-.02-10.032.326-15.406 1.032-17.115 2.247-36.34 8.196-55.78 16.75 102.868 97.69 149.218 205.882 159.78 326.062C357.356 289.77 301.584 165.66 185.28 93.594c-29.122 18.857-55.263 42.13-71.75 64.937-16.258 22.494-22.568 43.2-16.78 59.69l.03-.032c.294.666.578 1.31.907 1.968 22.068 6.418 43.226 14.086 63.438 22.875l-37.875 20.626 91.188 11.313-41.313 31.467 93.688 11.5-39.438 25.094 88.72 21.72-40.47 16.5 84.22 37.563-39.876 8.968 95.967 65.095c.09.2.19.395.282.594.03-.116.06-.23.092-.345l.125.094-.093-.22c40.1-144.19 17.276-273.748-70.5-421.47-.847-1.423-1.734-2.776-2.688-4.06-.172-.234-.355-.46-.53-.69-.16-.185-.31-.38-.47-.56-4.88-5.542-11.032-9.276-18.594-11.75-6.333-2.075-13.686-3.123-21.812-3.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScaleMail;

impl IconShape for ScaleMail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M174.688 61.094L144.155 78.72c60.143 71.885 171.856 69.547 222.78 0l-30.53-17.626c-11.46 23.49-43.57 40.625-81.156 40.625-37.586 0-69.1-17.137-80.563-40.626zm208.5 27c-5.07 7.136-10.657 13.675-16.72 19.594l18.97 34.343 22.03-39.905-24.28-14.03zm-255.438.094L53.937 130.81l66.876 112.375 33.874-19.656-2.78 62.595 12.53 22.656 20.75-37.56-15.375-27.814 16.344-9.03 22.78 41.218 22.75-41.22 16.345 9.032-30.936 56-8.156 14.813-8.188-14.814-4.906-8.875-23.25 42.064-8.188 14.812-8.156-14.812-5.938-10.72-3.5 78.938h81.97l-28.532-51.687 16.375-9.03 22.75 41.217 22.75-41.218.53.28-13.874-25.093 16.345-9.03 22.75 41.22 22.78-41.22L312 307l-14.72-26.656 16.376-9.03 22.75 41.186 22.72-41.125L357 223.53l33 19.157 66.72-112.156-33.033-19.06-30.062 54.405-8.188 14.813-8.187-14.813-6.438-11.656-25.718 46.593-8.188 14.812-8.156-14.813-6.75-12.218-25.438 46.062-8.156 14.813-8.187-14.814-30.94-56 16.376-9.03 22.75 41.186 22.75-41.187.563.313-13.564-24.563c-29.667 7.446-61.705 6.438-91.687-3.188l-25.814 46.75-8.187 14.813-8.19-14.813-5.624-10.218-20.25 36.624-8.187 14.812-8.157-14.812-30.938-56 16.344-9.03 22.78 41.217 17.72-32.124-14.595-26.47 16.344-9.03 19.56 35.406.064.032-.03.03 3.155 5.72 16.374-29.656c-22.918-10.325-44.015-26.047-61.094-47.25zm224.22 31.874c-10.98 8.186-22.995 14.723-35.658 19.594l20.625 37.313 22.75-41.22 1.344.75-9.06-16.438zm120.936 19.813l-66.75 112.188 22.906 13.28L493.875 152l-20.97-12.125zm-435.156.28L17.22 152l65.405 113.344 22-12.78L37.75 140.154zm322.97 167.032l-16.126 29.188-8.188 14.813-8.187-14.813-6.44-11.656-25.717 46.56-8.188 14.814-8.156-14.813-6.75-12.217-23.033 41.75h114.938l-4.156-93.625zM146 419.5l-1.22 27.25h222.126l-1.22-27.25h-126.06l-.25.47-.25-.47H146z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scales;

impl IconShape for Scales {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.47 53.094s-4.808 37.12-49.5 49.5c-44.695 12.38-129.282 0-129.282 0L61.343 115.78l8.187 9.157-1.093 2.876-51.843 137.312L16 266.72v1.717c0 18.897 8.253 34.243 20.344 44 12.09 9.758 27.563 14.31 42.937 14.313 15.376.003 30.878-4.556 42.97-14.313 12.092-9.756 20.344-25.094 20.344-44v-1.843l-.688-1.688L86.97 130.28c23.946-3.003 80.866-8.54 115.5 1.532 23.064 6.71 36.151 20.345 43.436 31.97L210.78 354.468l21.407 30.31c-17.75 7.75-32.593 24.84-37.562 51.345-56.076 6.195-95.47 20.74-95.47 37.688h311.876c0-16.947-39.392-31.493-95.467-37.688-4.91-26.6-19.57-44.112-37.188-51.906l21-29.75L264 162.28c7.457-11.275 20.388-24.045 42.47-30.468 34.955-10.167 92.615-4.42 116.155-1.437l-50.875 134.75-.625 1.594v1.717c0 18.897 8.253 34.243 20.344 44 12.09 9.758 27.593 14.31 42.967 14.313 15.375.003 30.877-4.556 42.97-14.313 12.09-9.756 20.343-25.094 20.343-44v-1.843l-.688-1.688L441 127.562l-.938-2.28 8.782-8.438-15.594-14.25s-84.556 12.38-129.25 0-49.53-49.5-49.53-49.5zM77.53 156.656l44.22 108.375H36.594L77.53 156.657zm355.158 0l44.218 108.375H391.72l40.967-108.374z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scallop;

impl IconShape for Scallop {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.844 73.406l1.625 214.47-18.69.155-1.655-214.342C206.358 75.24 172.012 82.588 141 95.78c36.116 61.6 59.493 126.474 75.813 196.5l-18.22 4.25C182.46 227.29 159.504 163.924 124 103.78c-37.016 19.19-67.986 47.49-87.156 84.97 57.884 24.66 105.126 67.86 140.937 118.688l-15.28 10.75c-34.284-48.66-79.092-89.328-133.28-112.344-8.57 22.082-13.345 46.943-13.345 74.594 95.028 17.855 145.516 75.937 151.406 92 3.752 10.228-27.905 21.074-27.905 38.156 0 12.34 25.52 20.537 59.668 24.67-3.846-4.94-7.694-10.374-11.59-16.31l15.625-10.255c9.802 14.937 18.996 25.865 27.354 32.73 8.358 6.864 15.493 9.632 22.423 9.68 13.862.094 31.592-12.316 53.723-42.776l15.12 10.984c-4.31 5.93-8.553 11.385-12.76 16.35 36.362-4.006 64.125-12.375 64.125-25.074 0-17.92-35.487-28.412-33.72-39.97 2.31-15.09 55.528-74.91 156.626-90.187 0-28.807-5.284-54.622-14.72-77.437-57.322 22.41-104.478 64.46-140.22 115.188l-15.28-10.75c37.145-52.72 86.607-97.216 147.47-121.344-20.457-37.87-53.207-66.233-92.064-85.03-36.426 60.947-59.84 125.186-76.22 195.467l-18.186-4.25c16.523-70.893 40.278-136.5 77.156-198.78-32.42-12.835-68.166-19.55-104.062-20.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scalpel;

impl IconShape for Scalpel {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M486.594 19.438l-212.53 169.468c11.276 6.004 20.268 16.362 25.436 28.156 1.943 4.434 3.305 9.2 4 14.094 80.446 34.536 191.193-106.27 183.094-211.72zM252.03 202.125c-1.268.034-2.38.253-4.53.75-4.932 1.14-8.54 2.213-12.03 5L18.22 382.063v27.78l233.218-184.937 11.625 14.656L18.22 433.656v32.53l255.81-204.155c13.41-10.704 14.012-24.534 8.345-37.467-5.662-12.923-18.25-22.68-30.313-22.438h-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScalpelStrike;

impl IconShape for ScalpelStrike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M98.125 18.75c50.57 46.07 104.128 90.743 158.938 134.72l-2.344 30.374c71.727 59.403 153.822 113.5 236.53 166.437-67.922-115.03-145.68-225.91-228.47-331.53h-54.31c43.394 55.367 85.626 111.29 127.436 167.438C275.514 130.873 215.7 75.224 157.656 18.75h-59.53zM17.97 180.688v44.718c94.66 43.63 188.03 92.478 281.155 141.813-94.13-29.464-188.207-59.703-281.156-93.626v39.75c151.97 56.387 311.186 104.892 473.874 138.562C422.48 397.58 352.438 344.842 279.25 301.22l-29.188 9.342C173.594 263.33 96.78 219.043 17.97 180.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScarWound;

impl IconShape for ScarWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.736 19.96c16.94 32.065 35.82 63.162 56.496 93.315 8.384 21.977 3.6 46.57-37.845 76.315 150.19-40.237 106.49 56.516-11.266 126.22 199.958-74.2 249.65-57.033 121.08 93.788 101.084-73.473 180.62-53.61 147.825 37.632 38.067-29.477 69.664-35.763 93.87-25.097 34.812 24.628 71.08 48.27 108.668 70.935-20.512-40.28-42.167-79.152-65.374-116.306-18.072-38.867-22.457-79.24-7.493-113.918-56.766 70.273-91.592 5.3-4.924-85.084-122.303 75.43-177.787 37.864-16.875-106.178-123.854 65.763-219.54 83.267-157.507 18.285-44.75 12.79-70.03 6.265-91.474-2.93C111.59 61.1 66.732 38.62 17.736 19.958zm49.56 39.923c28.685 21.552 56.615 43.913 83.862 67.056l36.617-9.522-22.105 21.978c15.59 13.528 30.947 27.33 46.09 41.39l71.86-30.462-18.776 29.02.3-.24c-21.556 27.54 18.764 86.03 45.995 78.423l31.913-17.7-24.787 36.534 36.875 52.71c.262.3.526.598.788.9 13.642 12.504 31.23 1.71 43.05-14.525l-19.59 41.985c21.418 25.495 42.38 51.654 62.91 78.494-23.153-16.44-45.624-33.417-67.468-50.887-19.98-11.91-31.485.295-44.256 16.856 8.794-18.174 13.377-36.95 3.24-50.864-1.488-1.28-2.978-2.555-4.46-3.84l-44.856-35.346-47.738 26.48 17.187-25.336c7.31-12.403 3.43-27.175-5.648-41.144-10.91-10.88-21.647-21.896-32.216-33.043-1.66-1.227-3.312-2.38-4.957-3.493l-66.44 18.863 21.768-25.76c10.566-17.616 0-41.59-9.848-55.7-5.592-6.538-11.12-13.13-16.617-19.743l-43.666 7.283c18.428-7.3 31.37-22.376 16.844-40.04l-2.268-2.562c.83.86 1.57 1.713 2.268 2.563l2.062 2.33c-16.384-20.564-32.362-41.45-47.933-62.657z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScarabBeetle;

impl IconShape for ScarabBeetle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.64 20.564c-18.21 0-34.547 4.813-45.64 11.864-11.093 7.05-16.42 15.507-16.42 23.83 0 8.322 5.327 16.78 16.42 23.83 4.246 2.7 9.266 5.064 14.86 6.963-18.992 7.308-36.196 21.29-50.29 40.516-2.47 3.37-4.832 6.905-7.086 10.58 27.327-12.653 57.74-18.988 88.16-18.988 30.42 0 60.834 6.335 88.16 18.987-2.253-3.675-4.614-7.21-7.083-10.58-14.093-19.227-31.297-33.21-50.288-40.516 5.59-1.9 10.604-4.265 14.847-6.962 11.092-7.05 16.42-15.508 16.42-23.83s-5.328-16.78-16.42-23.83c-11.094-7.05-27.428-11.864-45.64-11.864zm-84.148 11.653c-14.76 0-26.527 11.767-26.527 26.527 0 14.76 11.766 26.526 26.527 26.526 3.988 0 7.755-.866 11.133-2.41-5.984-7.712-9.633-16.728-9.633-26.602 0-8.255 2.546-15.913 6.875-22.71-2.628-.86-5.44-1.33-8.375-1.33zm168.317 0c-2.94 0-5.76.473-8.392 1.338 4.327 6.794 6.87 14.45 6.87 22.703 0 9.87-3.646 18.884-9.626 26.594 3.382 1.55 7.153 2.418 11.147 2.418 14.76 0 26.526-11.765 26.526-26.526 0-14.762-11.766-26.527-26.527-26.527zM55.882 59.94C65.88 72.384 68.966 83.954 69.27 95.1l-23.31-4.662c7.966 10.65 15.832 19.993 19.737 39.29-1.247 13.16-.16 26.382 10.813 40.477 8.774 15.227 21.212 24.887 35.668 28.01 3.516.76 7.097 1.144 10.732 1.225 1.177-6.41 2.605-12.685 4.274-18.813-4.017.263-7.717.043-11.06-.68-8.51-1.838-15.56-6.452-21.786-16.29-2.374-64.74 32.304-98.368-38.455-103.714zm398.763 0c-70.758 5.347-36.08 38.974-38.455 103.716-6.223 9.837-13.275 14.45-21.784 16.29-3.13.675-6.564.923-10.285.736 1.66 6.103 3.085 12.355 4.257 18.736 3.375-.117 6.703-.498 9.975-1.205 14.458-3.123 26.9-12.787 35.675-28.02 9.903-12.724 11.736-24.736 11.082-36.634 3.598-21.938 11.958-31.793 20.435-43.124l-24.307 4.86c.274-11.205 3.352-22.84 13.408-35.355zM246.3 138.57c-5.874.268-11.73.802-17.546 1.575l-11.818 221.15-9.883-217.037c-6.065 1.51-12.037 3.312-17.88 5.404l-12.54 156.96-10.01-147.07c-4.634 2.443-9.142 5.093-13.498 7.958-8.625 22.59-13.586 48.43-13.586 75.914 0 45.584 13.632 86.665 35.03 115.86 19.236 26.244 44.27 42.713 71.73 45.775V138.57zm18.688 0v266.49c27.463-3.062 52.496-19.53 71.733-45.777 21.4-29.194 35.032-70.275 35.032-115.86 0-27.484-4.96-53.327-13.588-75.92-3.276-2.153-6.64-4.185-10.076-6.1l-9.885 145.218-12.433-155.61c-5.88-2.25-11.9-4.2-18.026-5.848l-9.842 216.133-11.79-220.633c-6.987-1.057-14.042-1.77-21.124-2.092zm-149.965 94.875c-12.267.165-24.27 5.045-34.945 14.352-18.264 12.002-23.48 30.757-27.514 50.053-8.83 18.03-18.94 25.084-29.502 33.394l20.663 1.334c-4.696 11.77-12.1 22.087-25.74 29.102 66.8 23.892 47.66-39.01 75.872-101.184 7.814-6.52 15.24-8.725 23.252-8.332.658.032 1.325.088 2 .162-.105-2.95-.16-5.918-.16-8.902 0-3.3.068-6.58.196-9.84-.374-.026-.746-.068-1.12-.086-1.003-.05-2.003-.066-3.003-.053zm280.483 0c-1-.013-2 .004-3.002.053-.12.006-.24.02-.36.027.128 3.28.198 6.578.198 9.9 0 2.962-.055 5.908-.158 8.837.413-.036.828-.078 1.236-.098 8.012-.393 15.44 1.813 23.254 8.334 28.212 62.173 9.072 125.074 75.87 101.182-13.623-7.005-21.023-17.304-25.72-29.055l21.412-1.38c-11.116-8.748-21.734-16.1-30.882-36.335-3.973-18.248-9.566-35.72-26.903-47.113-10.674-9.307-22.676-14.187-34.944-14.352zM132.658 323.48c-6.552 2.768-12.427 6.333-17.465 10.9-11.314 10.254-17.283 25.468-16.865 43.815-2.052 12.72 6.9 23.624 20.096 36.11 6.604 19.126 4.433 31.314 2.834 44.707l19.83-17.422c3.51 14.572 1.746 25.057.39 36.408l21.74-19.102c6.978 8.756 13.45 18.564 18.73 29.776 24.01-71.664-54.898-77.61-62.612-128.137 1.83-4.977 4.675-8.925 8.41-12.31 3.18-2.883 7.234-5.365 12.1-7.426-2.627-5.58-5.022-11.365-7.188-17.32zm245.87.288c-2.175 5.95-4.58 11.728-7.214 17.302 4.586 2.007 8.43 4.398 11.47 7.155 3.736 3.385 6.58 7.333 8.41 12.31-7.715 50.528-86.623 56.473-62.614 128.137 5.195-11.027 11.54-20.693 18.39-29.338l21.24 18.664c-1.354-11.35-3.117-21.836.392-36.408l19.828 17.422c-1.567-13.12-3.68-25.08 2.44-43.54 13.87-12.974 23.452-24.17 21.333-37.283.417-18.345-5.554-33.557-16.867-43.81-4.868-4.414-10.522-7.885-16.81-10.612z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scarecrow;

impl IconShape for Scarecrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.11 24.357l-8.022 39.594-28.2-25.122 9.624 25.83-41.48-16.638 41.52 39.777c-9.3 6.495-15.388 17.393-15.388 29.89 0 20.188 15.884 36.22 35.555 36.22 19.67 0 35.555-16.032 35.555-36.22 0-13.184-6.774-24.59-16.95-30.923l24.79-42.37-27.863 17.69-9.143-37.727zM101.776 67.01c-6.163 0-11.688 2.68-15.52 6.92l-39.075-5.62-2.66 18.5 30.865 4.438-58.524 41.41 41.198-8.55-8.027 35.87 25.852-21.962 18.504 34.08-.82-64.887c2.52 1.074 5.294 1.67 8.207 1.67 3.056 0 5.95-.668 8.567-1.845 13.156 16.754 30.582 30.514 56.65 39.242-7.11 6.444-14.18 12.935-21.303 19.362 48.007 2.993 81.67 49.824 90.275 97.98-6.853 1.445-13.963 3.815-21.307 7.2 28.664 57.982-21.168 129.288-33.297 164.05l5.285.192-34.125 41.227 37.58-18.92 1.53 36.722 19.288-27.903 26.69 28.128-14.5-57.935 6.728.244c.643-48.52 13.678-85.638 21.662-140.625 6.06 49.21 18.806 98.424 6.37 147.635l6.263-.746-14.87 52.83 26.693-28.128 19.287 27.9 1.53-36.72 37.582 18.917-32.63-39.276 5.202-.62c-7.866-38.65-40.228-108.407-19.248-165.44-6.265-4.002-13.042-6.928-20.272-8.65 12.328-43.742 46.016-86.71 85.612-94.556l-7.616-12.46c25.346-10.523 39.26-26.136 48.553-43.866 2.37.82 4.912 1.272 7.56 1.272 1.65 0 3.258-.174 4.81-.502l13.74 59.543 7.71-41.362 30.143 21.032-10.514-32.248 38.557-4.207-55.183-21.805 52.47-6.725-2.374-18.537-60.85 7.797c-4.22-5.62-10.94-9.254-18.51-9.254-9.673 0-17.955 5.94-21.41 14.37L305.49 91.76c2.952 5.537 4.987 11.636 5.908 18.084l47.694-6.112c-11.316 8.315-20.168 19.095-25.875 33.018l-5.9-9.65c-8.985 9.427-17.88 17.535-26.672 24.047-9.928 13.01-25.47 21.45-42.926 21.45-18.198 0-34.312-9.17-44.156-23.13-6.782-6.855-13.448-15.606-19.984-26.455-5.158 4.28-10.225 8.667-15.248 13.105-8.67-13.547-18.666-25.162-30.402-34.435l56.123 8.072c.93-6.43 2.966-12.51 5.914-18.03L120.62 78.87c-3.382-7.012-10.537-11.862-18.843-11.862zm112.88 203.81c0-.002 0-.005-.003-.007l-.002.01.006-.003z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scissors;

impl IconShape for Scissors {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M187.125 19.53c-.733-.008-1.454.004-2.188.032-3.91.152-7.823.84-11.656 2.157-15.33 5.26-25.474 19.04-29.843 35.218-4.368 16.177-3.47 35.265 3.125 54.25 1.056 3.038 2.25 5.988 3.532 8.843l9.72 28.22 54.686 18.844c2.874-.326 5.74-.97 8.563-1.938 15.33-5.262 25.475-19.04 29.843-35.22 4.368-16.176 3.47-35.264-3.125-54.25-6.595-18.983-17.755-34.555-31.218-44.592-9.465-7.058-20.435-11.42-31.437-11.563zm-1.28 18.657c6.724-.256 14.112 2.322 21.56 7.876 9.933 7.404 19.25 20.007 24.72 35.75 5.47 15.742 5.93 31.353 2.72 43.25-3.213 11.896-9.573 19.556-17.876 22.406-8.303 2.848-18.1.716-28.032-6.69-3.308-2.464-6.543-5.523-9.594-9.06l-16.125-29.69c-4.522-14.7-4.756-29.12-1.75-40.25 3.21-11.895 9.57-19.524 17.874-22.374 2.076-.712 4.258-1.133 6.5-1.218zm-111.595 106c-6.73.138-13.183 1.02-19.25 2.657-16.178 4.368-29.957 14.544-35.22 29.875-5.26 15.33-.66 31.786 9.376 45.25 10.037 13.46 25.61 24.653 44.594 31.25 18.985 6.595 38.072 7.46 54.25 3.093 13.807-3.73 25.866-11.66 32.375-23.438l.063.063 14.343-25.72 6.595 3.563c.026.076.036.082.063.157l57.937 31.344.03.032 251.19 136.344c14.236-41.16-36.206-109.062-143.626-146.22l-228.814-78.905c-2.875-1.29-5.845-2.498-8.906-3.56-11.865-4.124-23.785-6.01-35-5.782zm.344 18.72c1.773-.035 3.597-.006 5.437.093 6.374.345 13.134 1.512 19.94 3.594l29.81 16.187c3.54 3.057 6.598 6.288 9.064 9.595 7.405 9.932 9.537 19.73 6.687 28.03-2.85 8.304-10.51 14.664-22.405 17.876-11.896 3.213-27.507 2.752-43.25-2.718-15.743-5.47-28.345-14.818-35.75-24.75-7.405-9.93-9.506-19.728-6.656-28.03 2.85-8.304 10.478-14.664 22.374-17.876 4.46-1.204 9.43-1.896 14.75-2zm115.844 74.187c12.42 36.016 25.524 74.023 38.593 111.812 37.156 107.42 105.06 157.862 146.22 143.625L255.75 272.44l-65.313-35.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scorpion;

impl IconShape for Scorpion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M118.2 13.613c-9.34.05-18.525 2.977-25.878 9.2-28.494-14.11-63.64.133-58.814 33.37C7.16 77.84 13.01 118.364 43.355 131.036c-.715 28.33 22.506 53.156 49.643 50.957 7.358 19.48 25.91 31.78 45.996 34.16.1 2.352.31 4.766.63 7.235-9.325 4.95-18.904 9.69-28.645 14.374l8.098 16.84c8.28-3.98 16.58-8.045 24.8-12.307 1.822 5.843 4.153 11.877 6.93 18.027-9.202 4.788-18.57 9.436-28.048 14.037l8.16 16.814c9.49-4.607 18.984-9.31 28.394-14.195 3.407 5.985 7.2 12.024 11.393 18.067-9.837 5.116-19.83 10.094-29.934 15.02l8.19 16.798c11.075-5.4 22.15-10.903 33.11-16.646 4.754 5.912 9.852 11.78 15.302 17.55-12.022 6.36-24.303 12.478-36.713 18.54l8.203 16.794c14.22-6.947 28.442-14.04 42.432-21.567 4.807 4.436 9.683 8.62 14.6 12.547-19.234 11.162-38.166 24.76-55.102 40.38l-4.783 4.41 2.478 6.017c6.126 14.866 12.37 27.647 19.33 38.534 16.73 43.73 117.658 67.51 169.87 49.974-40.098-76.48-110.48-107.213-163.516-77.16-1.91-3.884-3.808-7.983-5.7-12.338 16.67-14.624 35.242-27.457 53.913-37.656 14.745 9.996 29.484 17.747 43.312 23.174 4.953-1.442 9.74-3.09 14.36-4.91-5.082-4.966-10.262-10.56-15.505-16.832l14.34-11.985c6.706 8.026 13.247 14.75 19.41 20.267 9.148-5.032 17.394-10.79 24.644-17.03-4.422-6.302-9.917-13.245-16.64-20.736l13.91-12.48c6.27 6.987 11.628 13.576 16.176 19.802 2.76-3.212 5.29-6.494 7.563-9.825-2.275-9.77-6.05-20.19-11.212-30.927 4.547-14.812 10.333-29.638 17.244-43.776 4.26.62 8.324 1.297 12.215 2.03-23.748 40.476 31.817 122.773 84.082 144.218 29.62-76.177 7.565-136.216-53.038-155.462-13.592-4.834-29.27-8.007-47.555-10.31l-6.457-.815-3.002 5.773c-6.094 11.72-11.37 23.9-15.847 36.21-5.395-8.492-11.577-17.043-18.5-25.503 7.895-9.388 15.278-19.488 22.038-30.44l-15.903-9.816c-5.726 9.277-11.96 17.903-18.61 26-2.39-2.562-4.838-5.11-7.362-7.634-2.882-2.88-5.797-5.67-8.733-8.382 7.245-8.65 14.023-17.95 20.244-28.008l-15.892-9.83c-5.664 9.157-11.848 17.648-18.477 25.58-6-4.88-12.05-9.395-18.093-13.53 6.332-7.583 12.27-15.716 17.728-24.504l-15.875-9.86c-5.434 8.747-11.412 16.803-17.84 24.302-6.575-3.778-13.08-7.073-19.443-9.856 4.955-5.94 9.616-12.294 13.912-19.146l-15.834-9.928c-5.074 8.093-10.74 15.45-16.895 22.223-9.522-2.728-18.495-4.106-26.615-4.004-.202.003-.398.017-.6.02-15.792-17.983-44.215-24.07-67.113-15.15-3.733-21.79-22.074-39.414-42.832-41.6 4.765-14.846 1.142-31.49-8.877-43.204 14.55-2 28.25-10.616 35.153-22.598 12.188 14.724 34.067 21.62 51.673 15.564 8.117 17.202 29.023 28.58 48.562 26.01 35.58 81.022 139.882 84.89 177.424 1.266-36.924 23.267-66.726 3.737-89.6-26.473-17.638-23.298-43.473-38.92-75.83-8.985-10.208-15.318-30.848-23.5-49.33-18.993-8.477-14.405-24.79-22.622-40.67-22.54z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScorpionTail;

impl IconShape for ScorpionTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M234.156 50.97C206.818 50.935 181.553 62 160.75 82.5l-.03.03-2.407 2.407-3.407.344c-49.495 5.403-83.706 33.15-89.5 85.095l-.375 3.5-2.56 2.47c-36.707 35.167-44.447 78.697-16.595 128.75l1.688 3.06-.626 3.44C41.666 340.604 46.126 363.12 57.5 381s30.177 31.492 55.344 40.625l4.125 1.5 1.624 4.063c12.656 31.673 29.218 54.478 50.844 64.687l297.968-.22c-37.12-38.026-97.324-65.477-154.562-82.28-32.405-9.513-63.8-15.746-89.22-19.03-25.418-3.286-45.81-3.197-52.155-1.75l-11.407 2.624-.532-11.72c-.957-22.076-7.112-36.88-16.655-48.813-9.543-11.93-22.932-21.06-38.813-29.687L94 295.53l6.97-9.092c9.87-12.847 11.79-26.224 10.093-41.594-1.7-15.37-7.504-32.15-12.782-48.844l-2.843-8.97 8.876-3.186c39.696-14.2 61.118-34.885 70.687-62.53l3.22-9.314 9.31 3.313c27.454 9.8 51.837 2.02 85.25-9.813l6.564-2.313 4.344 5.438c14.095 17.657 33.44 31.493 53.75 36.688 3.166.81 6.358 1.384 9.562 1.78-57.08 49.068 10.62 193.9 145.03 147.876-89.358-9.813-54.872-56.095-45.78-93.595 10.03-41.365-14.234-70.782-51.75-70.53-4.967-22.81-18.265-40.016-35.78-51.564-19.87-13.097-45.096-18.51-67.876-15.03l-3 .47-2.75-1.314c-17.383-8.393-34.527-12.417-50.938-12.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Screaming;

impl IconShape for Screaming {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.406 17.53v14.595l140.75 132.563L105.75 17.53H16.406zm123.22 0l68.343 124.407-2.907-124.406h-65.438zm100.468 0l22.78 118.564L298.5 17.53h-58.406zm93.437 0L317.19 147.75l90.53-130.22h-74.187zm106.283 0l-74.157 158.282L495.876 76.5V17.53h-56.063zM16.406 71.25v84.094l99.28 46.72L16.407 71.25zm479.47 46.156l-93.438 99.28 93.437-32.717v-66.564zm-312.188 59.47c-10.92.086-25.162 10.363-36.125 27.374-6.48 10.054-10.708 20.766-12.5 30.406-49.04 22.678-113.907 63.906-113.907 63.906l148.438 126 15 67.782h144.28l11.313-64.656.094.093 152.25-129.217s-66.033-41.99-115.217-64.532c-1.858-9.475-6.037-19.945-12.375-29.78-10.964-17.01-25.237-27.288-36.157-27.375-3.64-.03-6.906 1.073-9.56 3.438-2.42 2.154-4.117 5.17-5.126 8.812 1.253 1.576 2.484 3.176 3.656 4.844 11.65 16.57 19.578 37.626 22.47 61 8.607 7.78 17.563 11.763 24.717 10.78l54.594 35.938L314.94 359.5c-4.07 5.263-8.572 10.022-13.438 14.156-5.576-4.344-11.033-7.95-16.438-10.812 6.327-4.49 12.208-10.48 17.407-17.875 12.3-17.496 20.28-42.414 20.28-70.126 0-27.712-7.98-52.63-20.28-70.125-12.3-17.496-28.3-27.314-45.44-27.314-17.138 0-33.136 9.818-45.436 27.313-12.3 17.493-20.28 42.412-20.28 70.124 0 27.712 7.98 52.63 20.28 70.125 4.54 6.456 9.58 11.866 15 16.124-5.51 2.618-11.07 6.023-16.688 10.22-3.745-3.456-7.26-7.29-10.5-11.44l-105.25-58.187 54.438-35.843c7.49.513 16.76-4.09 25.5-12.594 3.06-22.683 10.856-43.12 22.22-59.28.79-1.128 1.607-2.23 2.436-3.314-.934-4.326-2.752-7.896-5.5-10.344-2.655-2.364-5.923-3.466-9.563-3.437zm61.093 58.468c-.653 3.818-1.03 7.97-1.03 12.312 0 2.244.067 4.41.25 6.53-11.27.942-22.108 3.384-32.063 7.345l-6.906-17.342c12.538-4.99 25.953-7.912 39.75-8.844zm28.22.78c11.567 1.376 23.15 4.035 34.47 7.907l-6.033 17.657c-9.206-3.15-18.574-5.347-27.906-6.625.237-2.393.345-4.85.345-7.406 0-4.045-.303-7.93-.875-11.53zm-16.5 41.314c20.266 0 36.72 16.404 36.72 36.656 0 20.255-16.454 36.687-36.72 36.687s-36.688-16.434-36.688-36.686 16.422-36.656 36.688-36.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScreenImpact;

impl IconShape for ScreenImpact {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M340.625 18.438l-42.438 104.657-39.562-99.938L213.25 157l-75.97-54.78 14.22 92.53L24.53 27l108.095 202.032-72.094-36.344 59.532 171.188-88.906-12.53 55.25 72.06-52.47-12.03 103.626 78.75 1.875 2.47h240.188l110.28-151.376-52.03 5.468 56.406-67.562-71.718 36.03L459.97 203.22l-54.783 24.625-88.75 67.843 54.282-78.25 18.936-116.343-57.75 37.562 8.72-120.22zM310.312 204.25L296.72 317.127l82.53-21.5-59.47 57.625L376.907 395l-77.437-12.905 36.092 75.75-67-39.313-40.593 50.375-3.72-57.97-70.063 5.783 70.063-37.313-77.53-79.28 75.124 18.56-8.375-84.75 51.405 87.5 45.437-117.186z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Screw;

impl IconShape for Screw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.2 20.25c-24.2.16-49.4 5.94-73 16.17-26.5 40.57-38.4 73.68-30.9 118.98-26.9-15.8-43.1-31.6-48.5-58.83-8.74 11.03-16 22.83-21.41 35.13-14.06 32-15.85 67.5 1.15 104.1L368.2 77.3c-22.6-34.19-53.9-51.23-88.5-55.81-4.7-.62-9.4-1-14.2-1.16-2.1-.1-4.2-.1-6.3-.1zm67.6 101.85l-40.9 23-61.5 93.9-41.3 60.6 15.4 10.6 22-32.3c8.3 12.2 16.8 24.2 25.7 36.1l86.7-120.9c-7.9-14.7-16.2-29.2-24.9-43.5zm-76.1 42.8l-74.4 41.8c7.1 12.6 14.6 25.1 22.4 37.6zm108.2 22.4L239.3 355.5l15.2 10.8 15.4-21.6c11 13.6 22.4 26.9 34.1 39.9l69.4-103.7c-6.7-17.2-14.1-34.2-22-50.9l22.7-31.9zm37.3 93.7l-14.6 21.6s-.1-.1-.1-.2l-24.9 37.3-61.3 90.8 15.4 10.4 19.4-28.7c8 8.2 16.2 16.2 24.6 23.9l47.5-66.9c-3.9-14.9-8.3-29.8-13.1-44.5l22.5-33.3zm26.3 93.1L408.2 394c-.1-.3-.1-.5-.2-.8l-39.4 55.5.1.1-13.5 18.8 15.2 11 12.6-17.5c12.9 10.8 26.2 21 39.6 30.7-1.8-24.3-4.9-48.6-9.3-72.7l24.4-34z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Screwdriver;

impl IconShape for Screwdriver {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M68.906 19.344c-2.614.03-5.178.298-7.687.75C49.235 20.75 38.59 25.42 30.812 33.5c-9.657 10.03-14.27 24.77-11.875 40.594.012.084.05.165.062.25.708 13.018 6.502 26.876 19.53 39.906l86.126 86.125c30.255 2.728 53.004 26.627 53.906 57.5l.157 5.625c.8 5.8 4.26 10.397 8.874 12.78 5.734 2.965 12.387 3.148 19.625-4.092l64.436-64.407c7.72-7.718 6.865-12.713 3.5-18.155-3.365-5.442-11.242-10.094-18.78-10.094H255.968c-30.125-1.296-53.427-23.484-56.5-53l-86.595-86.593C97.59 24.652 82.44 19.183 68.905 19.345zM65 38.187c5.44.03 11.493 1.387 17.97 4.47l92.968 92.968-13.22 13.22L54 40.124c3.284-1.25 6.967-1.96 11-1.938zM38.344 56.47L146.75 164.843l-13.22 13.22-90.405-90.408c-3.155-5.842-4.966-11.366-5.72-16.344-.85-5.62-.425-10.577.94-14.843zM453.22 169.687l1.842 18.593-34.593-17.81c-11.45 2.664-21.948 7.76-29.408 14.624-7.198 6.625-11.776 14.544-12.687 24.594l111.563-13.532c-3.744-9.308-10.448-15.842-19.25-20.53-5.2-2.77-11.146-4.75-17.47-5.94zm5.592 49.062l-43.343 5.28c1.224 13.065 2.98 26.084 5.28 38.94l40.063-29.22c-.582-5.014-1.26-10.008-2-15zm-188.25 16.563l-36.812 36.75 16.625 16.625 36.813-36.75-16.625-16.625zm192.25 20.093l-37.968 27.72c2.35 10.382 5.055 20.63 8.125 30.655l30.81-22.467c.176-11.902-.154-23.9-.967-35.907zm-173.968 21.28l-12.75 12.752L388.406 401.75l3.313 3.313-.69 4.625-4.342 29.968 73 46.688 26.093-26.094-46.686-72.97-30 4.345-4.625.688-3.314-3.313-112.312-112.313zM462.75 315.19l-23.563 17.187c4.596 12.718 9.778 25.015 15.594 36.75 3.98-17.394 6.615-35.487 7.97-53.938zm-326.25 4.28c-7.316.176-14.165 2.543-20.72 6.5-7.282 4.4-13.982 10.982-19.436 18.782l3.25 37.188-16.53-5.032c-1.325 7.755-1.367 15.408.06 22.25 2.003 9.588 6.414 17.628 14.595 23.563l45.56-102.75c-1.796-.284-3.57-.473-5.31-.5-.493-.01-.982-.013-1.47 0zm10.25 38.782l-17.688 39.938c11.83 5.634 23.894 10.798 36.094 15.406l-4.562-49.375c-4.585-2.063-9.196-4.053-13.844-5.97zm33.5 15.344l4.344 46.844c10.115 3.3 20.29 6.216 30.47 8.718l-3.5-37.97c-10.13-6.25-20.59-12.137-31.314-17.592zm51.313 30.72l2.687 29.03c13.26 2.568 26.457 4.417 39.5 5.437-12.892-12.322-27.05-23.852-42.188-34.467z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ScrollUnfurled;

impl IconShape for ScrollUnfurled {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M103.432 17.844c-1.118.005-2.234.032-3.348.08-2.547.11-5.083.334-7.604.678-20.167 2.747-39.158 13.667-52.324 33.67-24.613 37.4 2.194 98.025 56.625 98.025.536 0 1.058-.012 1.583-.022v.704h60.565c-10.758 31.994-30.298 66.596-52.448 101.43-2.162 3.4-4.254 6.878-6.29 10.406l34.878 35.733-56.263 9.423c-32.728 85.966-27.42 182.074 48.277 182.074v-.002l9.31.066c23.83-.57 46.732-4.298 61.325-12.887 4.174-2.458 7.63-5.237 10.467-8.42h-32.446c-20.33 5.95-40.8-6.94-47.396-25.922-8.956-25.77 7.52-52.36 31.867-60.452 5.803-1.93 11.723-2.834 17.565-2.834v-.406h178.33c-.57-44.403 16.35-90.125 49.184-126 23.955-26.176 42.03-60.624 51.3-94.846l-41.225-24.932 38.272-6.906-43.37-25.807h-.005l.002-.002.002.002 52.127-8.85c-5.232-39.134-28.84-68.113-77.37-68.113C341.14 32.26 222.11 35.29 149.34 28.496c-14.888-6.763-30.547-10.723-45.908-10.652zm.464 18.703c13.137.043 27.407 3.804 41.247 10.63l.033-.07c4.667 4.735 8.542 9.737 11.68 14.985H82.92l10.574 14.78c10.608 14.83 19.803 31.99 21.09 42.024.643 5.017-.11 7.167-1.814 8.836-1.705 1.67-6.228 3.875-15.99 3.875-40.587 0-56.878-44.952-41.012-69.06C66.238 46.64 79.582 39.22 95.002 37.12c2.89-.395 5.863-.583 8.894-.573zM118.5 80.78h46.28c4.275 15.734 3.656 33.07-.544 51.51H131.52c1.9-5.027 2.268-10.574 1.6-15.77-1.527-11.913-7.405-24.065-14.62-35.74zm101.553 317.095c6.44 6.84 11.192 15.31 13.37 24.914 3.797 16.736 3.092 31.208-1.767 43.204-4.526 11.175-12.576 19.79-22.29 26h237.19c14.448 0 24.887-5.678 32.2-14.318 7.312-8.64 11.2-20.514 10.705-32.352-.186-4.473-.978-8.913-2.407-13.18l-69.91-8.205 42.017-20.528c-8.32-3.442-18.64-5.537-31.375-5.537H220.053zm-42.668.506c-1.152-.003-2.306.048-3.457.153-2.633.242-5.256.775-7.824 1.63-15.11 5.02-25.338 21.54-20.11 36.583 3.673 10.57 15.347 17.71 25.654 13.938l1.555-.57h43.354c.946-6.36.754-13.882-1.358-23.192-3.71-16.358-20.543-28.483-37.815-28.54z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Scythe;

impl IconShape for Scythe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M296.625 25.406c-63.794.388-135.81 14.683-206.03 32.844-3.472 34.08 2.226 68.906 14.03 104.25C181.175 75.936 393.65 44.825 486.72 128 456.02 50.466 384.046 24.874 296.624 25.406zM65.655 61.438L27.906 71c5.643 78.022 28.546 132.393 60.44 174.47-16.54 10.348-40.693 19.673-68.782 26.843 5.664 6.597 14.25 16.18 30.53 18.53 24.846-4.33 39.912-14.982 53.75-26.593 76.24 85.145 190.22 118.955 253.126 224.22l49.436-.126C290.996 275.316 81.01 364.804 65.656 61.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeaDragon;

impl IconShape for SeaDragon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M297.688 21.063c-15.634.137-31.488 4.074-46.657 12.343 34.997-2.542 65.762 8.182 74.345 33.938-128.86-16.852-260.25 113.34-31.72 245.187 62.006 35.773 19.38 127.795-104.31 75.095C24.494 317.39 36.47 186.86 95.844 118.562c7.322 12.328 13.418 26.194 18.936 40.75 19.067-48.595 56.388-68.62 93.595-88.812-52.197-24.58-102.01-14.783-150.906 8.406 10.362 5.744 19.104 13.503 26.655 22.72-113.558 67.915-77.773 280.4 71.406 366.53 189.853 109.61 414.786-132.238 208.157-211.062-151.438-57.77-111.705-139.905-38.03-126.156l2.624 42.625 141.345 39.375 20.906-60.657c-28.94-12.513-52.207-26.577-71.092-43.843 1.268-28.244-10.66-56.505-33.907-84.75.757 13.793.603 27.582-1.592 41.376-22.21-28.084-53.733-44.287-86.25-44zm43.437 65.374c23 7.268 44.722 20.866 62 44.094-33.73 15.82-69.124-5.32-62-44.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeaSerpent;

impl IconShape for SeaSerpent {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220 16.125l12.688 39.438-75.75-31.157 22.843 35.5-62.31-8.062 20.25 18.375C85.836 87.854 40.9 132.144 31.47 182.5c-13.072 69.79 13.156 136.212 83.56 174.344 28.93 15.672 67.963 44.2 69.626 74.625 1.576 28.818-16.452 47.193-38.437 62.25h141.5c10.595-26.14 15.644-50.77 12.81-74.5-7.014-58.812-61.562-108.4-122.56-133.126-31.615-12.813-67.4-25.374-59.595-84.125 7.474-56.25 65.42-77.176 104.78-65.126l175.064 174.47 11.217-11.283.125.158 29.75-27.032-46.812 6.094-11.344-11.344 27.188-24.656-45.938 5.97-13-12.97 27.75-25.22-46.906 6.095.25.313-13.844-13.813L341 181.562l-41.156 5.313-32.906-32.813c-9.38-17.193-4.68-25.8 5.468-28.28 3.945 12.708 14.1 23.23 27.813 26.906 14.044 3.763 28.41-.562 38.186-10.063l10.938 29.438 6.72-26.094 21.405 5.718 14.155 38.093 8.28-32.06 20.908 5.593L436.5 205.53l9.188-35.56 16 4.28 15.656 42.156 9.156-35.5.22.063 5.28-19.782-23.97-27.47-119.56-32.03c-4.09-12.39-14.137-22.582-27.595-26.188-2.65-.71-5.294-1.127-7.938-1.28-4.957-.29-9.84.372-14.437 1.843L220 16.124zm89.938 76.688c.612-.015 1.223-.008 1.843.03 1.418.09 2.85.336 4.283.72 11.452 3.068 18.1 14.578 15.03 26.03-3.067 11.45-14.61 18.1-26.062 15.032-11.452-3.07-18.098-14.58-15.03-26.03 2.517-9.394 10.746-15.563 19.938-15.782z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SeatedMouse;

impl IconShape for SeatedMouse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240.125 23.563c-14.745.33-28.994 8.14-36.906 21.843-3.423 5.926-6.234 17.854-8.532 31.907-36.383 8.417-75.868 48.232-93.375 94.406 29.49 11.05 58.933 14.183 84.312 11.436-59.315 98.734-49.44 208.705 47.72 208.72 9.06 0 17.345-.91 24.874-2.688 57.812 24.78 100.79 13.996 122.81-13.438 22.414-27.923 22.947-69.86 3.314-102.438-17.974-29.824-26.618-53.295-26.03-69.968.585-16.674 8.498-28.14 29.873-38.875l-8.375-16.69c-25.082 12.596-39.368 31.652-40.187 54.907-.82 23.256 9.914 49.13 28.688 80.282 15.827 26.262 14.738 60.395-1.875 81.092-14.44 17.992-40.735 28.253-83.344 14.563 53.146-35.285 41.39-134.655-19.906-220.188 8.096 2.605 14.99 4.22 19.625 4.22 24.115-.003 43.687-19.543 43.687-43.657 0-23.737-18.97-43.027-42.563-43.625 3.36-17.73-4.552-36.437-21.062-45.97-7.178-4.143-15.026-6.016-22.75-5.843zM99.595 360.219C49.44 373.845 17.03 394.014 17.03 416.405c0 41.018 106.547 74.375 237.72 74.375s237.688-33.356 237.688-74.374c0-22.31-32.125-42.56-81.97-56.187C427.7 369.097 438 379.46 438 390.655c0 32.13-82.313 58.563-183.25 58.563S72.094 422.783 72.094 390.655c0-11.254 10.093-21.528 27.5-30.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SelfLove;

impl IconShape for SelfLove {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M278.574 20.672l-28.246 43.463c-36.452-29.484-87.944-38.624-127.96-30.428-54.457 11.15-100.166 60.347-97.895 131.46 2.394 74.955 54.71 129.71 104.89 174.823 25.09 22.554 50.84 43.086 69.928 61.535 37.685 34.062 55.942 92.366 55.942 92.366s24.534-59.502 55.942-89.572c19.692-18.7 45.676-39.61 71.324-62.93 51.298-46.644 104.404-104.034 102.094-177.618 0-122.308-121.2-121.013-167.883-78.495 19.323-10.226 40.12-12.397 58.798-8.214 34.297 7.683 62.693 35.935 64.332 88.108 1.562 49.92-39.09 98.088-88.11 142.654-24.508 22.28-49.752 42.445-71.324 62.93-11.456 10.884-16.74 20.514-25.174 31.795-8.437-11.983-13.663-22.066-25.173-33.192C174.715 306.4 86.784 238.475 83.27 163.77c-.72-62.22 72.103-78.604 111.246-51.04l-45.924 25.258c67.393 11.144 124.746 37.36 185.597 75.588L278.573 20.672z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SemiClosedEye;

impl IconShape for SemiClosedEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.063 19.5c-117.45 0-215.188 85.162-234.844 197.03l-.44.345.314.406c-1.46 8.462-2.49 17.075-3.032 25.814 4.73-4 9.484-7.87 14.25-11.625l.063.06c146.48-115.9 305.707-112.07 447.344 0l.03-.03c4.787 3.76 9.572 7.615 14.313 11.625-.54-8.76-1.568-17.394-3.032-25.875l.283-.375c-.135-.106-.272-.206-.407-.313C473.26 104.68 375.522 19.5 258.062 19.5zm0 18.688c101.242 0 186.342 68.277 211.906 161.343-66.862-46.73-138.216-70.87-210.064-71.31-72.09-.444-144.657 22.953-213.72 71.25 25.59-93.032 110.66-161.282 211.876-161.282zm1.843 126.906c-19.728-.138-39.508 1.77-59.28 5.75-28.27 18.638-46.876 50.68-46.876 87.156 0 36.69 18.828 68.857 47.375 87.438 19.428 3.744 38.904 5.57 58.344 5.468 18.58-.098 37.148-1.952 55.624-5.53 28.473-18.593 47.25-50.737 47.25-87.376 0-36.436-18.573-68.447-46.78-87.094-18.504-3.747-37.068-5.682-55.658-5.812zM162 181.314c-44.358 15.08-88.47 40.774-131.625 77.624 42.734 36.39 87.183 61.755 132.22 76.5-17.2-21.155-27.532-48.113-27.532-77.438 0-28.983 10.098-55.64 26.937-76.688zm192.188.092C370.976 202.44 381.03 229.06 381.03 258c0 29.296-10.305 56.23-27.467 77.375 45.355-14.86 89.806-40.357 132.156-76.406-42.67-36.427-86.778-62.318-131.533-77.564zm-96.125 17.375c6.243 0 12.255.957 17.906 2.75-9.1 4.638-15.345 14.09-15.345 25 0 15.492 12.572 28.064 28.063 28.064 11.16 0 20.795-6.534 25.312-15.97 2.104 6.077 3.25 12.586 3.25 19.376 0 32.69-26.498 59.188-59.188 59.188S198.875 290.69 198.875 258c0-32.69 26.498-59.22 59.188-59.22zm237.875 76.095c-6.803 5.73-13.67 11.185-20.594 16.406-.022.147-.04.293-.063.44-68.965 55.238-142.036 83.367-215.467 83.842-73.467.476-147.678-26.688-218.97-83.78-.022-.146-.04-.292-.062-.438-6.914-5.218-13.78-10.697-20.593-16.438C28.874 398.63 132.153 496.47 258.063 496.47c125.92 0 229.204-97.856 237.875-221.595zm-448.782 45.22c68.69 50.006 140.915 74.62 212.78 74.155 71.622-.463 142.556-25.776 209.033-74.156-26.753 91.21-110.98 157.687-210.908 157.687-99.92 0-184.145-66.49-210.906-157.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sensuousness;

impl IconShape for Sensuousness {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.344 21.885c-1.224.032-2.443.15-3.656.35-9.712 1.62-18.018 8.555-23.653 19.99-5.635 11.434-8.068 27.065-5.308 43.61 2.76 16.542 10.134 30.538 19.175 39.524 9.042 8.986 19.15 12.848 28.862 11.228 9.71-1.62 18.017-8.555 23.652-19.99 5.635-11.435 8.068-27.067 5.31-43.61-2.76-16.544-10.138-30.54-19.18-39.525-7.91-7.863-16.638-11.802-25.202-11.578zm185.64 32.22c-35.615 33.13-82.033 58.62-132.83 76.217-7.837 12.763-19.697 22.255-34.316 24.694-11.368 1.896-22.54-.784-32.383-6.547-55.808 11.324-113.423 13.896-165.514 7.39 42.767 37.097 106.85 54.638 169.626 50.964-9.982 93.127-47.653 188.14-81.968 282.924 53.913-39.23 109.785-113.508 127.08-175.496 27.11 53.623 33.926 92.79 49.646 176.547h.002c34.354-84.91 33.247-202.718-13.023-301.91 56.437-22.846 101.64-67.225 113.68-134.785z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SentryGun;

impl IconShape for SentryGun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94 67.656v78.094h124.063V67.656H94zm-74.156 49.5v75.875l97.78 98.032h144.44l-.002-173.906H236.75V164.438H75.312V117.155H19.844zM280.75 136.03v89.407h99l-46.625 46.75H280.75v18.688h60.125l2.75-2.75 58.625-58.78 2.72-2.72v-1.188h.342V136.03H280.75zM424 154.407v51.75h68.53v-51.75H424zM165.906 309.75c.198 13.433 5.876 25.525 14.938 34.125L115.75 429.97c-25.832 2.44-47.42 20.308-56.97 45.217h126.064c-8.29-21.625-25.665-37.942-47-43.468l23.125-30.564h101.31l23.095 30.563c-21.332 5.527-38.68 21.844-46.97 43.467h126.032c-9.546-24.906-31.11-42.775-56.937-45.218l-63.28-83.658c10.65-8.667 17.47-21.81 17.686-36.562h-96zm30.813 44.156c5.34 2.05 11.124 3.156 17.186 3.156 4.702 0 9.237-.678 13.53-1.937l20.69 27.344h-73l21.593-28.564z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SerratedSlash;

impl IconShape for SerratedSlash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M45.156 22.375c-7.16.035-14.42.166-21.78.375 237.557 25.66 433.75 444.537 147 429.47C547.707 626.792 649.035 19.44 45.155 22.374zm114.03 23.656c42.156 8.716 79.4 21.247 111.908 36.564l-49.906-5.813c-18.943-11.373-39.588-21.733-62-30.75zm101.72 54.19l53.78 6.28c18.73 11.87 35.41 24.773 50.064 38.375L260.906 100.22zm37.813 36.593l97.342 41.843c16.622 21.04 29.12 43.047 37.72 65.094L298.718 136.812zm52.186 65.156l92.53 73.28c4.36 19.457 5.676 38.577 4.095 56.72l-96.624-130zm30.156 71.905L443.22 357.5c-3.516 13.73-8.858 26.63-16 38.313L381.06 273.875zm9.25 77.188l23.72 62.656c-5.084 5.772-10.736 11.096-16.907 15.936l-6.813-78.594zm-14.375 50.687l3.438 39.625c-6.736 3.695-13.956 6.876-21.625 9.53l18.188-49.155zm-34.593 39.625l-5.688 15.375c-14.48 2.757-30.254 3.816-47.312 2.875 20.822-1.33 38.548-7.8 53-18.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SewedShell;

impl IconShape for SewedShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M191.11 19.373c-50.45.415-96.5 14.087-127.567 45.154-42.76 42.758-51.6 112.812-38.316 183.776 13.284 70.964 48.79 141.863 90.164 183.236 52.5 52.5 127.488 70.074 197.864 53.267-6.04-.71-12.1-1.752-18.15-3.13-45.28-10.308-90.755-38.134-129.092-76.282-38.39-38.202-69.823-87.152-85.657-139.883-16.76-1.876-29.564-17.29-31.492-35.346-1.752-16.41 6.584-32.28 20.395-37.664 0-10.03.653-20.08 2.015-30.11-8.74-4.717-14.032-13.544-15.757-22.956-1.777-9.694-.165-20.35 4.808-30.315 4.973-9.964 12.52-17.66 21.334-22.07 4.407-2.203 9.26-3.563 14.162-3.796.613-.03 1.226-.042 1.84-.035 4.296.045 8.593.98 12.625 2.993 9.217 4.6 14.764 13.685 16.54 23.38 1.778 9.693.166 20.35-4.807 30.315-4.974 9.965-12.52 17.662-21.334 22.07-3.426 1.714-7.12 2.91-10.9 3.47-1.148 8.733-1.72 17.5-1.745 26.263 14.32 4.02 24.877 18.136 26.612 34.395 1.552 14.536-4.812 28.645-15.882 35.424 14.933 48.883 44.255 94.624 80.425 130.616 36.298 36.12 79.286 62.027 120.057 71.31 30.218 6.878 58.857 4.985 83.926-8.21 8.53-5.39 16.82-11.377 24.79-17.982l.085-.078.004.003c5.75-4.77 11.34-9.85 16.74-15.25 23.34-23.34 40.78-50.168 52.295-78.536-17.795 18.48-40.435 29.402-64.686 32.598-48.438 6.384-102.423-16.486-139.125-63.658-56.55-72.687-59-139.165-33.89-181.108 16.725-27.934 45.845-44.265 76.503-43.892.99.012 1.98.04 2.97.088 14.426.683 29.113 5.08 42.94 13.718 54.013 33.746 75.73 82.143 70.427 117.754-2.65 17.806-13.255 33.073-30.02 38.168-15.575 4.733-34.518.858-55.595-12.13-6.516-3-12.884-7.375-18.574-13.065-19.452-19.453-23.65-46.792-9.378-61.065 14.272-14.272 41.613-10.074 61.067 9.38 19.003 19.004 23.438 45.53 10.327 60.05 2.49-.092 4.743-.452 6.718-1.053 9.3-2.827 15.084-10.373 16.97-23.04 3.774-25.334-12.82-68.52-61.845-99.15-36.085-22.546-76.09-10.213-96.474 23.836-20.385 34.05-20.766 91.433 32.605 160.03 33.03 42.454 81.09 61.99 121.933 56.607 40.167-5.294 74.18-33.198 83.732-91.534 1.91-56.265-17.765-111.874-59.3-153.41l-.034-.034c-31.14-31.124-79.645-58.436-132.467-75.28-38.272-10.127-69.105-2.288-92.846 16.708-25.944 20.758-43.36 55.854-48.457 97.37-2.83 23.054-1.868 47.97 3.38 73.284 8.544.99 16.787 5.21 22.686 12.25 11.208 13.375 9.78 33.56-3.668 44.256 4.03 8.495 8.594 16.91 13.713 25.19 2.926-.838 5.93-1.238 8.948-1.22.843.003 1.686.04 2.528.108 11.23.9 22.334 7.324 29.648 17.358 8.63 11.837 10.16 27.278 3.916 38.69 7.486 7.04 15.532 13.83 24.14 20.327 4.44-4.13 10.107-6.906 16.07-8.273 2.45-.562 4.977-.916 7.552-1.06.966-.055 1.938-.08 2.916-.075 6.85.03 13.978 1.497 20.932 4.41 10.595 4.44 19.084 11.523 24.355 20.085 5.27 8.562 7.302 19.218 3.26 28.865-4.043 9.647-13.063 15.672-22.863 17.918-9.8 2.247-20.804 1.163-31.4-3.277-10.594-4.44-19.083-11.52-24.354-20.083-3.99-6.48-6.114-14.157-5.164-21.69-10.534-7.793-20.298-16.013-29.315-24.584-15.46 6.788-34.284-.154-44.99-14.84-9.558-13.11-10.417-30.64-1.642-42.222-5.88-9.455-11.084-19.09-15.65-28.83-10.72.83-21.77-3.566-29.152-12.376-11.42-13.63-9.735-34.332 4.433-44.86 1.503-1.117 3.08-2.064 4.702-2.878-5.555-27.058-6.593-53.807-3.53-78.75 5.565-45.34 24.603-85.102 55.33-109.686 9.508-7.608 20.145-13.656 31.726-17.904-11.147-1.26-22.212-1.958-33.09-2.05-1.636-.015-3.27-.016-4.897-.003zm-94.557 82.48c-1.99.11-4.174.72-6.54 1.903-4.735 2.368-9.695 7.13-12.976 13.705-3.28 6.575-4.105 13.402-3.15 18.608.954 5.207 3.305 8.437 6.51 10.036 3.204 1.598 7.2 1.537 11.933-.83 4.734-2.368 9.694-7.132 12.975-13.706 3.28-6.573 4.104-13.403 3.15-18.61-.954-5.205-3.306-8.435-6.51-10.034-1.602-.8-3.4-1.184-5.392-1.072zM79.156 209.255c-6.992.308-12.933 7.52-11.715 18.928 1.22 11.408 9.925 19.14 16.917 18.832 6.993-.308 12.935-7.52 11.717-18.928-1.218-11.41-9.925-19.14-16.918-18.832zm80.387 33.887c-2.76.09-5.41.918-7.53 2.496-5.662 4.205-6.523 11.584-1.26 17.866 5.265 6.282 14.666 7.393 20.327 3.187 5.66-4.206 6.522-11.583 1.258-17.865-2.632-3.14-6.298-4.99-10.014-5.527-.93-.134-1.86-.187-2.78-.157zm45.562 80.818c-.387.004-.77.02-1.146.052-2.006.164-3.826.723-5.302 1.664-5.9 3.763-7.44 12.976-.68 22.248 6.758 9.27 18.163 11.614 24.065 7.85 5.902-3.76 7.443-12.977.684-22.25-4.753-6.518-11.803-9.61-17.622-9.563zm87.204 66.878c-.61-.005-1.208.01-1.794.04-1.563.08-3.037.28-4.39.59-5.416 1.242-8.487 3.776-9.81 6.932-1.322 3.157-.974 7.123 1.938 11.854 2.912 4.73 8.41 9.61 15.668 12.65 7.257 3.04 14.59 3.54 20.006 2.3 5.414-1.242 8.488-3.776 9.81-6.933 1.323-3.155.973-7.12-1.94-11.852-2.91-4.73-8.41-9.61-15.667-12.65-4.762-1.996-9.557-2.897-13.82-2.93z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SewingNeedle;

impl IconShape for SewingNeedle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M56.813 18.438c-.47-.005-.938.014-1.407.03-.625.023-1.252.066-1.875.126-7.468.72-14.682 4.148-22.31 11.125-9.985 9.128-12.863 17.66-11.407 27.718 1.455 10.056 8.353 22.236 21.125 34.906 2.895 2.872 6.126 5.737 9.593 8.625 1.27 1.055 2.565 2.13 3.907 3.186 1.122.882 2.266 1.775 3.438 2.656.232.175.454.358.688.532C74.71 119.38 95.558 131.28 120.25 142.22c159.723 161.31 288.815 297.553 374.594 352.124-51.11-85.624-187.432-214.62-350-375.531-10.23-23.802-21.115-43.71-32.094-59.282 35.46-10.19 82.517-2.294 125.75 40.94 40.243 40.242 52.642 90.776 41.375 128.343 4.89 4.914 9.883 9.913 14.688 14.75 19.07-46.1 4.573-108.895-42.844-156.313-35.694-35.693-75.48-50.324-111.032-50.22-1.147.005-2.3.03-3.438.064-21.844.65-41.957 6.898-58.344 17.187-2.884 1.812-5.663 3.757-8.312 5.814 1.33 3.094 2.758 5.884 4.406 8.218 1.92 2.72 4.004 4.936 6.906 6.688 2.202-1.717 4.498-3.375 6.938-4.906 1.063-.668 2.145-1.34 3.25-1.97 8.196 10.088 15.465 24.624 25.47 47.25-23.907-10.568-38.822-18.04-49.033-27 .024-.03.04-.063.064-.093-.433-.33-.867-.655-1.28-1-.013-.008-.022-.02-.033-.03-11.215-10.375-16.532-22.934-22.31-44.5 5.988 1.605 11.256 3.19 16 4.844 8.53-6.46 17.51-11.71 26.81-15.875-9.5-7.738-18.552-11.93-26.686-12.97-1.443-.185-2.87-.3-4.282-.313zM493.28 64.374c-77.985 0-125.587 28.886-146.124 69.406-20.536 40.52-13.994 90.39 9.688 131.407 11.385 19.72 17.807 40.687 19.187 61.22 6.27 6.475 12.425 12.867 18.47 19.187 2.31-29.955-5.072-61.35-21.47-89.75-21.13-36.602-26.155-80.112-9.186-113.594 16.97-33.481 55.94-59.188 129.437-59.188V64.376zM37.907 114.938c-2.894 23.925 6.18 50.21 29.532 73.562l13.218-13.188c-15.97-15.97-23.188-31.833-24.437-46.593-6.646-4.51-12.754-9.102-18.314-13.782zM124.062 277c-24.466-.028-45.04 4.92-61.343 13.656-24.842 13.31-39.363 35.865-40.75 60.47-2.78 49.207 44.38 102.65 140.405 118.28 101.63 16.544 170.303-9.184 205.406-54.062 1.01-1.29 1.988-2.59 2.94-3.906-4.552-4.232-9.148-8.52-13.783-12.875-1.233 1.79-2.52 3.55-3.875 5.28-29.97 38.315-90.355 62.97-187.687 47.126-90.394-14.715-126.796-62.527-124.75-98.783 1.023-18.127 10.982-34.37 30.938-45.062 19.955-10.692 50.267-15.364 90.5-7.47 34.077 6.69 62.938 3.47 85.437-6.936-4.72-4.65-9.49-9.33-14.28-14.064-17.545 6.452-39.89 8.088-67.564 2.656-14.895-2.923-28.778-4.297-41.594-4.312z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShadowFollower;

impl IconShape for ShadowFollower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.912 21.563c-.507.012-1.01.043-1.504.11C97.753 25.525 74.6 57.76 74.6 96.662c0 21.547 7.39 40.787 18.767 54.5-61.678 11.593-66.342 115.44-66.342 188.347h42.772l11.348 152.158h108.68L199.86 339.51h40.593c0-73.108 1.47-178.783-65.904-189.22 10.89-13.647 17.893-32.613 17.893-53.628 0-41.496-26.445-74.99-58.923-74.99-1.523 0-3.087-.146-4.608-.11zm239.828 0c-.507.012-1.01.043-1.504.11-29.655 3.853-52.808 36.087-52.808 74.99 0 21.547 7.39 40.787 18.767 54.5-61.678 11.593-66.34 115.44-66.34 188.347h30.323l-10.17-11.422c-.31-51.837 1.858-95.18 24.008-135.484l-1.543 146.906h.152l11.348 152.158h86.013l-66.03-12.006c-11.876-104.37-18.402-205.544-4.09-308.36 0 0 9.455-6.07 24.03-13.396-14.157-12.08-23.552-33.24-23.552-57.345 0-37.564 22.797-68.013 50.918-68.013 8.887 0 17.24 3.046 24.51 8.392-10.45-11.98-24.28-19.268-39.424-19.268-1.523 0-3.087-.146-4.608-.11zm69.192 171.308l1.685 147.214 22.324-.262c.31-51.836-1.86-106.647-24.008-146.95zm1.685 147.214h-.002l.002.006v-.006z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShadowGrasp;

impl IconShape for ShadowGrasp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M221.268 19.824c-9.866.172-19.968 2.14-30.002 6.63L65.386 67.983l-.44 7.108c-5.165 83.462-6.107 155.855-44.696 211.004v33.226c58.64-62.168 59.955-145.976 65.28-235.832l72.384-23.88c-21.245 23.445-34.98 43.238-42.084 59.808-2.855 6.66-4.755 12.936-5.37 18.902-7.816 25.16-5.503 51.296 15.24 74.905-3.255-15.89-3.477-31.222-1.53-45.828 2.583 1.532 5.388 2.703 8.293 3.44 19.373 4.906 44.5-1.94 76.35-17.253 30.25-14.542 66.117-37.706 105.01-69.775l48.368 32.73c-29.567-2.373-57.21 2.11-80.665 12.113-18.437 7.865-34.347 19.29-46.357 33.426-24.973 26.092-33.82 71.752-28.268 98.403 2.466-10.895 6.392-22.255 11.496-33.578l143.338-40.074 46.852 41.906c-30.122-7.788-58.994-11.142-84.867-8.238-39.39 4.42-72.503 24.934-86.783 64.244l-5.185 14.274 136.463-1.49 26.174 57.138c-42.183-25.606-84.56-34.873-125.693-34.37-51.737.635-101.458 16.077-148.695 31.68l-2.484.82-1.81 1.892c-11.985 12.504-27.58 37.417-41.985 66.17-11.847 23.65-22.493 49.252-27.418 71.986H68c4.805-18.81 14.066-41.677 24.53-62.563 13.107-26.165 28.38-49.616 36.9-59.23 46.044-15.156 92.8-29.148 139.525-29.72 45.873-.563 91.752 11.28 139.047 48.245 15.232 20.38 26.606 41.606 31.72 64.203 4.928-23.655 5.312-52.454-11.784-76.38L381.65 276.343l-118.1 1.29c13.015-22.177 34.103-33.042 62.514-36.232 32.693-3.67 74.36 4.298 117.655 20.55 21.03 16.204 38.378 34.313 49.58 55.6-1.527-26.99-10.2-58.732-39.917-76.972l-86.215-77.11-130.076 36.366c8.267-22.522 26.764-40.777 52.687-51.834 28.765-12.27 66.23-15.26 106.263-4.094 24.284 10.177 45.53 23.124 61.742 40.658-6.674-20.26-18.418-42.217-39.49-55.462L312.527 57.53l-6.082 5.124c-40.176 33.84-76.992 57.666-106.746 71.97-29.754 14.306-52.98 18.12-62.073 15.817-4.546-1.15-5.186-2.007-5.928-4.67-.743-2.66-.484-8.857 3.464-18.067 7.5-17.498 27.28-44.476 62.05-78.553 25.34-10.698 50.48-17.074 75.28-16.107-14.85-7.49-32.616-13.543-51.226-13.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShardSword;

impl IconShape for ShardSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M496.514 14.453l-97.79 45.47-71.57 71.567-26.558-33.377-31.772 91.705-74.644 74.645-26.56-33.375-29.968 86.504 20.053 20.05L413.415 81.93l13.216 13.215L170.92 350.86l20.756 20.755 75.763-75.765 83.155-28.807-30.266-24.084 80.082-80.083 83.158-28.81-31.148-24.786 44.096-94.827zM43.57 266.525l-.002 39.75 23.793-.334 137.732 137.734-.336 23.79h39.754l-.28-39.538h-22.673L83.11 289.48v-22.675l-39.54-.28zm71.434 113.49l-88.166 88.167 17.738 17.74 88.168-88.168-17.74-17.738z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharkJaws;

impl IconShape for SharkJaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.97 20.22C150.394 88.557 72.1 275.18 69.874 494.374h375.188c-2.2-219.194-79.52-405.817-187.094-474.156zm-18.845 163.06l18.344 36.282 18.342-36.28c9.99 2.326 19.72 6.537 29.063 12.437l4.156 48.56 20.095-28.624c7.938 8.123 15.48 17.558 22.594 28.156L345.436 279l18.375-15.344c24.39 44.295 42.05 103.6 49.532 170.78-10.036-32.144-26.553-60.393-47.625-82.342l4-35.813L344.093 333c-6.098-4.53-12.452-8.595-19.03-12.156l-3.345-40.97-26.314 28.876c-7.31-2.074-14.792-3.58-22.437-4.438l-15.5-33.25-15.5 33.282c-8.14.916-16.12 2.522-23.876 4.812l-24.875-27.28-3.157 38.874c-6.645 3.585-13.065 7.68-19.22 12.25l-25.624-16.72 4.03 35.814c-21.08 21.95-37.618 50.19-47.656 82.344 7.482-67.188 25.17-126.485 49.562-170.782L169.5 279l-6.28-35.188c7.37-10.983 15.213-20.71 23.468-29.03l19.25 27.374 3.937-46.312c9.4-5.963 19.193-10.22 29.25-12.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharpCrown;

impl IconShape for SharpCrown {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.28 18.25L198.5 196.53 154.97 63.595l-50.75 182.5-33.25-87.625-34.907 140.75c-10.612 14.005-16.47 29.292-16.47 45.28 0 5.906.9 11.848 2.438 17.53C38.147 303.664 135.618 258.69 253.47 258.69c117.85 0 215.352 44.975 231.468 103.343 1.538-5.682 2.437-11.624 2.437-17.53 0-16.412-6.19-32.066-17.344-46.375L435.407 158.47l-29.03 76.75L358.03 63.593l-47.75 146.844-58-192.188zm-.843 149.313c14.193 0 25.72 16.46 25.72 36.78s-11.527 36.813-25.72 36.813c-14.192 0-25.687-16.492-25.687-36.812 0-20.32 11.495-36.78 25.688-36.78zm-95.78 26.843c10.812 0 19.562 12.55 19.562 28.03 0 15.484-8.75 28.033-19.564 28.033-10.813 0-19.594-12.55-19.594-28.032 0-15.483 8.78-28.032 19.594-28.032zm202.062 0c10.812 0 19.592 12.55 19.592 28.03 0 15.484-8.78 28.033-19.593 28.033-10.814 0-19.564-12.55-19.564-28.032 0-15.483 8.75-28.032 19.563-28.032zm-284.97 45.25c8.233 0 14.906 9.556 14.906 21.344 0 11.788-6.673 21.344-14.906 21.344S57.844 272.788 57.844 261c0-11.788 6.673-21.344 14.906-21.344zm360.938 0c8.232 0 14.906 9.556 14.906 21.344 0 11.788-6.674 21.344-14.906 21.344-8.233 0-14.907-9.556-14.907-21.344 0-11.788 6.675-21.344 14.908-21.344zM126.344 403.5c-16.1.228-32.323 4.688-48.72 14.375 48.73 62.635 97.458 50.163 146.19 29.53-32.1-27.026-64.507-44.373-97.47-43.905zm257.875 0c-32.173.35-63.806 17.507-95.158 43.906 48.73 20.632 97.458 33.104 146.188-29.53-17.177-10.15-34.18-14.56-51.03-14.376z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharpLips;

impl IconShape for SharpLips {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.773 20.154c-59.588 0-124.375 42.627-215.554 46.055l25.73 70.442c62.673-43.115 126.324-64.678 190.44-64.44 63.326.233 126.67 21.697 189.69 63.12l25.246-69.12c-91.886 0-159.248-46.056-215.555-46.056l.003-.002zm-2.652 70.772c-18.31.152-36.612 2.178-54.915 6.142l35.766 106.82 19.15-112.962zm5.425.008l20.027 112.953 34.854-106.68c-18.354-3.972-36.645-6.054-54.88-6.273zm-68.783 8.11c-19.286 4.802-38.578 11.747-57.89 20.878l30.43 141.086 27.46-161.963zm132.04.11l27.44 161.854 30.293-141.487c-19.322-8.84-38.563-15.625-57.732-20.366zm63.87 23.24l23.976 112.682 29.84-81.695c-18.015-12.082-35.95-22.416-53.816-30.985zm-259.664.366c-17.785 8.814-35.59 19.485-53.428 32.047l29.318 80.267 24.11-112.314zm43.916 177.445l-26.934 115.73c17.212 4.612 34.437 8.154 51.68 10.633l-24.746-126.363zm171.7 0L310.89 426.5c17.122-2.45 34.275-5.917 51.465-10.395l-26.732-115.9zm-227.183.024l-35.88 93.41c19.258 8.172 38.522 14.99 57.8 20.465L108.44 300.23zm282.665 0l-21.748 113.995c19.267-5.323 38.582-11.906 57.952-19.75l-36.205-94.246zm-170.533 47.303l-23.924 80.11c16.01 1.997 32.038 3.083 48.086 3.257l-24.162-83.367zm58.403 0l-24.16 83.352c16-.206 32.017-1.304 48.064-3.305l-23.905-80.047zM65.86 411.078L51.794 447.7c56.882 37.393 143.25 47.306 197.982 47.306 51.718 0 149.793-8.762 197.98-47.305l-13.75-35.794c-123.46 49.763-246.83 50.343-368.144-.828z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharpSmile;

impl IconShape for SharpSmile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M458.656 19.72c-57.77 6.715-81.53 39.592-99.28 77.093 74.776 2.09 108.602-23.12 99.28-77.094zM54.937 21.374c-9.32 53.974 24.505 79.154 99.282 77.063-17.752-37.5-41.512-70.346-99.282-77.063zM467.844 175.03c-4.32.2-9.382 2.47-15.22 7.19-8.233 6.657-16.966 12.814-26.124 18.468 28.704 32.76 45.837 74.055 56.563 118.437 10.61-69.51 11.1-145.308-15.22-144.094zM60.47 180.688c-25.47-.264-30.547 76.598-21.157 146.657 14.426-42.205 34.88-83.047 62.218-119.656-9.302-5.88-18.05-12.415-26.093-19.625-5.608-5.03-10.59-7.33-14.968-7.375zm341.592 33.407c-15.548 7.583-31.938 13.896-48.875 18.906 27.92 71.072 40.385 145.85 48.188 220.28 20.714-79.27 18.07-159.615.688-239.186zm-274.625 7.625c-16.893 65.397-28.75 128.586-20.874 194.124 13.266-63.588 33.256-123.988 66.156-178.22-15.82-4.037-31.007-9.326-45.282-15.905zm296.5 6.093c14.383 75.347 15.57 152.055-3.812 227.937 16.663-10.085 29.597-22.548 37.156-37.563 5.687-11.294 11.303-28.935 16.25-49.625-8.04-52.642-22.32-102.276-49.592-140.75zm-319.093 7.656c-27.066 40.656-46.15 86.125-58.22 132.436 4.792 20.483 10.948 38.554 18.282 51.438 5.968 10.483 15.548 19.897 27.844 28.156-15.18-73.294-4.838-142.62 12.094-212.03zm223.5 3.874c-19.46 4.21-39.347 6.785-59.22 7.687 22.523 66.597 34.172 134.63 43.876 202.595 10.35-70.784 13.795-140.562 15.344-210.28zm-128.75 3.875c-10.376 73.08-12.596 154.426 6.5 221.75 6.98-71.93 20.608-149.46 40.78-217.626-15.99-.28-31.828-1.637-47.28-4.125zm-21.688 23.06c-31.53 58.626-49.375 124.554-60.78 194.595 21.327 9.65 46.993 16.945 74.624 21.688-21.974-66.086-22.11-144.102-13.844-216.282zm168.188 2.22c-2.162 71.314-6.807 143.27-19.813 216.78 20.76-2.794 40.505-7.197 58.25-13.28-6.67-69.114-16.73-137.997-38.436-203.5zm-87.625 6.72c-18.06 67.556-30.09 143.006-35.626 211.5 25.292 2.497 51.388 2.97 76.687 1.25-9.87-72.005-20.188-143.462-41.06-212.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SharpedTeethSkull;

impl IconShape for SharpedTeethSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M416.025 38.963c-7.803 18.705-22.337 35.512-41.558 48.97C355.52 67.37 311.273 52.946 259.71 52.946c-50.958 0-94.764 14.086-114.073 34.262-17.96-12.82-31.512-28.88-38.366-47.112C64.93 84.702 45.737 148.543 44.558 210.42c46.465 19.57 74.86 40.343 85.025 63.525 5.303 12.096 4.547 25.52-2.334 36.24-5.074 7.905-12.87 14.376-22.922 19.778 30.688 32.715 88.288 54.408 147.053 56.52 59.795 2.152 119.538-15.43 153.878-56.81-10.153-5.368-17.794-11.848-22.42-20.01-6.175-10.898-5.214-24.36 1.486-35.956 12.873-22.28 43.89-42.744 93.197-63.312-1.26-58.048-20.475-125.513-61.495-171.432zm-288.78 73.826c19.056 29.372 55.18 62.954 106.054 75.427-9.29 15.958-20.286 26.032-32.177 31.767-3.875-45.233-60.436-39.484-54.96 2.157-20.654-5.936-40.58-17.438-56.368-28.09 3.747-42.774 17.097-68.54 37.45-81.26zm267.6 0c20.352 12.72 33.7 38.486 37.448 81.26-14.028 9.465-31.326 19.586-49.494 25.893 3.298-40.41-53.56-44.56-55.36 2.713-14.37-4.983-27.698-15.62-38.65-34.44 50.873-12.472 87-46.054 106.054-75.425zm-133.59 117.08c23.496 29.888 70.427 113.39 25.917 113.39-14.297 0-17.34-46.52-25.33-79.516h-.002c-6.943 33.288-9.248 79.848-25.397 79.848-46.87 0 .093-85.24 24.813-113.72zM412.92 349.208c-10.767 11.318-23.182 20.773-36.766 28.496 6.65 27.98 6.116 61.76-2.26 96.748 29.022-22.033 49.494-75.435 39.026-125.243zm-305.332 9.176c-6.35 47.05 13.36 95.382 40.605 116.068-8.04-33.594-8.86-66.078-3.025-93.382-13.77-6.374-26.452-13.948-37.58-22.685zm246.09 30.13c-11.222 4.535-22.97 8.105-35.04 10.764 5.866 26.873 8.633 57.825 5.647 89.32 21.05-17.937 31.063-57.538 29.393-100.083zm-183.858 2.323c-1.22 41.657 8.793 80.15 29.46 97.762-2.962-31.233-.267-61.934 5.5-88.65-11.998-2.316-23.718-5.356-34.96-9.112zM303.633 402.1c-10.676 1.672-21.52 2.68-32.397 3.062 5.852 32.267 9.403 69.7 11.366 95.957 14.238-27.77 21.962-61.86 21.03-99.02zm-81.672.632c-.828 36.915 6.892 70.775 21.05 98.387 1.96-26.234 5.51-63.622 11.35-95.868-1.217-.03-2.436-.048-3.653-.092-9.635-.346-19.245-1.17-28.746-2.428z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shatter;

impl IconShape for Shatter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M326.594 14.97l-39.78 45.468L285.717 170l52.56-95.78-11.686-59.25zM204.438 27.78l-8.25 72.095 53.03 95.063-1.562-108.875-43.22-58.282zM69.75 61.157l35.438 74.28 105.187 77.75-37.72-78.874L69.75 61.156zm365.72 20.25l-66.564 28.875-55.812 93.5 93.5-55.81 28.875-66.564zm.28 91.094l-75 53.063L449.53 223 495 180l-59.25-7.5zm-159.063 21.375l-11.968 38.28-35.908-29.905 13.157 50.875-51.47 18.53 50.28 7.783-11.968 58.062 29.844-36.063 15.97 20.375-.345-46.562 35.94 7.78-11.97-26.905 43.063-41.313-46.063 11.97-18.563-32.907zm-259.218 5.28l91.75 50.94 94.843-.94-81.657-48.218-104.937-1.78zm376.592 47.782l-58.656 20.782 94.094 15.874 62.313-22-97.75-14.656zM81.156 279.063l-45.47 39.75 59.252 11.72 75-47.688-88.782-3.78zm244.22 16.188l78.093 75.875 71.78 10.656-45.125-56.81-104.75-29.72zm-107.22 3.906l-88.97 50.188-58.155 96.906 96.907-58.156 50.22-88.938zm75.47 2.625l15.812 104.158 73.375 76-24.97-108.657-64.218-71.5zm-31.907 40.814l-22 62.344 15.905 94.093 20.78-58.655-14.686-97.78zm-44.19 24.937l-54.374 75.033 6.438 59.25 43.812-45.47 4.125-88.812z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShatteredGlass;

impl IconShape for ShatteredGlass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M431.688 18.813l-83.594 65.75L456.5 63.03l-24.813-44.218zm-121.375.906l-21.47 91.5 79.72-91.5h-58.25zm-160.657 4.405l-2.187 6.25c-13.237 37.557-21.314 79.002-21.314 118.094 0 53.795 15.034 93.182 40.22 118.874 18.918 19.3 43.185 30.496 69.78 34.875 17.132 48.134 16.18 101.07-2.47 148.78-30.572 5.112-60.267 18.292-86.342 39.53H378.53c-26.062-21.23-55.75-34.383-86.31-39.5-18.647-47.685-19.602-100.598-2.5-148.717 26.782-4.308 51.187-15.52 70.124-34.97 13.345-13.706 23.776-31.308 30.625-52.906l-84.75-71.656-51.595-1.093 52.156 119.625-50.186-73.687-79.156 64.47 63.812-86.94-16.28-23.905-53.845-16.156-9.813-2.938 3.844-9.53 36-88.5h-50.999zm71.156 0l-34.968 86 48.562 14.594 32.78-33.69-17.436-66.905h-28.938zM395.438 97.03l-81.78 28 81.906 69.25c2.706-13.91 4.156-29.165 4.156-45.81 0-16.88-1.513-34.186-4.283-51.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShatteredSword;

impl IconShape for ShatteredSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M496.223 16.818l-48.475 44.205 48.475 4.575v-48.78zm-41.55 1.22l-68.91 11.28-7.04 65.547 75.95-76.828zM352.26 77.907l-87.887 50.3 15.447 41.026 82.662-16.87-10.222-74.456zm64.34 25.022l-32.967 67.443 24.842 70.684 54.314-134.19-46.19-3.937zm-271.362 72.808c-10.02.155-20.714 3.165-30.79 9.057 4.143 8.863 3.382 18.708-2.776 24.873-6.158 6.165-15.993 6.927-24.846 2.78-12.923 22.167-11.88 47.34 2.485 61.73l29.84-29.87c58.655 42.87 109.37 92.94 150.57 151.24l-36.19 36.23 6.61-6.604c14.283 14.298 39.192 15.42 61.23 2.732-4.88-9.197-4.366-19.74 2.107-26.22 6.47-6.478 17-6.993 26.185-2.112 12.66-22.062 11.54-47-2.732-61.3l-28.248 28.28c-57.035-42.41-107.91-92.665-151.426-150.386l35.455-35.492-6.61 6.603c-7.834-7.843-18.863-11.726-30.862-11.542zm108.45 4.512c-17.61 17.41-39.674 39.21-62.22 61.375 8.873 10.318 18.02 20.337 27.407 30.094l59.063-59.126-24.25-32.344zm78.28 32.688L297 219.968l-65 65.063c11.33 11.185 22.99 21.98 35 32.376 22.02-23.134 43.764-46.41 64.97-69.406v-35.063zM173.47 313.25c-31.146 40.858-67.877 74.323-108.905 101.875 4.13 13.708 16.394 26.374 30.624 30.563 29.466-41.26 61.113-79.902 100.97-109.97-7.368-7.662-14.914-15.154-22.688-22.468zM44.5 410.28l-20.844 20.845c7.133 24.65 27.843 44.912 53.72 53.438l19.28-19.313c-26.948-4.28-48.314-26.91-51.875-52.938l-.28-2.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SheikahEye;

impl IconShape for SheikahEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.47 99.72c-91.048 0-192.525 75.168-240.97 34.186L53.594 212c66.497-49.548 134.417-74.814 203.22-74.813 68.086.002 136.5 24.718 204.81 73.188l37.97-86.72C413.754 169.89 353.168 99.72 260.47 99.72zm-.908 61.78c-40.49 0-73.093 32.603-73.093 73.094 0 40.49 32.602 73.094 73.093 73.094 40.49 0 73.093-32.603 73.093-73.094 0-40.49-32.603-73.094-73.094-73.094zm-59.406.47c-48.482 10.503-96.806 34.607-145.25 72.624 47.25 34.594 94 57.436 140.53 68.47-18.292-17.147-29.75-41.508-29.75-68.47 0-29.213 13.447-55.388 34.47-72.625zm120.75 1.655c19.904 17.233 32.53 42.668 32.53 70.97.002 27.2-11.672 51.737-30.248 68.905 46.285-10.716 92.886-33.366 140.125-68.656-48.152-36.303-95.56-59.94-142.407-71.22zM259.562 202.5c18.207 0 32.97 14.73 32.97 32.938 0 18.206-14.763 32.968-32.97 32.968-18.206 0-32.968-14.762-32.968-32.97 0-18.205 14.762-32.936 32.97-32.936zM53.5 256.594l-34 77.875c48.445-40.983 208.337-10.156 240.97 137.405C294.296 329.59 413.752 298.487 499.593 344.72L462 258.905c-56.18 39.47-112.568 62.356-169.03 68.72l-33.94 58.75-34.124-59.063c-57.467-7.005-114.595-30.95-171.406-70.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShieldBounces;

impl IconShape for ShieldBounces {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M142.37 21.035c-1.544-.007-3.092-.004-4.64.01-41.1.368-83.607 8.237-120.058 21.103.386 80.173 7.825 165.28 27.805 235.348 20.04 70.286 52.434 124.282 100.748 145.553 53.917-24.07 85.753-72.574 104.593-136.5 18.927-64.216 24.042-143.3 24.215-224.29-28.374-25.59-71.56-38.62-118.838-40.867-4.578-.218-9.19-.336-13.824-.358zm2.136 27.844c4.387.018 8.76.13 13.105.345 34.76 1.712 67.982 9.664 90.966 29.44l3.25 2.796v4.288c0 62.11-3.212 125.186-16.738 178.236-13.526 53.05-37.82 97.014-80.918 117.147l-3.87 1.81-3.902-1.745c-40.838-18.267-64.292-66.432-78.556-124.086C53.578 199.455 48.707 131.105 48.707 69v-7.28l7.06-1.78c26.68-6.732 58.032-11.2 88.74-11.063zM347.18 60.376c-.007 11.243-.104 22.458-.315 33.615l-53.578 5.467c-.145 6.3-.32 12.584-.547 18.84l53.647-5.474c-.39 12.47-.93 24.85-1.676 37.084l.52 4.436L500.1 87.36 347.18 60.376zm-202.75 7.195c-26.233-.098-53.274 3.532-76.955 8.953.39 59.084 5.394 123.083 18.51 176.096 13.11 52.988 34.476 93.765 64.204 109.554 33.705-17.703 54.448-54.405 66.79-102.807C229.475 210.35 232.9 150.27 233.065 90.34c-18.126-13.75-45.83-20.945-76.375-22.45-4.048-.2-8.142-.302-12.26-.318zm198.648 105.07c-.778 9.35-1.702 18.59-2.758 27.715l-52.654-8.59c-.674 6.24-1.412 12.436-2.227 18.57l52.5 8.567c-1.68 11.92-3.626 23.612-5.905 34.994l141.606-30.613L343.08 172.64zm-12.865 99.573l-8.844 24.767c-.607 2.012-1.23 4.007-1.864 5.993l-48.633-18.643c-.69 2.516-1.398 5.02-2.13 7.502-1.037 3.52-2.128 7-3.253 10.45l47.885 18.355c-1.41 3.737-2.873 7.425-4.398 11.048l-.004.01-7.89 22.095 150.517 7.754-121.387-89.332zm-95.79 97.205c-3.44 5.338-7.074 10.486-10.907 15.434l29.248 28.025c-8.436 7.337-17.59 13.893-27.545 19.567l140.58 62.37-78.357-122.184c-6.4 9.8-13.464 18.9-21.238 27.24l-31.783-30.453z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShieldEchoes;

impl IconShape for ShieldEchoes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M32.75 23.063l-9.22.125-.124 9.218c0 60.947 6.182 121.836 24.532 171.625 18.35 49.79 49.816 89.117 99.28 102.72l2.22.594 2.218-.47c2.123-.452 4.195-.96 6.25-1.5 18.914 42.993 48.93 76.25 93.594 88.532l2.188.594 2.218-.47c1.185-.25 2.337-.532 3.5-.81 20.05 50.325 52.134 87.948 101.438 101.5 113.453-24.192 130.97-161.447 130.97-296.69H377.467c2.195-25.66 2.905-52.133 2.905-78.468v-9.343H273.25c2.16-25.457 2.875-51.703 2.875-77.814v-9.343H32.75zm9.47 18.687h215.124c-.17 23.184-1 46.25-2.938 68.47H127.688v9.343c0 59.563 5.887 119.072 23.282 168.218-.326.08-.643.175-.97.25-41.358-12.25-67.735-44.895-84.53-90.467C49.266 153.602 42.85 98.21 42.22 41.75zm104.28 87.156h215.125c-.172 23.407-1.046 46.71-3.03 69.125H229.968c0 62.666 6.02 125.03 22.78 176.69-40.495-12.593-66.44-44.983-83.03-90-16.203-43.962-22.588-99.355-23.22-155.814zm108.406 89.03h213.156v9.345c0 54.125-3.516 108.978-17.968 153.782-14.452 44.805-41.13 80.5-85.938 90.97l-2.437.562-2.408-.72c-40.974-12.34-67.332-47.6-83-91.905-15.667-44.306-21.406-98.46-21.406-152.69v-9.343zm18.813 18.69c.65 49.682 6.538 98.41 20.217 137.093 14.2 40.152 36.1 68.604 68.532 79.374 35.817-9.437 56.817-37.4 69.842-77.78 12.557-38.93 16.445-88.56 16.875-138.69H273.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShieldReflect;

impl IconShape for ShieldReflect {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.36 19.457l-.38 27.84 267.127 154.75-58.703 19.916 57.602 19.36L142.12 383.546l-19.214-19.213-51.47 114.324 123.125-43.482-17.492-18.95 151.868-151.87 12.433 43.078 22.976-68.5 56.675-16.565-57.475-15.492-22.934-79.828-14.145 48.266-268.65-155.41-38.454-.446zM370.614 81.94c-4.53.02-9.035.12-13.51.302-3.275.134-6.528.32-9.76.547l31.25 108.786 104.05 28.045c6.204-39.085 8.902-80.275 9.18-120.075C456.37 88.82 415.098 82.257 375.15 81.95c-1.514-.012-3.027-.015-4.537-.01zm-36.87 2.1c-31.99 3.653-61.013 12.153-83.014 25.87l64.493 37.31 18.52-63.18zm148.18 139.997L378.958 254.13l-38.93 116.054-20.268-70.225-39.07 39.067c18.814 35.364 46.1 62.287 86.175 77.604 47.473-17.834 78.566-62.795 98.014-121.6 7.323-22.14 12.905-46.11 17.042-70.993z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shieldcomb;

impl IconShape for Shieldcomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M72.02 21.88l-.9 64.34L32.88 108l.93 6.3c18.95 128 92.49 254.1 216.79 369.8l6.4 6 6.4-6c123.2-115.5 195.2-242 214.8-369.6l.9-6.3-38.7-22.21-.8-60.64C320.4 41.15 182 38.72 72.02 21.88zm18.4 21.71c32.58 4.95 64.88 8.72 97.18 11.22v31.85L138.9 115 89.82 86.44zm330.78 3.56l.5 39.29L372.6 115l-49.2-28.6V56.82c32.1-1.63 64.6-4.67 97.8-9.67zm-214.5 9.13c32.5 1.98 65 2.47 97.9 1.42v28.7l-48.9 28.5-49-28.53zM80.22 102.6l49.18 28.6v57.4l-48.38 28.2c-13.02-32.9-22.25-65.9-27.63-99zm351.48 0l26.9 15.3c-5.5 33.1-14.8 66.1-27.6 98.9l-48.5-28.2v-57.4zm-117.7 0l49.1 28.6v57.4L314 217.2l-48.7-28.3v-58zm-116.8.2l48.9 28.4v57.7l-48.7 28.3-49.1-28.6v-57.4zM140 206.2l49.2 28.6v57.4l-52.5 30.6c-18.9-28.7-34.8-57.7-47.68-86.9zm117.2 0l48.7 28.4v57.9l-48.7 28.3-49.2-28.6v-57.4zm116.5 0l49.7 28.9c-12.8 29.3-28.5 58.4-47.1 87.2L325 292.5v-57.9zm-66.5 107.7l40.7 23.6v25.4c-11.9 15.7-24.6 31.3-38.3 46.8-14.4-8.4-28.7-16.9-43.1-25.3v-46.9zm-100.3 0l40.7 23.6v46.8c-14.3 8.4-29.7 17.6-43.5 25.6a816.7 816.7 0 0 1-37.9-45.6v-26.8zm50.2 86.9l26.8 15.6v20.7c-11.3 11.4-19.1 19.2-26.9 27.2-9.3-8.8-18.3-17.7-27-26.6v-21.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShiningClaw;

impl IconShape for ShiningClaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.72 29.125c-1.535.012-3.06.03-4.595.063-14.043.306-28.164 1.517-42.313 3.687h-.03c-40.47 6.208-68.176 25.313-83.407 50-15.23 24.687-18.025 54.264-11.53 81.28 6.492 27.02 22.268 51.823 45.405 67.126 23.137 15.304 53.82 20.5 87.156 8.564 88.876-31.822 154.224-18.526 202 22.125 47.297 40.24 77.402 109.05 90.25 190.53 9.29 10.237-.1.206 9.657 10.375 9.74-8.25-.16-.032 9.593-8.406 49.368-122.298 18.986-236.885-52.062-315.69C353.21 70.42 261.34 28.377 164.72 29.126zm129.718 69.53L385.125 135c4.922 4.69 9.668 9.56 14.25 14.563-4.09-2.25-8.194-3.45-11.938-3.563-10.212-.307-17.585 7.21-13.593 21.875 8.252 30.456 55.747 34.927 45.187 5.5 9.34 12.627 17.642 26.007 24.75 40.03-6.273-8.833-12.323-12.982-17.342-13.093-13.9-.306-19.88 30.236-.875 77.188 20.765 51.37 43.424 59.815 45.906 31.438 3.183 34.31-.184 70.722-11.408 108.437-15.63-70.58-45.05-130.96-90.53-169.656-14.414-12.265-30.428-22.22-48-29.532l-40.907-22.313 77.53 2.938-111.25-56 102.22 5.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShiningHeart;

impl IconShape for ShiningHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M142.094 20.063l37.594 76.78c-9.028-2.783-18.278-4.158-27.47-4.187-7.775-.024-15.51.92-23 2.78-9.593 2.388-18.805 6.298-27.312 11.533L18.53 23.593v70.312l56.19 37.813c-12.143 16.172-19.905 36.81-20.657 60.78-.14 4.438-.026 8.76.312 12.97l-35.844-9.657v41.843l44.72 3.094c3.274 7.523 7.29 14.613 11.906 21.28 9.205 13.295 20.61 25.098 33 36.345L18.53 322.188V368.5l109.157-53.28c13.032 10.868 26.395 21.638 39.094 33L20.345 494.28H91.78l88.97-132.936c14.037 13.884 26.635 28.95 36.188 46.344l-23.22 86.593h41.595l4.593-65.936 1.938-5.03c9.503-24.743 24.99-45.3 42.937-63.94l35.626 134.907h47.22L296.218 348c9.033-8.604 18.47-16.856 27.936-25.03L492.78 491.593v-70.938l-158.374-106.53c1.105-.955 2.21-1.922 3.313-2.876 10.166-8.807 20.203-17.72 29.467-27.063l125.594 33.907v-42.22l-111-7.718c13.545-16.36 24.01-34.353 28.533-55.437l82.468-21.94v-47.843l-80.186 39.47c-1.48-25.603-11.335-46.322-25.938-61.25L487.75 20.062h-70.375l-55.906 83.062c-7.092-3.406-14.625-5.89-22.376-7.406-14.422-2.82-29.657-2.43-44.47 1.186l20.813-76.844h-41.843l-5.938 87.438c-12.74 7.1-24.463 16.97-34.187 29.688-5.627-8.07-11.943-14.987-18.72-20.813L189 20.062h-46.906zm10.125 91.124c27.033-.222 54.69 13.835 72.655 47.563l7.906 14.813 8.44-14.532c21.855-37.654 61.142-51.45 94.31-44.968 33.17 6.483 59.992 31.78 58.5 78.438-1.38 43.233-31.41 72.474-68.53 104.625-32.58 28.218-70.07 57.918-92.594 100.78-23.6-42.682-62.317-71.126-95.156-98.624-18.69-15.648-35.51-30.997-47.22-47.905-11.707-16.908-18.508-35.107-17.78-58.28 1.364-43.454 28.753-71.513 61-79.532 6.046-1.504 12.23-2.324 18.47-2.376zM314.97 135.5c-11.794 0-23.042 3.426-32.25 9.406 20.885-2.46 44.746 10.98 59.03 35.72 12.43 21.526 14.015 45.497 5.938 62.468 15.646-10.572 25.78-28.802 25.78-49.094 0-32.468-26.032-58.5-58.5-58.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShiningSword;

impl IconShape for ShiningSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M302.5 20.875c-67.34.686-140.223 31.223-198 89C30.546 183.83 1.717 282.77 22.812 362.97l61.938-36.19-51.28 15.783 12.624-38.5 48.75-20.344-41.688 1.405 20.25-38.563 64.53-2.03-51.374-17.595L115 188.813l49.78 17.032-34.468-34.5 34.22-34.22 35.562 35.564-17.125-51.844 38.593-28.906 16.468 49.28 1.72-60.968 39.53-21.22L290 107.126l8.688-55.656 37.03-11.19 2.594 43.97 19-56.875c-17.53-4.543-35.956-6.692-54.812-6.5zm134.688 53.72l-81.72 31.25L194.126 266.78c.514 2.04.78 4.178.78 6.376 0 14.36-11.638 26-26 26-14.36 0-26-11.64-26-26 0-1.422.125-2.827.345-4.187-12.834 13.486-19.27 30.975-19.375 48.31 14.055 0 28.187 4.393 40.25 12.845-20.046 11.696-45.246 36.88-56.97 56.938-3.675-2.41-7.454-4.202-11.03-5.032-1.66-.384-3.13-.6-4.406-.655-3.83-.17-6.058.963-7.376 2.28-1.757 1.758-3.166 5.112-1.625 11.75 3.08 13.28 19.22 29.42 32.5 32.5 6.64 1.542 9.992.133 11.75-1.624 1.756-1.756 3.165-5.14 1.624-11.78-.86-3.7-2.745-7.612-5.28-11.406 20.157-11.808 45.466-37.173 57.06-57.25 9.418 12.487 14.32 27.4 14.376 42.312 17.233-.035 34.447-6.443 47.875-19.03-.568.036-1.142.062-1.72.062-14.36 0-26-11.67-26-26.032 0-14.36 11.64-26 26-26 1.5 0 2.978.132 4.407.375l161.125-160.717 30.75-82.22zm-63.313 50.343l13.22 13.218L200.968 324.25l-13.22-13.22L373.875 124.94zm111.313 30.812L427.5 173.72l43.47 1.81-11.158 37.064-59.406 5.312L452.22 232l-20.658 40.063-60.968 1.718 49.25 16.47-28.906 38.594-52.907-18.188 36.658 36.625-34.25 34.22-33.407-33.406 15.94 48.72-38.095 28.436-17.625-51.375-2 64.53-39.125 19.69 1.75-43.908-20.688 51-38.468 12.625 14.843-48.312-37 59.344c80.686 22.506 180.95-6.048 255.906-81 73.73-73.73 103.107-172.08 82.717-252.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShinyApple;

impl IconShape for ShinyApple {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.563 19.75c-13.31 57.822-16.625 100.686-13.907 156.938l18.813.03c3.31-49.616 18.56-88.618 45.874-133-4.86-9.134-13.465-14.956-23.813-18.78-8.908-3.293-18.82-4.77-26.967-5.188zm98.75 94.156c-9.067.133-18.416 1.204-28 3.313-13.76 3.026-27.176 7.952-39.97 14.56-3.905 14.615-6.346 29.844-7.406 46.595 1.25-.216 2.51-.432 3.75-.688 24.965-5.135 43.288-17.244 52.344-32.25-.298 19.943-25.12 41.175-56.81 49.97-2.525.7-5.086 1.34-7.69 1.874-44.29 9.114-85.27-8.315-99.842-35.343-4.366-8.097-5.176-16.436-3.094-24.343 9.834 17.98 30.633 31.534 55.25 38.156-.748-16.246-.974-31.515-.625-46.406-11.004-4.878-22.38-8.548-33.97-10.875-11.18-2.246-22.044-3.414-32.094-3.064-71.757 2.496-132.96 64.885-131.78 154.688C25.73 373.264 101.85 472.424 190 490.124c11.178 2.246 24.934 3.42 37.22 2.282 12.283-1.138 22.775-4.762 28.405-10.156l5.97-5.72 6.405 5.25c5.378 4.426 16.542 8.05 29.125 9.22 12.583 1.17 26.514.195 37.344-2.188 87.533-19.257 153.047-119.08 151.686-222.718-.677-51.615-19.354-93.606-48.22-120.22-21.647-19.96-48.954-31.508-79.748-31.968-1.284-.02-2.58-.02-3.875 0zm49.906 41.125c53.69 32.478 75.357 115.23 37.092 200.626-30.48 68.017-93.18 121.256-140.843 118.75C411.304 407.96 458.192 271.063 404.22 155.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShinyEntrance;

impl IconShape for ShinyEntrance {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.32 17.94l.002.02v-.02h-.002zm.002.02c-9.777 267.328-40.363 268.207-134.91 84.388 63.917 197.254 43.578 238.65-92.275 152.175 93.67 96.082 122.627 146.377-2.336 133.153 63.004 22.264 124.558 45.33 170.675 94.094 4.806-229.74 138.285-224.31 143.375-.426 35.077-44.42 115.908-71.653 173.023-93.668-162.9 3.97-73.26-108.208-10.514-188.436-141.634 124.216-177.264 99.476-113.883-137.314-82.824 219.86-120.17 213.04-133.155-43.965z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShinyIris;

impl IconShape for ShinyIris {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M319.594 23.78C285.57 102.98 230.09 105.943 196.28 27c9.09 86.328-40.002 112.372-111.936 53.906 59.824 74.383 33.49 125.818-61.375 110.563 88.44 34.29 91.354 88.99 3.25 123.28 91.354-13.02 122.018 37.044 63.5 110 72.41-56.59 120.465-32.077 106.28 60.22 34.45-84.274 92.673-84.58 126.406 2.124h.03c-14.52-93.742 32-123.784 105.752-64.625-53.336-70.54-29.74-120.928 58.656-109-79.212-34.028-80.658-86.815-1.688-120.626-84.74 9.05-112.955-39.317-59.25-108.844-70.53 53.332-118.236 28.174-106.312-60.22zm-62.53 83.407c6.958 54.2 39.187 61.556 72.467 18.813-20.754 49.66 3.604 73.79 52.314 55-41.37 32.53-32.145 63.55 20.125 71.125-54.204 6.96-60.185 40.495-17.44 73.78-53.022-23.31-75.77 1.865-52.31 55.033-33.712-45.958-68.134-36.552-75.158 18.78-6.24-56.87-38.558-63.75-72.437-18.78 23.062-52.452-3.034-77.223-55.03-55.032 46.7-34.262 36.306-66.17-21.47-72.437 58.557-6.017 65.977-40.628 18.78-75.157 51.84 23.19 76.788-.01 57.72-49.657 32.526 41.354 64.863 30.792 72.438-21.47zm-2.658 62.344c-27.606.87-54.11 15.568-68.97 41.22-22.86 39.467-9.368 89.608 30.25 112.406 39.62 22.8 90.015 9.342 112.876-30.125 3.336-5.757 5.9-11.746 7.72-17.842-12.425 22.18-36.144 37.187-63.376 37.187-40.098 0-72.594-32.527-72.594-72.625 0-33.697 22.967-62.032 54.094-70.22zm27.72 15.5c-24.26 0-43.907 19.648-43.907 43.907 0 24.26 19.646 43.938 43.905 43.938 24.26 0 43.938-19.678 43.938-43.938s-19.68-43.906-43.938-43.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShinyOmega;

impl IconShape for ShinyOmega {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.547 20.182l-12.815 195.064L73.522 94.22l45.562 160.89-92.547-8.542 54.106 103.94-61.225 8.54 79.943 65.73c-2.728-11.64-4.188-23.762-4.204-36.206l-20.963-1.7 1.508-18.626 20.536 1.664c2.134-18.274 7.394-35.593 15.233-51.414l-40.48-29.09 10.908-15.176 38.9 27.96c9.578-14.64 21.52-27.59 35.288-38.31l-27.73-50.21 16.36-9.033 26.845 48.607c14.872-8.968 31.34-15.55 48.88-19.217l-12.952-90.87 18.502-2.637 12.94 90.785c4.583-.4 9.22-.62 13.906-.62h.004c4.13 0 8.223.163 12.275.475l6.574-62.775 18.587 1.945-6.634 63.37c13.316 2.632 26.043 6.93 37.95 12.68l18.37-36.737L356.678 218l-18.746 37.492c8.832 5.635 17.065 12.124 24.59 19.342l46.53-52.115 13.942 12.446-47.707 53.438c8.29 10.074 15.348 21.19 20.957 33.115l32.97-22.372 10.493 15.464-36.393 24.696c3.837 11.695 6.35 23.988 7.327 36.707l19.594-3.19 3.002 18.448-22.29 3.627c-.47 11.016-2.07 21.754-4.706 32.09l80.9-63.87-56.24-5.695 54.034-85.428-59.73 9.252 39.868-103.57-88.28 35.94 32.75-116.752-96.82 111.057-17.085-168.008-42.715 108.207-58.375-128.142zm58.29 229.193c-76.976.002-138.993 62.02-138.993 138.996 0 33.147 11.532 63.544 30.783 87.485l-130.545-46.02h-.713v62.487h146.823l.004.004h29.6c-.002 0-.004-.002-.006-.004h1.548l-3.07-1.082c-28.443-20.302-46.98-53.577-46.98-91.19 0-61.712 49.773-112.13 111.55-112.13 61.776 0 112.13 50.354 112.13 112.13 0 37.508-18.62 70.66-47.05 90.97l-3.69 1.302h1.848l-.006.004h29.424c.002 0 .003-.003.004-.004h146.7v-62.488h-.716l-130.195 45.898c19.395-23.942 31.13-54.303 31.13-87.36 0-76.932-62.6-138.995-139.577-138.997h-.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShinyPurse;

impl IconShape for ShinyPurse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.25 18.313L168.156 115c-.274.174-.54.356-.812.53L94 97.876l17.47 74.22c-.655 1.046-1.306 2.093-1.94 3.155l-91.28-8.875 73 51.156c-.808 2.82-1.546 5.658-2.22 8.532l-64.53 40 63.906 39.22c.28 1.282.57 2.57.875 3.843l-46.468 36.563 55.97-7.907c3.506 8.184 7.588 16.056 12.218 23.564l-17 72.344 64.344-15.47-9.094 75.563 52.188-58.06c7.553 2.82 15.352 5.14 23.343 6.936l37.407 61.094L299 443.656c5.876-1.156 11.655-2.6 17.313-4.312l29.406 31.03-5.47-40.187c7.902-3.694 15.49-7.96 22.72-12.718l67.405 16.217-15.906-67.656c5.62-8.506 10.555-17.504 14.686-26.936l47.563 6.594-39.095-30.438c1.175-4.23 2.192-8.526 3.063-12.875l59.187-36.313-59.75-37.03c-1.686-7.793-3.87-15.397-6.53-22.782l59.5-47.656-73.94 17.03c-1.645-2.777-3.367-5.507-5.155-8.186l16.375-69.563-70.344 16.938c-5.638-3.56-11.49-6.824-17.53-9.75l3.22-63.376-37.22 51c-2.527-.64-5.088-1.215-7.656-1.75l-38.656-63.156-39.282 64.19c-4.772 1.127-9.475 2.438-14.094 3.936L149.25 18.312zm115 88.874c88.423 0 159.875 71.484 159.875 159.907 0 88.423-71.452 159.875-159.875 159.875s-159.906-71.453-159.906-159.876 71.483-159.906 159.906-159.906zm49.03 44.157c-5.278.115-10.207 2.383-16.936 9.562l-6.563 7-6.81-6.72c-7.39-7.28-13.218-9.29-19.126-9.03-5.91.26-12.856 3.336-20.625 9.625l-6.22 5.032-5.906-5.343c-8.9-8.053-16.485-10.44-23.75-10.064-5.288.273-10.775 2.265-16.25 5.75l40.97 73.688c15.445 9.445 47.003 13.015 68.717 2.094l39.626-73.375c-7.51-3.063-14.258-6.202-20.094-7.407-2.112-.436-4.07-.755-5.968-.812-.356-.01-.71-.008-1.063 0zm-90 96.187c-18.017 12.748-32.488 34.71-38.093 66.876-5.436 31.197 3.127 52.266 18.282 66.625 15.154 14.36 37.9 21.77 61 21.47 23.098-.3 46.134-8.31 61.624-22.938 15.49-14.626 24.25-35.456 19.28-65.218-5.132-30.736-18.383-52.115-35.155-65.063-28.498 15.077-64.154 11.872-86.94-1.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShoulderScales;

impl IconShape for ShoulderScales {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M289.5 18.23c-1.8 38.71-3.3 77.44-5.1 116.17C193 155.6 90.37 194.8 19.02 245c18.37 36.5 37.26 73.4 53.17 104.7C54 365.3 35.9 381.4 18.32 397.8v96H460.6c-9.3-7.5-18.8-14.9-28.7-22.2l20.5-21.3c10.2 13 19.8 26.6 28.8 40.9l-14 2.6h26.5V249.7l-23.8 30c-6.7-9.4-13.7-18.7-21-27.8l27-57.1c6.3 9.9 12.3 19.9 17.8 29.7V18.23zm17.3 29.34c15.8 5.74 30.8 12.97 45 21.36l-11.9 78.17c-12.4-8.9-25-17-37.6-24.1zm62.2 32.4c16.1 11.1 31 23.83 44.8 37.43l-23.9 70.8c-10.8-10-21.8-19.5-33-28.4zm59.4 52.63c12.9 14.1 24.6 29 35.3 44.2l-27.9 59.3c-10-11.6-20.3-22.8-31.1-33.6zM101.8 264.2l17 73c-11.1-1.2-22.23-2.1-33.33-2.5l-36.75-72.3c17.48-.4 37.15.4 53.08 1.8zm19.8 2.2c20.7 2.6 41.6 6.7 62.4 12l.7 70.8c-15.2-3.8-30.6-7-46.1-9.4zm81.1 17.2c18.8 5.6 37.5 12.3 55.9 20.2L247.7 369c-14.6-5.5-29.4-10.4-44.3-14.7zm73.6 28.1c17.2 8.1 34.2 17.2 50.7 27.4l-19.8 55.8c-13.7-6.7-27.6-13-41.8-18.9zm66.9 37.8c16.4 11 32.3 23.1 47.5 36.2l-25.4 41.1c-13.4-8.1-27.2-15.9-41.4-23.3zm61.6 49c12.4 11.6 24.4 24.1 35.7 37.3l-23.9 24.8c-11.5-8.2-23.3-16.2-35.4-23.9z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shouting;

impl IconShape for Shouting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.813 34.094c-32.67 0-62.826 19.624-85.375 53.125-22.55 33.5-36.844 80.558-36.844 132.686s14.294 99.187 36.844 132.688c22.55 33.5 52.705 53.125 85.375 53.125s62.825-19.626 85.375-53.126c22.55-33.5 36.875-80.56 36.875-132.688 0-52.128-14.326-99.187-36.875-132.687-22.55-33.502-52.706-53.126-85.375-53.126zM64.405 127.47c-37.863 55.188-52.23 125.55-33.562 195.218 23.816 88.89 95.022 152.122 179.25 170.25C145.894 460.577 90.12 390.486 65.874 300c-16.337-60.975-15.608-121.328-1.468-172.53zm384.813 0c14.14 51.202 14.836 111.555-1.5 172.53-24.246 90.486-79.988 160.578-144.19 192.938 84.23-18.128 155.403-81.36 179.22-170.25 18.668-69.668 4.332-140.03-33.53-195.22zM118.5 167.78c-27.588 40.212-38.04 91.49-24.438 142.25 17.355 64.767 69.225 110.823 130.594 124.033C177.88 410.485 137.26 359.43 119.594 293.5c-11.905-44.428-11.397-88.41-1.094-125.72zm276.594 0c10.303 37.31 10.81 81.292-1.094 125.72-17.666 65.93-58.285 116.985-105.063 140.563 61.37-13.21 113.24-59.266 130.594-124.032 13.603-50.76 3.152-102.038-24.436-142.25zm-197.813 2.095c20.065-.2 38.86 8.59 52 25.313l-14.718 11.53c-16.02-20.384-38.817-24.964-64.625-10.312l-9.218-16.25c12.02-6.824 24.523-10.16 36.56-10.28zm117.157.53c.625-.01 1.25-.005 1.875 0 12.04.122 24.543 3.49 36.563 10.314l-9.22 16.25c-25.806-14.653-48.603-10.103-64.624 10.28l-14.686-11.53c12.73-16.2 30.74-24.965 50.094-25.314zm-57.625 66.69c42.196 0 76.375 34.21 76.375 76.405 0 42.193-34.18 76.375-76.375 76.375s-76.406-34.18-76.406-76.375 34.21-76.406 76.406-76.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Shuriken;

impl IconShape for Shuriken {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M114.875 18.844l.406 16.593 2.94 136.594h.06c26.11 0 47.314 21.205 47.314 47.314 0 26.108-21.204 47.312-47.313 47.312-8.59 0-16.644-2.3-23.593-6.312L23.814 376.906l-8.657 14.156 17.5-.156 132.063-3c-.004-.198 0-.395 0-.594 0-26.108 21.17-47.28 47.28-47.28s47.313 21.172 47.313 47.28c0 8.035-2.022 15.59-5.563 22.22l119.438 72.624 15.093 8.906-.405-16.625-2.938-128.937c-1.246.1-2.51.156-3.78.156-26.11 0-47.313-21.204-47.313-47.312 0-26.11 21.204-47.313 47.312-47.313 8.363 0 16.21 2.186 23.03 6L479.377 133l8.655-14.188-17.53.157-136.094 3.093c.005.28.03.56.03.843.002 26.11-21.202 47.313-47.31 47.313-26.11 0-47.313-21.205-47.313-47.314 0-8.885 2.45-17.206 6.718-24.312L129.97 27.72l-15.095-8.876zm19.25 33.28l17.094 10.407 64 110.876c-3.022 1.317-5.992 2.817-8.907 4.5-2.56 1.478-4.995 3.063-7.344 4.75L134.562 71.094l-.438-18.97zm320.594 85.94l-9.814 16.124-112.312 64.843c-1.266-2.857-2.686-5.673-4.28-8.436-1.563-2.705-3.234-5.304-5.033-7.78l111.376-64.283 20.063-.468zM250.56 189.218c.738-.017 1.483-.01 2.22 0 22.475.253 44.167 11.71 56.187 32.53 18.315 31.725 6.6 72.12-25.126 90.438-31.725 18.316-71.496 7.662-89.813-24.063-18.315-31.725-7.66-71.496 24.064-89.813 10.224-5.902 21.41-8.858 32.47-9.093zM170.5 291.03c1.253 2.79 2.66 5.55 4.22 8.25 1.598 2.77 3.316 5.403 5.155 7.94L68.75 371.374l-20.313.47 9.688-15.94L170.5 291.032zM304 327.126l64.625 111.97.438 18.655-17.344-10.563-63.876-110.625c2.624-1.186 5.23-2.496 7.78-3.968 2.923-1.687 5.72-3.506 8.376-5.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShurikenAperture;

impl IconShape for ShurikenAperture {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M219.645 21.475c-86.323 77.557-105.59 201.658-54.65 300.066-50.127-25.673-138.8-86.724-138.8-86.724 45.85 108.476 160.455 167.27 272.284 148.418-38.472 38.54-115.353 104.705-115.353 104.705 115.886-14.46 202.25-108.08 215.535-219.26 27.34 50.296 65.844 152.21 65.844 152.21 23.61-111.875-33.285-223.592-130.53-274.11 51.594-5.78 148.903-10.66 148.903-10.66-99.39-57.33-222.258-38.557-300.13 38.646 9.29-53.964 36.895-153.29 36.895-153.29zm58.146 133.713l8.468 16.66c-19.188 9.75-33.34 25.41-41.39 43.62 16.735-9.672 35.52-14.51 54.304-14.507 27.74.007 55.472 10.557 76.568 31.638l-13.21 13.218c-14.463-14.45-32.598-22.938-51.378-25.468 35.685 31.958 47.01 85.173 24.352 129.8l-16.664-8.46c10.288-20.263 12.17-42.564 6.93-62.94-17.864 45.488-65.192 74.762-115.713 67.762l2.566-18.512c20.953 2.903 41.172-1.655 58.006-11.64-3.377-.222-6.673-.75-9.853-1.58-44.683-8.246-81.18-44.32-87.76-91.66l18.51-2.573c3.092 22.242 14.056 41.433 29.696 55.135-10.657-47.194 11.486-97.58 56.568-120.493zm-3.626 73.238c-19.27 0-34.69 15.418-34.69 34.69 0 16.075 10.732 29.462 25.475 33.464 3.528.61 7.12 1.01 10.755 1.19 18.544-.798 33.15-15.9 33.15-34.653 0-19.273-15.42-34.69-34.69-34.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ShutRose;

impl IconShape for ShutRose {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M428.023 17.34c-86.043.487-145.782 76.552-110.164 148.85-56.288 31.21-86.892 73.135-108.387 115.72-20.313-3.606-33.09-19.605-43.448-39.65-6.768 44.82 6.93 72.25 15.243 104.312-17.695 43.045-35.085 81.538-71.348 107.38h-.004c-26.502 18.903-51.61 14.403-63.865.622-6.127-6.89-9.442-16.272-7.98-28.256 1.45-11.88 7.926-26.43 22.246-42.21 11.966-10.25 21.688-14.278 28.155-14.956 6.552-.687 9.855 1.215 12.337 4.328 4.963 6.227 5.048 20.812-7.48 31.327l12.013 14.316c19.1-16.03 22.676-41.486 10.082-57.29-6.297-7.9-17.036-12.51-28.9-11.267-11.865 1.245-24.787 7.552-38.885 19.76l-.41.356-.366.4c-16.57 18.11-25.296 36.22-27.34 52.973-2.045 16.753 2.876 32.044 12.566 42.94 19.38 21.79 56.223 25.322 88.68 2.175l.002-.002c6.138-4.375 11.773-9.047 16.992-13.967 29.887-7.727 58.963-10.74 92.3-37.436-21.192.977-40.373-1.702-53.542-15.13 13.405-25.286 23.348-52.815 34.78-79.87 10.99-26.018 23.196-51.737 40.874-75.557 27.692.905 54.74 2.943 90.135-12.492-21.436-4.717-39.77-12.685-48.723-30.168 10.31-8.11 21.865-15.774 34.94-22.893 63.25 43.663 173.666-17.293 159.263-111.2L453 78.142l24.03-41.7-46.327 9.394 11.002-27.94c-4.625-.4-9.19-.58-13.682-.554zM177.857 47.475C99.85 123.65 112.403 221.302 190.082 226.61c99.86 6.987 1.396-107.536-12.225-179.135zm110.387 218.523c-18.154-.118-31.885 10.172-38.142 40.106-15.92 76.243 102.983 90.25 179.15 12.224-48.11-8.213-103.834-52.09-141.008-52.33z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Silence;

impl IconShape for Silence {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M299.05 19.174c-1.69.003-3.38.038-5.064.103-58.35 2.28-110.84 41.947-126.736 101.272l-15.37 57.356 44.378 11.89 14.597-54.476c13.028-48.618 62.988-77.523 111.518-64.52 48.53 13.004 77.047 64.12 64.316 111.634l-14.598 54.478 44.38 11.89 15.368-57.355c19.06-71.135-23.9-147.997-96.897-167.556-11.998-3.214-24.046-4.738-35.892-4.716zM125.21 190.107L67.366 405.98l311.108 83.362 57.843-215.873-311.105-83.363zm123.257 59.026l87.955 51.064-13.57 51.98-63.05-42.04-11.888 96.78-1.154-.14c-.02.27-.034.544-.067.81-.772 6.284-4.553 10.746-12.172 13.825-7.617 3.08-18.856 3.833-31.178.53-12.323-3.3-23.08-9.927-30.12-17.444-7.038-7.517-10.04-15.49-9.27-21.775.773-6.285 4.554-10.748 12.173-13.827 3.81-1.54 8.524-2.497 13.826-2.658 5.303-.16 11.194.476 17.355 2.127 9.618 2.577 18.273 7.184 24.96 12.655l16.202-131.887z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sing;

impl IconShape for Sing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M251.47 18.844c-42.103 0-80.822 25.502-109.532 68.156C113.227 129.654 95 189.316 95 255.406s18.227 125.784 46.938 168.438c28.71 42.653 67.43 67.468 109.53 67.468 42.102 0 80.853-24.815 109.563-67.468 28.712-42.654 46.94-102.347 46.94-168.438 0-66.09-18.228-125.752-46.94-168.406-28.71-42.654-67.46-68.156-109.56-68.156zm-52.94 161.812c.907-.013 1.812-.018 2.72 0 9.685.198 19.48 2.548 29.188 6.438l-7 16.937c-31.307-12.544-60.594-2.12-80 30.94l-16.375-9.908c16.74-28.52 43.404-44.005 71.468-44.406zm104.72 1.156c28.064.402 54.695 15.886 71.438 44.407l-16.344 9.342c-19.407-33.06-48.694-42.918-80-30.375l-7-17.53c9.707-3.89 19.502-5.615 29.187-5.813.91-.02 1.815-.044 2.72-.03zM252.187 245.5c53.175 0 96.282 50.127 96.282 111.97 0 61.838-43.108 112-96.283 112-53.174 0-96.28-50.16-96.28-112 0-61.843 43.106-111.97 96.28-111.97zm-19.53 54.156l2 14.094 11.03 78.78c-6.2-2.444-13.285-3.874-20.656-3.874-21.288 0-36.88 11.77-34.843 26.28 2.04 14.513 20.96 26.25 42.25 26.25s36.883-11.737 34.844-26.25c0-.01.002-.02 0-.03l.408-.062-9.25-66.875 39.875 13.31 12.093 4.44V320.593l-6.875-1.625-57.186-15.69-13.688-3.624z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SinkingTrap;

impl IconShape for SinkingTrap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M129.785 50.53l-18.34 3.59 11.502 58.716c-2.942.398-5.865 1.092-8.738 2.092L81.245 58.336l-16.148 9.406 32.798 56.313c-1.93 1.522-3.793 3.18-5.587 4.95l-47.675-45.73L31.7 96.762l49.007 47.01c-1.355 2.25-2.6 4.584-3.734 6.988L29.01 123.87l-9.14 16.304 67.148 37.642c7.432 5.644 15.256 9.8 23.113 11.596l105.597 86.397 20.11 86.356 14.804 88.023h18.903l10.973-87.077 20.564-88.302 103.635-84.792c8.947-1.286 17.92-5.78 26.38-12.206l67.14-37.638-9.137-16.303-47.965 26.89c-1.135-2.404-2.38-4.738-3.735-6.987l49.01-47.01-12.937-13.488-47.673 45.73c-1.795-1.77-3.658-3.427-5.588-4.95l32.798-56.313-16.15-9.406-32.962 56.594c-2.872-1-5.794-1.696-8.736-2.094l11.502-58.715-18.342-3.59-14.172 72.353c-2.132 2.757-4.35 5.304-6.79 7.547l-18.85-35.73-16.53 8.72 22.436 42.527c3.555 9.423 7.447 17.122 11.592 23.307l-68.668 85.63c-1.106 1.866-2.284 3.67-3.553 5.38-8.562 11.545-21.266 19.51-35.67 19.51-14.403 0-27.106-7.965-35.668-19.51-.318-.43-.62-.874-.927-1.313h-.01l-70.574-88.007c4.583-6.456 8.876-14.704 12.763-25.01l22.427-42.513-16.53-8.72-18.85 35.73c-2.438-2.242-4.656-4.788-6.788-7.545L129.784 50.53zm128.33 121.837c-7.593 0-14.802 4.06-20.654 11.95-5.85 7.89-9.825 19.448-9.825 32.406 0 12.957 3.974 24.516 9.826 32.408 5.853 7.892 13.062 11.952 20.655 11.952 7.593 0 14.804-4.06 20.656-11.95 5.854-7.893 9.828-19.452 9.828-32.41 0-12.957-3.974-24.515-9.827-32.406-5.85-7.89-13.06-11.95-20.655-11.95zm-52.912 257.06c-14.898 6.732-24.53 16.38-24.53 26.862 0 20.435 35.37 36.794 78.845 36.794 43.473 0 78.84-16.36 78.84-36.795 0-10.592-9.353-20.118-24.526-26.862 4.54 4.033 7.59 8.548 7.59 13.43 0 15.976-27.917 28.62-61.904 28.62s-61.323-12.644-61.323-28.62c0-4.833 2.55-9.427 7.008-13.43z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SinusoidalBeam;

impl IconShape for SinusoidalBeam {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.7 18.7v31.474l7.804 9.853c-3.24 5.71-5.774 11.464-7.512 17.12-.104.34-.192.684-.29 1.025v28.437c1.392 3.52 3.446 6.762 6.275 9.585 9.892 9.873 24.882 10.316 39.107 5.93 2.954-.91 5.934-2.048 8.922-3.377l38.894 49.115c-1.928 4.116-3.545 8.218-4.81 12.266-5.35 17.106-4.78 34.656 6.61 46.07 11.392 11.41 28.924 11.99 45.96 6.67.977-.306 1.96-.637 2.942-.98l65.402 82.587c-.53 1.544-1.036 3.084-1.49 4.61-6.15 20.656-5.49 41.09 7.65 54.255 11.795 11.818 29.506 13.57 47.713 9.166l87.736 110.79h23.84l-2.316-2.923c3.324-9.926 8.54-20.652 15.472-31.45l31.365 34.374H493.3v-75.472l-31.062-27.096c5.482-8.462 10.068-16.987 13.664-25.396l17.397 13.36v-23.56l-10.98-8.435c5.676-22.206 3.702-43.492-10.226-57.39-15.163-15.132-39.034-16.085-63.23-8.472-2.783.875-5.59 1.88-8.41 2.984l-89.493-68.736c.83-2.283 1.583-4.55 2.24-6.8 5.66-19.4 4.954-38.725-7.53-51.235-12.484-12.51-31.86-13.23-50.99-7.25-6.114 1.91-12.345 4.524-18.582 7.786l-59.504-45.703c2.706-4.89 4.92-9.77 6.59-14.557 5.17-14.83 5.566-30.396-4.614-40.597-10.178-10.202-25.744-9.823-40.57-4.664-7.716 2.685-15.67 6.774-23.54 12.092L55.274 18.7H18.7zm137.84 48.556c4.273-.033 7.21 1.077 8.802 2.672 2.83 2.835 4.132 9.955.195 21.244-1.012 2.903-2.35 5.977-3.99 9.152l-31.27-24.017c4.855-2.87 9.55-5.088 13.866-6.59 4.938-1.72 9.072-2.436 12.396-2.46zM39.296 76.182l21.615 27.297c-.788.282-1.57.55-2.336.786-10.46 3.225-17.255 1.84-20.398-1.297-3.144-3.138-4.525-9.9-1.32-20.333.636-2.07 1.456-4.233 2.44-6.455zm78.72 14.273l33.383 25.64c-.527.686-1.086 1.37-1.636 2.053l-31.746-27.693zm-17.11 33.426l22.44 24.595c-.47.658-.94 1.317-1.396 1.978L100.91 123.88zm65.34 3.622l52.868 40.605c-2.168 1.557-4.323 3.197-6.463 4.903l-48.773-42.547c.803-.984 1.602-1.97 2.368-2.96zm-29.936 35.18l38.627 42.334c-2.238 1.42-4.468 2.74-6.67 3.923l-34.048-42.995c.667-1.085 1.368-2.174 2.09-3.263zm140.77 2.164c6.828.095 12.03 2.068 15.36 5.406 5.685 5.696 7.436 16.95 2.824 32.777L252.78 170.4c2.548-1.07 5.05-2.006 7.474-2.763 5.763-1.8 10.93-2.685 15.44-2.785.47-.01.93-.013 1.386-.006zm-42.338 15.26l53.252 40.904c-1.968 3.888-4.236 7.85-6.748 11.836l-54.215-47.293c2.567-1.938 5.142-3.765 7.712-5.446zm-109.488 4.62l24.86 31.395c-11.155 2.685-19.058 1.01-23.184-3.122l-.002-.002c-4.6-4.61-6.178-13.935-2.002-27.29.1-.322.22-.653.328-.98zm62.484 34.32l56.766 62.212c-2.957 4.59-5.663 9.19-8.06 13.775l-56.39-71.21c2.57-1.47 5.134-3.067 7.684-4.778zm115.342 13.55l78.408 60.222c-6.084 3.394-12.166 7.278-18.177 11.616l-67.794-59.14c2.768-4.223 5.302-8.465 7.564-12.698zm134.16 62.273c9.404.114 16.794 2.82 21.653 7.667 6.444 6.43 9.11 17.333 6.96 31.518l-47.537-36.512c6.178-1.672 11.877-2.538 17.016-2.662.645-.015 1.28-.018 1.908-.01zm-179.63.753l50.32 55.15c-6.605 4.173-13.157 7.547-19.403 10.03l-39.18-49.477c2.283-5.103 5.053-10.373 8.262-15.703zm140.245 9.768l62.665 48.13c-3.06 7.96-7.285 16.32-12.563 24.755l-70.105-61.156c6.714-4.59 13.44-8.52 20.003-11.73zM242.43 332.694l26.26 33.162c-9.63.86-16.912-1.318-21.3-5.714-5.222-5.232-7.314-14.614-4.96-27.447zm78.302 32.112l72.788 79.77c-6.504 9.502-11.876 19.133-15.967 28.646l-76.987-97.216c6.712-3.015 13.476-6.772 20.166-11.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SixEyes;

impl IconShape for SixEyes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M365.844 20.97c-40.147.554-80.328 18.658-115.28 55.936 69.614 76.607 158.46 79.904 237.03 0-36.313-37.23-79.014-56.528-121.75-55.937zm2.437 18.686c2.05 0 4.045.167 6 .5-8.556 2.06-14.936 10.013-14.936 19.5 0 11.052 8.638 20 19.312 20 10.675 0 19.344-8.948 19.344-20 0-1.85-.265-3.644-.72-5.343 4.89 6.47 7.814 14.612 7.814 23.468 0 21.06-16.484 38.126-36.813 38.126-20.328 0-36.81-17.066-36.81-38.125 0-21.057 16.482-38.124 36.81-38.124zm-229.81 49.22c-40.148.554-80.33 18.66-115.282 55.936 69.615 76.608 158.46 79.904 237.03 0-36.312-37.23-79.013-56.528-121.75-55.937zm2.436 18.655c2.06 0 4.064.196 6.03.532-8.57 2.05-14.967 9.972-14.967 19.47 0 11.05 8.637 20 19.31 20 10.676 0 19.345-8.95 19.345-20 0-1.868-.257-3.66-.72-5.376 4.9 6.475 7.814 14.635 7.814 23.5 0 21.06-16.485 38.125-36.814 38.125-20.33 0-36.812-17.065-36.812-38.124 0-21.058 16.483-38.125 36.812-38.125zm224.938 56.845c-40.147.555-80.328 18.66-115.28 55.938 69.614 76.607 158.46 79.903 237.03 0-36.313-37.23-79.014-56.53-121.75-55.938zm2.437 18.656c2.072 0 4.086.192 6.064.532-8.587 2.038-15 9.96-15 19.47 0 11.05 8.638 20.03 19.312 20.03 10.675 0 19.344-8.98 19.344-20.03 0-1.846-.267-3.616-.72-5.313 4.89 6.477 7.814 14.612 7.814 23.468 0 21.058-16.484 38.125-36.813 38.125-20.328 0-36.81-17.067-36.81-38.125 0-21.06 16.482-38.157 36.81-38.157zm-229.81 49.22c-40.148.555-80.33 18.66-115.282 55.938 69.615 76.607 158.46 79.903 237.03 0-36.312-37.23-79.013-56.53-121.75-55.938zm2.436 18.688c2.048 0 4.044.167 6 .5-8.557 2.06-14.937 9.98-14.937 19.468 0 11.052 8.637 20.03 19.31 20.03 10.676.002 19.345-8.978 19.345-20.03 0-1.845-.267-3.615-.72-5.312 4.89 6.47 7.814 14.613 7.814 23.47 0 21.057-16.485 38.123-36.814 38.123-20.33 0-36.812-17.066-36.812-38.125 0-21.058 16.483-38.125 36.812-38.125zm224.938 56.312c-40.147.555-80.328 18.66-115.28 55.938 69.614 76.607 158.46 79.903 237.03 0-36.313-37.23-79.014-56.53-121.75-55.938zm2.437 18.688c2.05 0 4.045.167 6 .5-8.556 2.06-14.936 10.012-14.936 19.5 0 11.052 8.638 20 19.312 20 10.675 0 19.344-8.948 19.344-20 0-1.85-.265-3.644-.72-5.344 4.89 6.47 7.814 14.613 7.814 23.47 0 21.057-16.484 38.123-36.813 38.123-20.328 0-36.81-17.066-36.81-38.125 0-21.058 16.482-38.125 36.81-38.125zm-229.81 49.218c-40.148.555-80.33 18.66-115.282 55.938 69.615 76.607 158.46 79.904 237.03 0-36.312-37.23-79.013-56.528-121.75-55.938zm2.436 18.656c2.06 0 4.064.195 6.03.532-8.57 2.05-14.967 9.97-14.967 19.47 0 11.05 8.637 19.998 19.31 19.998 10.676 0 19.345-8.947 19.345-20 0-1.867-.257-3.66-.72-5.375 4.9 6.475 7.814 14.636 7.814 23.5 0 21.06-16.485 38.125-36.814 38.125-20.33 0-36.812-17.066-36.812-38.125 0-21.058 16.483-38.125 36.812-38.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkeletonInside;

impl IconShape for SkeletonInside {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M299.53 18.813c-19.61.356-40.837 9.338-57.75 26.25-21.96 21.96-30.517 51.24-24.218 74.75-62.778-29-57.658-31.416-120.28-71.594-10.073-6.463-19.442-9.42-27.813-9.814-13.954-.654-25.118 5.805-32.126 14.938C26.13 67.956 24.96 89.496 48.28 107.75c31.027 24.286 58.843 41.04 79.032 59.47 20.19 18.427 32.648 40.59 28.344 70.03-3.158 21.61-13.69 37.998-26.47 51.47-12.778 13.47-27.746 24.486-41.436 36.686-27.38 24.4-50.33 51.753-45.063 114.25 3.328 39.483 34.158 55.117 59.657 52.375 12.75-1.37 23.51-7.336 29.406-17.467 5.897-10.132 7.696-25.438-1.03-47.75-7.595-19.416 3.102-40.836 18.343-57.094 15.24-16.26 36.83-28.82 58.875-25 6.175 1.07 11.42 4.72 15.03 9.155 3.61 4.435 5.996 9.62 7.97 15.25 3.946 11.26 6.27 24.674 9.125 38.563 5.71 27.777 13.662 55.967 33.062 68.468 37.964 24.468 75.258 17.422 91.906.47 8.325-8.478 11.915-18.86 9.126-31.157-2.788-12.3-12.708-27.158-34.28-41.845-23.665-16.11-32.656-48.29-33.845-80.125-1.188-31.836 5.288-64.077 20.126-84.03 6.878-9.25 17.546-13.118 29.656-17.407 12.11-4.29 26.207-8.475 40.75-14.688 29.087-12.425 59.636-32.197 79.125-76.78 17.078-39.07 3.374-64.318-15.28-73.5-9.328-4.593-20.13-5.132-30.438-.626-10.31 4.504-20.43 14.186-27.44 31.75-13.14 32.932-39.218 51.707-70.436 56.436-6.214.942-12.614 1.356-19.188 1.313-.446-.28-.895-.57-1.344-.845 5.914-3.7 11.588-8.15 16.844-13.406 30.064-30.065 35.05-73.856 11.125-97.782-10.466-10.468-24.744-15.403-40-15.126zm-2.342 19.156c9.573-.19 18.524 3.17 25.093 10.28 15.017 16.25 11.9 45.956-6.967 66.375-18.87 20.42-46.328 23.813-61.344 7.563-15.017-16.25-11.9-45.987 6.968-66.407 10.613-11.485 23.94-17.57 36.25-17.81zM65.03 62.593l62.69 45.468-10.282 15.626-63.376-45.97 10.97-15.124zM439.095 85.03l16.094 9.5-36.375 61.595-13.032-14.656 33.314-56.44zm-296.22 34.032l39.94 28.97c-2.63 5.937-4.95 11.934-6.94 18.062l-43.28-31.406 10.28-15.625zm71.94 19.876c.728-.013 1.45-.007 2.186 0 31.214.28 65.063 7.677 92.844 27.687-.43 33.283-4.878 58.947-21.28 86.25-14.544-8.917-30.326-16.685-46.658-22.094l-15.47 46.25 29.72 5.908-7.22 32.968c-27.694.27-53.706-1.247-78.03-14.5l7.438-33.906 29.625 5.875 15.874-47.5c-12.937-2.752-26.05-3.835-39.063-2.688 1.66-33.21 8.716-57.94 23.5-84.03 2.168-.07 4.343-.183 6.532-.22zm174.655 12.25l13.28 14.968-75.813 28.594c.753-6.677 1.195-13.516 1.438-20.53l61.094-23.032zm-240.345 151.03l12.656 13.75-52.31 48.157-20.97-6.094 60.625-55.81zm111.156 22.626l23.033 49.03-17.25 7.25-22.72-48.343 16.938-7.936zm-177 51.125l18.94 5.5 3.874 84.905-18.688.844-4.125-91.25zm209.564 14.186l42.594 68.72-15.875 9.843-44.157-71.25 17.438-7.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkeletonKey;

impl IconShape for SkeletonKey {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.28 18.22c-21.24.154-43.79 7.987-63.56 23.03-2.745-1.017-5.597-1.656-8.47-1.906-10.406-.905-21.097 3.164-28.125 11.812-8.964 11.03-9.41 26.375-2.22 37.844-19.66 41.305-13.464 86.867 16.157 110.938 22.238 18.072 52.514 20.727 82.376 9.187l5.03-1.938 4.22 3.407 46.562 37.812L201.844 228l-43.875-35.656 11.78-14.5 43.875 35.625 15.344-18.876-43.876-35.656 11.78-14.5 43.876 35.656 16.563-20.375-46.532-37.814-4.218-3.437.875-5.345c5.19-31.587-3.573-60.646-25.812-78.72-13.53-10.994-30.48-16.316-48.344-16.186zm-2.25 25.468l43.845 13.874L139.562 101l-24.25-7.656 15.72-49.656zM57.876 57.78c.548-.016 1.107.013 1.656.064 2.637.243 5.25 1.265 7.5 3.093 6 4.876 6.876 13.408 2 19.407-4.874 5.998-13.406 6.907-19.405 2.03-6-4.875-6.876-13.406-2-19.405 2.666-3.282 6.41-5.068 10.25-5.19zm56.906 59.75l55.376 11.564-32.72 40.25-22.655-51.813zM91.22 123l12.468 22.156-35.313 43.438-22.53-40.063L91.218 123zm155.03 80l-21.97 27.03 125.157 101.69-24.593 30.25 17.562 14.28 19.875-24.47 14.5 11.783-19.874 24.468 13.25 10.783-16.687 20.53-38.126 44.47 14.187 12.156 32.595-38 19.25 8.03 22.906-28.188 14.5 11.782-41.092 50.562 18.187 14.78 61.406-75.56 15.44 12.562 21.967-27.032L246.25 203z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkidMark;

impl IconShape for SkidMark {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M495.063 19.938L453.125 35.03l26.844 26.876 15.092-41.968zM433.688 42.03l-64.063 23.032 27.5 14.782 11.094 5.937-8.908 8.907-11.625 11.626 22.375 22.406 11.188-11.19 8.875-8.874 5.938 11.063 13.843 25.718 23.063-64.125-39.283-39.282zm-87.72 31.564L247.532 109l78.376 42.094 11.063 5.937-8.908 8.907-11.625 11.625 22.375 22.407L350 188.78l8.875-8.905 5.97 11.094 41.124 76.5 35.436-98.408-15.844-29.437-8.906 8.906-6.625 6.626-6.592-6.625-35.594-35.593-6.625-6.593 6.624-6.625 9.344-9.345-31.22-16.78zM223.876 117.53l-25.375 9.126 47.063 47.063-53.75 31.03 52.312 28.094 11.063 5.97-8.875 8.874-11.688 11.687L257 281.75l11.22-11.22 8.874-8.874 5.97 11.063 27.123 50.436 31.063-53.78 47.094 47.093 9.125-25.345-43.158-80.25-8.906 8.906-6.594 6.626-6.625-6.625-35.593-35.593-6.594-6.593 6.594-6.625 9.375-9.376-82.095-44.063zm-51.125 98.22l-88.156 50.906 81.812 43.906 11.063 5.97-8.876 8.874-11.656 11.656 22.375 22.407 11.187-11.19 8.875-8.905 5.97 11.063 42.936 79.875 50.907-88.125-26.625-49.563-8.937 8.938-6.594 6.593-6.592-6.594-35.625-35.593-6.594-6.626 6.593-6.594 9.375-9.375-51.438-27.625zM65.562 277.656L19.844 304.03v54.47l62.312 33.47 11.094 5.936-8.906 8.875-11.656 11.658 22.374 22.375 11.188-11.157 8.906-8.906 5.938 11.063 33.97 63.156h55.874l26.375-45.626-42.5-78.97-8.907 8.907-6.594 6.595-6.625-6.594-35.593-35.592-6.594-6.625 6.594-6.594 9.375-9.376-80.907-43.438zm-45.718 102.03V494.97h114l-23.25-43.22-8.906 8.906-6.626 6.594-6.593-6.594-35.595-35.594-6.625-6.593 6.625-6.626 9.375-9.375-42.406-22.783z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullBolt;

impl IconShape for SkullBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M41.78 21.78c-4.997-.165-10.197 1.67-14.655 6.126-15.113 11.567-8.733 29.44 5.906 34.438-11.887 26.758 18.28 38.818 32.69 22.78 1.77 6.353 5.607 11.64 10.53 15.75-6.834 17.716-.453 35.182 10.47 46 17.075 16.914 34.658 11.5 53.78 3.064 5.01 7.768 11.952 14.45 19.844 19.28-8.644 2.492-15.876 8.443-19.844 16.345-12.357-12.712-32.463-4.77-34.28 8.562-2.857 20.933 23.414 31.447 33.093 17.72 4.16 10.35 13.758 17.576 25.125 19.28-20.317 15.863-18.628 46.463-.97 66 18.947 20.96 43.435 16.498 61.688 2.906 1.916 8.895 6.22 16.504 11.688 23.376-18.523 22.26-.477 54.163 22.78 54.875l8.876-6.06c-11.923-16.82-21.032-35.764-21.03-55.533 0-14.22 2.558-27.89 7.25-40.625l18.218 4.688c-4.375 11.248-6.782 23.355-6.782 35.938 0 14.232 7.458 30.79 18.625 46.187 9.12 12.572 20.516 24.252 31.158 33.563 2.31-15.783 2.148-32.015-2.438-49.563l18.094-4.72c10.652 40.76.39 75.718-10.844 108.126l42.094-26.06.406 45.717c.177.064.354.125.53.188l34.345-31.47 4.313 40.845.28.03c.01.002.022 0 .032 0L431.47 441l17.78 31.406c2.94-7.53 10.04-26.205 18.313-52.656 4.41-14.107 8.78-29.58 12.375-44.875h-.282c-17.53 0-31.75-14.193-31.75-31.72 0-17.525 14.22-31.75 31.75-31.75 2.998 0 5.877.443 8.625 1.22-2.127-53.22-45.973-97.026-102.655-100.78l.656-18.657c34.642 2.17 65.52 17.385 87.376 40.53 35.083-17.25 5.977-66.633-23.625-44.062 2.46-48.01-46.01-78.18-81.186-63.062-8.016-38.908-78.668-34.988-90.53-4.688l-25.127-8.75c-1.872-32.22-28.622-57.812-61.312-57.812-21.19 0-39.78 11.107-50.813 27.437l-12.25-7c-.32-17.463-14.582-31.53-32.125-31.53-11.532 0-21.208 6.03-26.874 15.156l-9.907-8.75c6.058-15.098-5.352-28.45-18.125-28.875zm236.44 37.032c-8.926 0-16.158 7.232-16.158 16.157 0 8.923 7.232 16.155 16.157 16.155 8.923 0 16.155-7.232 16.155-16.156 0-8.926-7.232-16.157-16.156-16.157zM45.114 103.196c-6.348 0-11.494 5.146-11.494 11.494 0 6.347 5.147 11.494 11.495 11.494 6.348 0 11.494-5.147 11.494-11.495 0-6.35-5.147-11.495-11.495-11.495zm298.197 94.15l2.063 18.75c-18.395 5.263-34.75 14.895-47.75 27.56L285.78 229.22c15.764-14.956 35.505-26.105 57.533-31.876zm39.563 92.53c20.235 0 36.625 16.425 36.625 36.656 0 20.233-16.39 36.626-36.625 36.626s-36.656-16.393-36.656-36.625c0-20.23 16.42-36.655 36.655-36.655zm-193.906 43.22c-11.435 0-20.69 9.253-20.69 20.686 0 11.435 9.255 20.72 20.69 20.72 11.432 0 20.718-9.285 20.718-20.72 0-11.432-9.286-20.686-20.72-20.686zm244.093 20.624l11.687 62.936-41.813-4.437 30.125-58.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullCrack;

impl IconShape for SkullCrack {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M226.063 24.188L222 58.718l32.688 25.626 23.75-50.03c-18.145-9.142-35.272-9.715-52.375-10.127zM166.75 61.093c-24.248 2.93-42.95 15.897-58.875 33.812h.03l96.407 62.594-37.562-96.406zM300.875 88.75l18.656 85.5-91.092-23.875L269 233.938l-140.594-89.375c-3.966 4.875-7.7 9.97-11.22 15.28-28.794 43.465-42.052 101.104-42.905 156.72 40.122 19.627 63.843 40.14 74.032 61.562 9.157 19.25 5.475 39.06-6.343 54.25 25.214 23.382 68.638 37.63 113.155 38.344 44.813.717 89.973-12.083 118.625-38.783-6.033-6.937-10.412-14.346-12.5-22.437-2.8-10.85-.952-22.554 5.188-33.28 11.757-20.542 37.646-39.263 80.062-59.69-.88-52.663-13.855-110.235-42.5-154.405-23.4-36.085-56.548-63.412-103.125-73.375zm-119.28 168.844c27.75 0 50.25 22.5 50.25 50.25s-22.5 50.25-50.25 50.25c-27.752 0-50.25-22.5-50.25-50.25s22.498-50.25 50.25-50.25zm149.468 0c27.75 0 50.25 22.5 50.25 50.25s-22.5 50.25-50.25 50.25-50.25-22.5-50.25-50.25 22.5-50.25 50.25-50.25zm-74.75 86.125c13.74 29.005 24.652 58.023 30.062 87.03-14.777 12.895-41.26 14.766-60.125 0 7.315-29.007 16.12-58.025 30.063-87.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullCrossedBones;

impl IconShape for SkullCrossedBones {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M425.344 22.22c-9.027.085-18.7 5.826-24.344 19.405-11.143 26.803-31.93 59.156-58.563 93.47 10.57 8.694 19.85 18.92 27.5 30.31 35.1-26.57 68.882-46.81 98.125-56.75 44.6-15.16 12.02-69.72-35.343-35.343 26.91-27.842 11.107-51.27-7.376-51.093zm-341.22.03c-18.5.378-37.604 23.962-16.343 49.875C31.523 38.635-.802 85.48 37.095 102.813c28.085 12.844 62.54 35.66 99.062 64.343 8.125-12.5 18.207-23.61 29.78-32.937-26.782-35.743-48.44-69.835-61.78-98.47-4.515-9.69-12.22-13.66-20.03-13.5zm169.5 99.688c-67.104 0-121.31 54.21-121.31 121.312 0 44.676 24.04 83.613 59.905 104.656v56.406h18.718v-47.468c5.203 1.95 10.576 3.552 16.093 4.78v42.688h18.69v-40.03c2.614.167 5.247.25 7.905.25 2.637 0 5.25-.086 7.844-.25v40.03h18.686v-42.687c5.52-1.226 10.89-2.834 16.094-4.78v47.467h18.688V347.97c35.92-21.03 60-60.003 60-104.72 0-67.105-54.208-121.313-121.313-121.313zm-66.874 88.218c19.88 0 36 16.12 36 36s-16.12 36-36 36-36-16.12-36-36 16.12-36 36-36zm133.563 0c19.878 0 36 16.12 36 36s-16.122 36-36 36c-19.88 0-36-16.12-36-36s16.12-36 36-36zm-66.72 52.344l29.938 48.188h-59.874l29.938-48.188zm-107.28 70.563c-40.263 32.472-78.546 58.41-109.22 72.437-37.896 17.334-5.57 64.146 30.688 30.656-30.237 36.854 21.167 69.05 36.376 36.406 15.072-32.352 40.727-71.7 72.438-112.5-11.352-7.506-21.564-16.603-30.28-27zm213.156 1.718c-8.155 9.415-17.542 17.72-27.908 24.69 31.846 39.39 56.82 76.862 69.438 107.217 17.203 41.383 71.774 9.722 31.72-31.718 47.363 34.376 79.94-20.185 35.342-35.345-32.146-10.926-69.758-34.3-108.593-64.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullInJar;

impl IconShape for SkullInJar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M217.52 21.156c-93.055 0-168.78 72.96-168.78 164.108v303.898h18.69V185.264c0-80.827 66.75-145.42 150.09-145.42h71.25c83.34 0 150.093 64.595 150.093 145.42v303.898h18.688V185.264c0-91.148-75.724-164.108-168.78-164.108h-71.25zm19.62 34.04c56.03 0 104.005 36.303 124.708 88.574-14.244-20.102-30.517-35.992-48.744-46.51-16.218-9.36-34.036-14.79-53.91-15.29-1.243-.03-2.492-.042-3.75-.034-18.876.113-39.584 4.615-62.497 14.334-49.19 20.864-73.53 52.007-82.297 88.996-8.424 35.547-1.668 77.248 15.307 119.214 61.164 5.752 96.5 32.692 113.772 72.282 5.473.378 14.337-.324 24.46-2.664 13.03-3.012 28.268-8.193 42.947-14.41 14.678-6.218 28.843-13.492 39.797-20.51 7.806-5.002 13.795-10.203 17.164-13.813-9.516-17.723-13.562-37.703-10.108-59.293 2.474-15.46 8.65-31.653 18.764-48.795v271.885h42.44V201.63c0-81.356-60.592-146.433-135.612-146.433h-42.44zm81.13 108.822c7.336-.09 14.554 2.238 20.482 6.625-10.03 1.383-17.756 9.984-17.756 20.394 0 11.374 9.222 20.594 20.596 20.594 3.054 0 5.942-.68 8.55-1.872-2.723 7.1-7.85 13.325-15.005 17.326-16.232 9.074-36.745 3.27-45.82-12.96-9.073-16.233-3.273-36.747 12.96-45.82 5.073-2.837 10.563-4.22 15.993-4.286zm-113.207 63.287c8.4-.102 16.644 2.96 22.972 8.664-9.93 1.47-17.55 10.03-17.55 20.368 0 11.374 9.22 20.596 20.595 20.596 1.48 0 2.92-.16 4.31-.457-2.926 5.658-7.484 10.553-13.46 13.894-16.232 9.075-36.747 3.272-45.82-12.96-9.075-16.232-3.273-36.746 12.96-45.82 5.073-2.836 10.563-4.22 15.993-4.285zm70.04 25.408c22.993 16.156 42.062 34.51 59.997 53.494-18.48 2.83-33.388 12.047-45.852 25.633-8.228-24.412-12.27-51.165-14.144-79.127zm63.815 117.14c-30.556 55.978-94.277 59.308-130.27 5.184-1.953 16.323-9.14 20.637-19.21 38.234 40.692 78.895 144.492 68.458 170.052-6.358-11.648-17.158-18.91-18.622-20.572-37.058z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullMask;

impl IconShape for SkullMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.28 19.344c-44.432 0-85.11 25.406-115.28 68.125-30.17 42.718-49.22 102.49-49.22 168.686 0 66.195 19.05 125.97 49.22 168.688 8.75 12.39 18.397 23.31 28.75 32.594v-20.063c6.02 2.618 12.266 4.925 18.688 6.938v27.562c6.424 4.214 13.035 7.846 19.843 10.844V449.5c6.142 1.282 12.385 2.286 18.69 3.063v36.656c6.507 1.69 13.142 2.855 19.874 3.405v-38.47c6.22.244 12.465.27 18.687.033v38.437c6.72-.538 13.348-1.67 19.845-3.344v-36.686c6.304-.77 12.545-1.787 18.688-3.063v33.283c6.895-3.02 13.59-6.673 20.093-10.938v-27.563c6.422-2.012 12.667-4.32 18.688-6.937v20.063c10.357-9.284 20-20.205 28.75-32.594 30.17-42.72 49.22-102.493 49.22-168.688-.002-66.195-19.05-125.968-49.22-168.687-30.17-42.72-70.88-68.126-115.313-68.126zm0 64.53c78.92 0 142.908 63.99 142.908 142.907 0 5.767-.368 11.446-1.032 17.032-40.57-31.098-76.62-28.28-113.25 10.157 20.65 45.335 72.12 52.962 105.72 21.593-9.442 25.98-26.194 48.444-47.782 64.906v76.217c-5.89 2.908-12.145 5.478-18.688 7.688V401h-20.094v28.875c-6.1 1.324-12.35 2.39-18.687 3.188V401H267.53v33.688c-6.22.242-12.465.247-18.686 0V401H228.97v32.03c-6.337-.802-12.59-1.855-18.69-3.186V401h-19.843v23.375c-6.542-2.21-12.8-4.78-18.687-7.688V340.5c-21.617-16.473-38.402-38.955-47.844-64.97 33.6 31.423 85.122 23.797 105.78-21.56-36.64-38.45-72.695-41.253-113.28-10.126-.667-5.6-1.03-11.285-1.03-17.063 0-78.917 63.987-142.905 142.905-142.905zm0 186.876l-25.467 66.813h50.968l-25.5-66.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullRing;

impl IconShape for SkullRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.656 18.47c-57.894 0-102.687 36.608-102.687 79 0 20.057 10.018 38.82 26.718 53.03v53.688h23.28v-55.375h18.688v55.375H251v-55.375h18.688v55.375h23.75v-55.375h18.687v55.375h23.344v-52.75c17.376-14.32 27.874-33.463 27.874-53.97 0-42.386-44.794-79-102.688-79zm-42.437 50c17.144 0 30.843 13.666 30.843 30.81 0 17.14-13.7 30.845-30.844 30.845-17.145 0-30.845-13.704-30.845-30.844s13.7-30.81 30.844-30.81zm82.624 0c17.145 0 30.812 13.666 30.812 30.81 0 17.14-13.668 30.845-30.812 30.845C283.7 130.125 270 116.42 270 99.28s13.7-30.81 30.844-30.81zM142.188 119c-48.82 35.525-80.563 93.098-80.563 158.094 0 55.067 22.787 104.8 59.438 140.312 4.343-13.65 14.108-24.938 26.75-31.28-27.542-27.797-44.563-66.027-44.563-108.25 0-49.647 23.53-93.792 60.03-121.907-9.986-10.747-17.313-23.265-21.093-36.97zm235.562 4.438c-4.512 13.358-12.41 25.466-22.875 35.78 34.185 28.204 55.97 70.875 55.97 118.657 0 42.63-17.357 81.203-45.376 109.063 12.41 6.753 21.835 18.36 25.717 32.218 37.712-35.616 61.25-86.09 61.25-142.062 0-62.352-29.213-117.878-74.687-153.656zM171.312 399.25c-18.903 0-34.03 15.13-34.03 34.03 0 18.902 15.126 34.033 34.03 34.033 18.905 0 34.032-15.13 34.032-34.032 0-18.903-15.127-34.03-34.03-34.03zm169.094 0c-18.903 0-34.03 15.13-34.03 34.03 0 18.902 15.126 34.033 34.03 34.033 18.905 0 34.03-15.13 34.03-34.032.002-18.903-15.125-34.03-34.03-34.03zm-83.22 26.156c-18.902 0-34.03 15.13-34.03 34.03 0 18.902 15.127 34.033 34.03 34.033 18.906 0 34.002-15.132 34.002-34.033 0-18.904-15.096-34.03-34-34.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullShield;

impl IconShape for SkullShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.47 27.094C199.81 59.227 101.786 80.984 39.75 67.187c1.166 160.025 55.89 374.132 216.813 417.25 165.724-44.405 216.26-257.105 217.53-417.25-61.272 13.46-169.382-11.664-218.624-40.093zm2.56 44.968c31.866-.34 63.817 5.085 95.595 17.344l35.28 146.125h-63.75c9.446 29.716 6.468 70.128-9.905 99.845l-17.344-49.906-19.812 54.217-19.813-50-19.78 49.375-19.22-53.593-17.31 49.28c-14.528-26.456-23.842-65.022-9.907-99.22h-64.407L162.97 89.407c31.433-10.896 63.196-17.003 95.06-17.344zM85.25 114.25l11.5 2.656c11.29 2.595 24.925 2.822 39.594 1.344l-3.75 19.563c-9.76.572-19.265.393-28.28-.72 1.55 59.134 12.177 124.982 35.81 180.188 8.367 19.543 18.273 37.668 29.907 53.75l-3.28 25.908c-17.92-20.952-32.374-45.668-43.78-72.313-26.502-61.9-37.207-134.657-37.657-198.53l-.063-11.845zm349.125.03l-.094 11.814c-.488 63.837-10.383 136.353-36.56 198.156-11.802 27.86-27.07 53.627-46.345 75.22l-3.688-24.69c13.025-17.086 23.87-36.625 32.844-57.81 23.33-55.074 33.288-120.73 34.783-179.97-9.305 1.02-19.255.99-29.532.156l-4.124-19.312c15.67 1.7 30.068 1.594 41.22-.938l11.5-2.625zm-261.78 41.407l-11.126 51.282 74.686-6.657c-12.785-26.075-35.684-38.674-63.562-44.625zm171.655 0c-26.53 7.927-49.585 20.382-63.563 44.625l74.688 6.657-11.125-51.282zM258.406 214.5l-7.437 9.844-23.095 30.47 14.906 11.28 15.626-20.625 15.625 20.624 14.908-11.28-23.063-30.47-7.47-9.844zM201.47 352.28l14.5 56.814 22.968-47.563 19.343 59.345 19.345-59.938 21.72 48.157 15.78-56.188c15.586 18.392 20.75 39.556 18.28 65.75-48.64 37.818-96.95 42.896-148.905 0 .234-24.123-.63-44.257 16.97-66.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullSignet;

impl IconShape for SkullSignet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.42 63.95c-64.054 0-122.07 10.41-164.908 27.755-21.42 8.673-39.093 19.056-51.87 31.29-12.78 12.232-20.822 26.845-20.822 42.724 0 1.62.106 3.225.27 4.82v.528c.132 1.02.305 2.038.496 3.055.077.427.167.85.256 1.275.075.354.152.708.234 1.06.13.56.266 1.117.414 1.67.11.414.232.826.352 1.24.106.36.205.722.32 1.08 7.19 23.116 29.692 45.078 64.668 62.488 2.903 1.444 5.892 2.85 8.95 4.222l15.234-20.418c-3.964-1.39-7.798-2.835-11.49-4.33-19.885-8.052-35.64-17.585-45.962-27.467-10.322-9.88-15.054-19.58-15.054-29.224 0-9.644 4.732-19.345 15.054-29.226 10.323-9.88 26.077-19.414 45.963-27.467C139.3 92.923 195.41 82.64 257.42 82.64c62.01 0 118.123 10.283 157.896 26.387 19.887 8.053 35.64 17.586 45.96 27.467 10.323 9.88 15.058 19.582 15.058 29.225 0 9.642-4.735 19.342-15.057 29.223-10.322 9.882-26.074 19.415-45.96 27.467-3.7 1.498-7.544 2.946-11.518 4.34l15.173 20.34c3.004-1.35 5.94-2.734 8.793-4.154 29.935-14.9 50.73-33.136 60.613-52.575 4.24-7.72 6.64-15.99 6.64-24.64 0-15.88-8.04-30.493-20.82-42.726-12.778-12.233-30.45-22.616-51.87-31.29-42.84-17.345-100.856-27.753-164.91-27.753zm-56.797 73.933L110.263 259l13.82 17.676 41.745-52.45 61.21 66.16h-92.233l41.703 53.337V438.3h27.084v-85.087h18.687V438.3h25.777v-85.087h18.687V438.3h25.777v-85.087h18.69V438.3h27.087v-94.577l41.705-53.336h-92.238l61.21-66.162 41.745 52.455L404.542 259l-90.36-121.117h-113.56zm294.174 77.012c-13.66 17.35-34.022 32.486-58.703 44.77-4.234 2.108-8.608 4.136-13.11 6.087l-52.953 67.723c21.472-5.64 40.945-12.805 57.736-21.163 41.094-20.454 64.982-47.193 67.03-74.703v-22.715zm-474.707.36v25.19c3.425 26.506 27.06 52.117 66.74 71.868 16.86 8.39 36.422 15.58 57.996 21.23l-52.896-67.65c-4.615-1.993-9.092-4.07-13.426-6.227-24.51-12.2-44.758-27.213-58.414-44.412zm237.312 62.126l20.903 55.58h-41.807l20.904-55.58zm237.395 6.89c-13.66 17.352-34.022 32.49-58.703 44.775-22.777 11.337-49.55 20.453-79.11 26.803v22.04c26.826-5.238 50.936-12.497 71.166-21.247 21.532-9.313 38.617-20.33 49.916-31.878 11.3-11.55 16.73-23.184 16.73-34.99v-5.5zm-474.707.36v5.143c0 11.805 5.433 23.44 16.732 34.99 11.3 11.548 28.384 22.564 49.916 31.878 20.21 8.742 44.29 15.996 71.082 21.233v-21.98c-29.643-6.352-56.486-15.485-79.316-26.848-24.51-12.2-44.758-27.215-58.414-44.414z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SkullSlices;

impl IconShape for SkullSlices {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.613 18.693c14.346 3.397 28.44 8.496 41.955 15.407C387.29 76.396 426.39 171.724 405.982 258.908c5.637-1.678 11.7-2.258 17.91-1.496 5.757.706 11.11 2.502 15.895 5.14 3.493-20.665 5.6-40.235 5.604-57.333v-.048c.01-98.058-79.632-179.733-182.777-186.48zM220.186 32.29c-35.435-.275-70.502 10.305-99.43 30.392C87.63 89.234 63.864 125.8 54.706 167.16c-9.962 63.56 19.737 130.7 79.794 161.07 17.298 8.745 35.857 13.585 54.477 14.825-.484-10.38-1.614-20.586-3.534-30.407-11.817-1.572-23.504-5.01-34.568-10.44-60.26-29.57-82.477-104.75-53.227-163.696 22.977-46.303 70.613-72.02 119.342-71.998 20.575.01 41.344 4.607 60.535 14.18 71.852 35.85 98.25 125.977 62.756 196.452-3.01 5.977-6.372 11.657-10.04 17.043-8.4 19.265-28.72 31.58-50.662 28.89-26.746-3.28-45.765-27.597-42.484-54.314 3.19-25.98 26.298-44.662 52.16-42.657 7.325-35.263-8.658-73.613-42.38-89.82-34.648-16.655-78.86-3.388-95.536 31.657-14.29 30.037-2.71 68.293 27.752 82.553l.195-.145c44.044 59.514 29.42 150.498 13.96 210.145l-.31-.08-.257 2.603c11.15 4.674 22.272 9.042 33.426 12.91l15.298-53.843 17.977 5.107-15.468 54.436c12.238 3.578 24.554 6.44 37.035 8.297l13.2-53.82 18.152 4.452-12.597 51.356c10.234.65 20.602.567 31.147-.387l10.94-51.405 18.28 3.89-9.523 44.743c7.942-1.534 15.995-3.584 24.178-6.213 2.24-5.614 17.78-44.766 34.64-98.617 3.908-12.483 7.796-25.598 11.508-38.963-2.528.13-5.1.06-7.7-.26-24.13-2.96-41.29-24.897-38.33-49.002.686-5.585 2.402-10.79 4.92-15.463 33.78-85.14-.844-187.14-83.7-229.506-23.993-12.267-50.032-18.242-75.877-18.443zm-3.124 52.937c-41.987-.015-83.065 22.066-102.677 61.59-24.756 49.886-5.873 113.793 44.72 138.62 6.808 3.34 13.908 5.753 21.127 7.32-3.334-9.88-7.716-19.135-13.318-27.5-37.09-20.268-50.38-67.642-32.447-105.335v-.002c15.005-31.536 46.876-49.117 79.668-49.475 13.845-.15 27.856 2.768 40.83 9.004h.002c42.324 20.343 61.96 68.003 52.33 111.634l.027.014c-3.273 11.283-8.337 20.948-17.46 27.984-9.914.353-17.66 8.296-17.66 18.307 0 10.24 8.1 18.34 18.34 18.34 5.443 0 10.266-2.3 13.604-5.982 11.28-8.043 20.752-21.604 25.588-35.62l.06.116c20.934-58.806-3.163-128.17-60.61-156.832-16.506-8.234-34.395-12.18-52.123-12.185zm136.78 216.636l6.736 109.592-24.89-31.152-45.4 14.88 63.554-93.32z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Slap;

impl IconShape for Slap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.26 30.982c66.658 35.958 111.957 106.423 111.957 187.47 0 117.567-95.305 212.872-212.87 212.872-81.016 0-151.456-45.26-187.427-111.87C54.146 421.63 146.772 497.02 257.195 497.02c130.85 0 236.703-105.857 236.703-236.706 0-110.448-75.424-203.12-177.638-229.332zM173.027 49.174c-.513-.002-1.022.008-1.525.03-4.83.2-8.995 1.528-12.078 3.548L146.79 160.74l-15.458 28.592c6.213 10.643 11.196 21.47 14.826 32.496l-17.75 5.844c-2.052-6.233-4.63-12.46-7.703-18.682l-.025.047c-12.95-22.565-27.376-41.2-38.912-47.967-6.19-3.63-10.49-4.2-15.262-2.35-3.982 1.546-9.023 5.83-14.383 13.985 33.155 41.62 40.914 80.725 46.535 106.195 1.802 8.16 1.855 15.758 3.23 21.36l.305 1.234-.04 1.272c-.754 25.344 10.396 43.41 26.146 55.218 15.704 11.776 36.216 16.526 52.104 13.748 19.725-4.198 32.415-11.058 45.717-22.464 11.922-10.57 33.085-26.408 45.062-36.42 37.06-30.977 98.058-63.045 108.02-68.21 2.108-10.902-4.806-22.478-13.655-27.152l-74.184 42.71c-3.954-7.074-8.448-13.68-13.392-19.895l91.505-99.21c-.33-6.228-3.38-13.547-8.305-19.252-4.444-5.147-9.932-8.334-14.133-9.373l-95.07 101.33c-6.066-5.157-12.43-10.054-19.002-14.772l66.1-125.216c-4.527-6.72-9.388-10.572-15.26-13.237-5.445-2.47-12.303-3.794-19.887-4.892l-60.463 123.8c-7.348-4.592-14.772-9.118-22.182-13.656l14.055-108.806c-3.996-3.416-10.597-6.564-17.572-7.512-1.603-.218-3.188-.326-4.73-.33z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlashedShield;

impl IconShape for SlashedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.156 22.125L60.28 82.438c.432 108.262 10.918 200.47 40.25 270.437 13.326 31.78 30.345 59.02 52.126 81.47 4.056-11.198 8.352-22.57 12.813-34.064-16.453-18.292-29.438-40.056-39.345-64.75-23.25-57.95-30.656-131.856-30.656-217.717l-.095-7.188 6.563-1.72L246.313 62.47c5.877-12.546 11.896-25.14 18.125-37.814l-8.282-2.53zm52.656 16.188l-17.875 33.124 23.313 7.5c5.9-11.474 11.73-22.754 17.375-33.593l-22.813-7.032zM376.5 59.156c-6.004 11.338-12.02 22.668-18.03 34l25.25 8.125c6.615-11.223 13.333-22.462 20.186-33.686L376.5 59.156zm71.156 21.907l-33.844 51.5c-.736 79.713-7.717 148.21-29.25 202.687-22.848 57.806-63.124 99.61-127.312 118.625l-2.656.813-2.656-.813c-32.193-9.537-58.434-25.294-79.5-46.25-6.443 9.027-12.975 17.983-19.625 26.844 26.645 27.41 60.394 47.68 103.28 60.25 80.56-23.573 128.42-71.69 157.5-142.095 28.78-69.676 38.15-161.577 38.532-270.188l-4.47-1.374zm-212 4.437L114.25 124.563c.405 81.79 8.107 151.38 29.22 204 .454 1.135.907 2.255 1.374 3.375 24.524-86.216 54.174-165.683 90.812-246.438zm46.25 2.625L147.25 337.5c7.214 16.193 15.74 30.653 25.875 43.344 38.187-95.228 87.792-197.513 132.5-285.094l-23.72-7.625zm67.688 21.78C297.91 207.07 245.08 303.326 183.22 392.346c18.644 19.297 42.002 33.62 71.374 42.75 57.576-17.84 91.637-53.702 112.594-106.72 17.472-44.204 25.07-100.542 27.25-166.344L235.594 403.845c36.84-95.574 83.337-190.838 138.47-286.063l-24.47-7.874z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlaveryWhip;

impl IconShape for SlaveryWhip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M375.04 37.43l-35.083 43.386L314.95 37.92l-4.055 46.084c63.786 18.442 66.642 100.816 27.71 132.69l85.49-13.003-43.322-14.56 77.688-45.347-75.374 3.55 61.728-79.298-78.498 35.002 8.725-65.607zM70.296 58.395c-15.223.03-31.116 5.526-48.545 16.935v47.135c43.16-38.49 90.794-21.734 133.76 24.56 23.57 29.96 48.492 64.923 98.338 78.166 37.686 10.014 77.26-8.695 87.326-45.94 3.85-14.245 4.485-29.96.107-44.334-4.376-14.372-14.476-27.512-30.585-33.684h-.002c-10.558-4.044-22.308-4.223-32.888-.554-10.582 3.668-20.198 11.696-24.35 23.586-2.616 7.492-2.486 15.654.41 23.072 2.897 7.42 9.143 14.25 18.01 16.82h.002c5.33 1.544 10.872 1.284 16.1-.896 4.803-2.004 9.515-6.272 11.41-12.166-11.492 10.304-28.43 5.458-28.97-14.328-.205-2.172.02-4.445.68-6.34v-.002c2.117-6.06 6.64-9.944 12.83-12.09 6.188-2.146 13.84-2.04 20.08.35h.003c10.562 4.046 16.314 11.563 19.394 21.677 3.08 10.116 2.78 22.718-.27 34.015-7.294 26.984-35.235 40.528-64.488 32.756-32.45-8.62-52.41-27.42-70.373-48.985l.15-.223C143.74 93.958 109.2 58.32 70.296 58.395zm228.437 90.863l1.01.576c.027-.112.06-.22.086-.332l-1.096-.244zm157.87 64.904c-17.884-.094-38.857 9.058-55.942 26.143-5.313 5.313-9.848 11.004-13.588 16.86-93.743-56.462-329.905 76.312-178.974 189.757l-.002.002H88.78l-26.452 47.74h257.164l-88.478-103.25c24.27-26.708 67.453-43.706 96.996-45.064 13.793 45.097 36.25 113.497 71.734 148.312h60.867c-43.07-46.548-76.537-109.094-81.936-179.85 1.615 3.23 3.692 6.19 6.283 8.782 18.664 18.663 55.953 11.632 83.29-15.703 27.335-27.335 34.364-64.623 15.7-83.286-7-7-16.615-10.385-27.345-10.442z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sleepy;

impl IconShape for Sleepy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.094 18.25c-42.675 0-81.852 25.486-110.938 68.438C109.07 129.637 90.72 189.74 90.72 256.28c0 66.543 18.35 126.643 47.436 169.595s68.263 68.47 110.938 68.47 81.883-25.518 110.97-68.47c29.084-42.952 47.436-103.052 47.436-169.594 0-66.54-18.352-126.64-47.438-169.592C330.978 43.736 291.77 18.25 249.094 18.25zm-128.97 241.313c18.356 18.096 37.528 26.765 55.72 27.562 18.19.797 35.927-6.096 52.125-21.5l12.874 13.53c-19.214 18.274-42.25 27.658-65.813 26.626-23.56-1.03-47.1-12.3-68-32.905l13.095-13.313zm264.782 0l13.125 13.312C377.135 293.48 353.564 304.75 330 305.78c-23.563 1.033-46.598-8.35-65.813-26.624l12.875-13.53c16.2 15.403 33.934 22.296 52.125 21.5 18.192-.798 37.365-9.467 55.72-27.563zM251.562 371.656c36.423-.156 72.996 19.144 77.438 58.406-51.33 13.296-102.67 12.767-154 0 3.858-38.638 40.14-58.25 76.563-58.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlicedBread;

impl IconShape for SlicedBread {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.97 14.438c-42.682.018-82.778 11.23-101.282 31.187-30.652 33.058 1.238 86.79-22.72 168.063-8.613 29.22 74.178 97.934 122.188 151.625-3.125-8.49-3.153-17.208-1.156-24.688v-.688l.47-1.437c17.554-53.406 12.688-81.692-1.25-125.313-5.194-16.25-4.224-31.73 1.78-44.812 6.004-13.082 16.6-23.578 29.625-31.813 26.05-16.47 62.195-24.613 98.313-25.656 4.514-.13 9.006-.157 13.5-.062 23.43.492 46.31 4.073 65.906 11.22-5.792-6.04-12.343-12.123-19.344-18.22-41.85-24.153-155.507-18.392-208.03 16.125 33.065-44.226 114.77-66.194 184.53-35.407-8.257-6.463-16.738-12.862-25.125-19.126C238.262 40.686 123.365 46.27 70.47 81.03 102.665 37.97 181 15.983 249.5 43.28c-28.753-19.812-69.177-28.86-107.53-28.843zm132.78 115.03c-2.095.006-4.183.034-6.28.095-33.57.97-67.18 9.115-88.845 22.812-10.832 6.848-18.573 14.884-22.656 23.78-4.085 8.898-4.943 18.814-.94 31.345 14.19 44.4 19.552 79.75 1.657 135.22v.217l-.468 1.407c-1.297 3.94-1.203 11.898 1.81 17.47 3.016 5.57 7.7 9.873 19.75 9.873 7.3 0 16.987-.02 25.97-.03 21.836-16.527 47.35-35.183 66.375-49.97 10.12-7.864 22.774-9.62 34.125-9.312 11.35.31 21.408 2.634 28.563 6.063 19.722 9.444 37.077 15.635 55 20.125-.143-.97-.34-1.807-.563-2.47-16.222-47.974-24.11-90.38-8.406-137.718 4.08-12.298 3.23-21.644-.688-29.844-3.918-8.198-11.416-15.53-22.125-21.593-18.74-10.607-46.79-16.7-76-17.406-2.085-.05-4.185-.067-6.28-.06zm28.344 201.563c-.55 0-1.084.015-1.625.033-7.572.246-14.643 2.085-18.876 5.375-24.37 18.94-58.597 43.71-82.28 62.187-4.67 3.642-6.184 6.524-6.564 8.03-.38 1.51-.246 2.165.813 3.658 2.116 2.985 9.79 6.963 17.406 6.906 54.724-.405 97.39 12.696 133.405 30.03 19.53 9.4 43.448 9.722 66.72 4.063 23.27-5.66 45.638-17.31 61.03-30.188 15.392-12.878 22.33-26.61 21.063-33.938-.634-3.664-2.582-6.99-8.75-10.656-6.17-3.664-16.564-7.015-31.688-8.655-49.392-5.353-83.953-11.502-128-32.594-3.328-1.594-12.244-3.98-21-4.217-.547-.015-1.108-.03-1.656-.032zm196.25 90.5c-4.112 4.84-8.944 9.494-14.22 13.908-17.895 14.973-42.335 27.645-68.593 34.03-26.256 6.387-54.58 6.498-79.25-5.374-34.164-16.444-73.45-28.57-125.155-28.188-7.96.06-15.778-1.69-22.313-5.406 1.91 16.26 11.684 30.165 29.344 30.03 51.222-.39 81.323 12.19 117.813 25.533 57.38 20.98 162.374-11.593 162.374-49.125V421.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SlicingArrow;

impl IconShape for SlicingArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M94.027 17.81l-.763 71.667-71.254.355 85.51 64.35 27.94-9.082 277.542 277.537-39.828 9.345 118.6 56.215-56.22-118.597-9.34 39.818-277.376-277.37 9.54-28.726-64.35-85.51zm83.41.465L393.99 308.74 280.887 18.275h-103.45zm123.506 0l129.922 333.66-39.35-333.66h-90.572zm109.39 0l34.173 289.768 51.24-289.768h-85.414zM20.98 174.443V277.9l295.903 117.153L20.98 174.443zm0 123.557v90.557l335.89 42.425L20.98 298zm0 109.393v85.36l281.59-49.792-281.59-35.567z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sly;

impl IconShape for Sly {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.563 75.28C17.71 179.527 82.54 207.685 181.875 198.688 158.455 135.47 111.857 89.686 23.563 75.28zm474.625 0c-88.295 14.405-134.894 60.19-158.313 123.407 99.334 8.997 164.164-19.16 158.313-123.406zM55.03 283.53c20.276 35.905 40.59 66.526 60.908 91.876 96.78 28.22 194.46 26.484 293.406-1.312 19.378-25.143 38.59-55.332 57.594-90.563-121.66 108.32-286.123 103.457-411.907 0zM389.407 398.19c-84.598 20.145-168.747 21.634-252.22 1.812 85.106 90.85 170.073 89.535 252.22-1.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SmallFire;

impl IconShape for SmallFire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M162.22 21.312c-183.876 106.68 51.994 227.35-10.19 332.47C116.95 413.083 38.11 325.45 43.75 227-6.035 353.376 30.21 443.745 95.22 492.75c1.386.34 17.577.498 41.186.562-28.478-16.9-32.06-75.355 32.813-103.25l15.78-7L182.062 400c-1.356 8.34-.318 13.95 1.188 16.937 1.507 2.987 3.106 3.544 5.844 4.094 5.475 1.1 16.963-2.395 26.28-14.624 18.636-24.457 29.117-80.228-26.874-167l-4.094-6.437-13.906-19.25 23.25 9.905 5.25 1.75c80.85 25.498 135.3 58.46 174.625 112.72 21.544-22.906 38.7-56.835 43.812-91.69l3.5-27.468 13.438 23.97c25.525 45.802 30.267 104.912 11.094 156.5-14.23 38.28-42.036 72.34-84 93.5 13.623-.01 24.05.032 25.25.124 154.76-34.77 139.345-244.952-14.19-394.093.012.726 0 1.46 0 2.188 78.964 185.87-136.465 189.104-119.25 11.47-41.686 100.463-132.86-2.147-91.06-91.283zM269.093 332.25c13.51 15.806 22.35 33.086 22.78 50.812.587 24.03-9.293 47.12-24.53 66.563-14.832 18.926-34.837 34.62-56.625 43.656 33.127-.065 64.926-.16 95.217-.25l-.062-.186c30.95-18.584 47.31-38.83 53.75-57.813 6.44-18.982 3.25-37.246-5.844-53.718-15.44-27.97-49.705-47.71-84.686-49.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SmashArrows;

impl IconShape for SmashArrows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M121.068 15.52v339.31H20.54L121.07 497.346h77.385l-47.49-149.364h50.225V15.52h-80.12zm98.81 0v351.15h-43.362l41.547 130.676h80.36l41.548-130.676h-43.36V15.52h-76.733zm95.42 0v332.462h50.223l-47.487 149.364H391.3L491.823 354.83H391.3V15.52h-76z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Smitten;

impl IconShape for Smitten {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.563 20.53c-48.747 0-93.132 25.712-125.844 68.44-32.714 42.726-53.282 102.36-53.282 168.405s20.568 125.648 53.28 168.375c32.713 42.727 77.098 68.438 125.845 68.438 48.746 0 93.13-25.71 125.843-68.438 32.713-42.727 53.28-102.33 53.28-168.375.002-66.045-20.567-125.68-53.28-168.406-32.712-42.728-77.097-68.44-125.844-68.44zm-54.97 148.657c14.85-.292 29.283 8.698 33.845 28.188 9.805 41.902-43.157 82.06-43.157 107.656-11.71-20.28-81.58-31.536-91-71.686-9.28-39.562 34.006-62.027 62.907-33.125 5.326-19.873 21.6-30.72 37.407-31.032zm106.532 0c16.245-.337 33.326 10.558 38.813 31.032 28.9-28.903 72.218-6.438 62.937 33.124-9.42 40.15-79.288 51.405-91 71.687 0-25.595-52.993-65.753-43.188-107.655 4.415-18.862 18.104-27.89 32.438-28.188zM258.03 350.595c34.49 0 68.985 7.503 99.283 22.53l6.468 3.22-1.467 7.062s-3.773 17.89-18.813 35.094-41.975 34.063-85.47 34.063c-43.492 0-70.427-16.86-85.467-34.063-15.04-17.204-18.813-35.094-18.813-35.094l-1.47-7.062 6.47-3.22c2.803-1.39 5.66-2.675 8.53-3.937v-.375h.814c27.954-12.135 58.942-18.218 89.937-18.218zm-72.56 54.25c.38.46.75.912 1.155 1.375 11.94 13.657 32.584 27.655 71.406 27.655 38.823 0 59.466-13.998 71.408-27.656.404-.464.773-.917 1.156-1.376H185.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SmokingFinger;

impl IconShape for SmokingFinger {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M204.262 14.523c-77.532 69.77-17.704 109.27 59.158 52.204 51.638-38.34 71.438 23.49 47.717 53.505-58.438 73.947-172.578 34.18-89.354 7.008-113.37-36.547-121.296 71.39-90.523 104.54 38.863 41.858 124.766 26.255 165.277-7.01 37.108-30.468 21.75-60.866-22.777-36.79 35.316-52.643 95.264-16.59 94.025 35.622-.848 35.23-28.5 88.775-124.978 110.964 196.402 32.01 316.185-144.252 218.422-213.752 7.6 41.44-36.27 85.195-65.994 80.596C440.806 80.175 371.784-42.2 263.248 54.82c-36.02 32.2-71.8 3.22-58.986-40.297zm-108.22 210.83c-2.84-.05-7.002.973-12.147 3.674-.752 50.5-28.358 94.39-64.766 128.723v136.836h159.595c15.818-5.263 33.142-11.42 54.955-21.352l.205-.093.207-.08c2.088-.834 2.763-1.695 3.523-4.033.76-2.338.93-6.127.178-10.15-.753-4.023-2.372-8.235-4.244-11.37-1.037-1.736-2.167-3.027-3.066-3.907l-51.216 20.418-6.92-17.36 58.818-23.45c.294-.116.433.1.932-2.048.498-2.147.505-6.053-.346-10.316-1.445-7.238-5.578-15.464-8.986-19.674l-50.594 20.17-6.922-17.36 58.225-23.214c2.412-11.735-1.187-23.722-8.15-31.36l-64.552 25.735-6.92-17.36 136.612-54.464c6.523-2.6 9.43-6.04 10.855-9.498 1.425-3.458 1.302-7.34-.17-10.882-2.943-7.088-9.628-12.57-21.875-7.688L79.85 340.768l-6.92-17.36 29.924-11.93c8.12-24.656 10.526-47.405 8.353-63.146-1.148-8.317-3.598-14.544-6.297-18.11-2.698-3.565-4.98-4.795-8.867-4.868z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SmokingOrb;

impl IconShape for SmokingOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.66 18.307c22.473 23.29 32.004 44.438 35.09 65.252 3.27 22.058-.962 44.3-7.137 67.938-12.16 46.555-31.934 98.967-5.064 159.813-12.032 27.753-6.857 56.39 7.923 78.788 5.667 8.588 12.605 16.416 20.416 23.275-26.87 19.893-47.554 47.646-58.78 79.926h317.195c-20.4-58.752-72.103-102.477-135.453-111.136-103.568-7.857-133.265-149.088 2.99-216.37-73.545 91.13-68.33 138.608-30.356 172.495-6.273-23.09-6.493-48.715 2.305-74.198 42.55-13.055 93.052-42.474 124.42-83.826 17.266-22.765 28.633-49.494 28.21-78.762-.384-26.6-10.61-54.804-33.307-83.197h-23.758c31.688 29.94 43.622 103.442-31.873 140.558 38.92-50.098 22.51-112.9-26.185-140.558h-46.842c31.354 40.286 20.02 66.067-3.83 89.12 1.89-7.246 3.108-14.645 3.55-22.056 1.457-24.356-6.552-49.207-26.28-67.063H201.12c34.436 12.88 45.068 38.047 43.4 65.95-1.034 17.29-7.676 35.33-17.594 50.313-11.71 9.188-23.477 18.68-33.33 29.295-18.288 19.702-31.146 38.49-39.57 56.35 3.43-21.496 10.05-42.48 15.67-63.994 6.36-24.35 11.415-49.27 7.54-75.404-3.037-20.482-11.73-41.365-28.69-62.51H123.66zm282.018 98.675c-2.836 18.55-11.212 35.976-23.36 51.99-24.127 31.81-63.363 57.2-98.53 71.33 12.744-21.742 32.915-42.753 62.462-61.296 32.67-20.504 51.2-41.087 59.428-62.024zm-247.256 217.97c12.986 22.255 31.94 41.7 52.207 58.232-.04.015-.075.033-.112.048 28.763 17.358 48.085 56.824 12.923 85.764 7.22-26.29-13.27-64.455-36.155-79.363l.363-.188c-6.822-5.85-12.848-12.476-17.578-19.642-9.107-13.8-14-28.926-11.648-44.852z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snail;

impl IconShape for Snail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M425.5 74.313c-8.895 0-16.35 6.21-18.25 14.53-8.593 3.7-15.195 10.617-19.03 18.813-5.254 11.223-6.848 24.648-7.158 39.313-.525 24.904 2.99 53.73 4.532 79.03-1.782 14.666-4.867 28.518-9.063 41.406 2.84 17.934 3.39 36.487.94 55.188-5.017 38.286-36.52 61.134-70.22 67.937-31.048 6.27-65.312.42-87.656-19.405-34.752 22.61-76.646 28.578-112.406 16.594-42.048 16.248-74.53 38.826-87.626 61.436H341.25c103.105 0 137.952-107.888 111.406-225.53-.018.023-.044.038-.062.06-5.71-40.853.98-70.45 14.906-88.905 1.956.695 4.056 1.095 6.25 1.095 10.333 0 18.688-8.386 18.688-18.72 0-10.332-8.355-18.718-18.688-18.718-10.333 0-18.72 8.386-18.72 18.72 0 1.017.095 1.994.25 2.968-21.242 25.165-28.854 65.708-19.25 117.906-10.296 4.836-21.152 2.878-31.436-6.75-1.286-28.002-5.364-59.27-4.844-83.905.283-13.405 2.07-24.72 5.375-31.78 2.1-4.49 4.222-7.344 7.47-9.032 3.355 3.196 7.904 5.187 12.905 5.187 10.333 0 18.688-8.386 18.688-18.72 0-10.332-8.355-18.718-18.688-18.718zM193.344 106.25c-2.196-.01-4.398.036-6.594.125-35.143 1.42-70.142 15.475-99.063 41.25-56.73 50.558-59.43 144.59-9.187 201.125 38.648 38.3 106.856 34.79 151.5-9.844 37.712-37.61 40.61-94.977 8.78-127-22.1-22.23-60.996-24.817-85.843 1.188-5.534 5.79-8.98 16.02-8.906 26.906.076 10.887 3.653 22.003 9.532 29.063 3.593 4.313 10.625 8.476 18.5 10.468 4.687 1.187 9.596 1.58 14.094 1.25 13.195-.228 26.156-9.01 26.156-26.624 0-15.72-10.332-24.428-21.937-26.28 7.773-.697 14.783.618 20.594 3.81 8.51 4.678 13.69 12.944 15.468 21.533 3.52 16.995-5.478 37.125-25.407 43.343l.032.062c-.162.06-.337.067-.5.125-.046.014-.078.05-.125.063-10.572 3.753-22.202 3.567-32.968.843-10.977-2.776-21.238-8.167-28.282-16.625-9.418-11.306-13.744-26.222-13.844-40.874-.1-14.652 4.01-29.453 14.062-39.97 32.03-33.52 83.263-31 112.625-1.467 39.98 40.22 35.282 109.352-8.843 153.374v.03c-2.627 2.627-5.384 5.056-8.156 7.438 17.017 12.7 44.022 17.605 68.532 12.657 28.256-5.706 51.524-22.667 55.375-52.064 9.492-72.455-34.215-147.342-72.25-179.25-27.663-23.21-60.402-34.506-93.343-34.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snake;

impl IconShape for Snake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M301.563 20.22c-8.64-.033-17.075.304-25.22.968-200.737 0-184.708 197.468 0 226 184.71 28.53 137.485 190.906 9.907 190.906-84.162 0-140.85-19.887-181.03-64.156-42.064-46.34-12.496-99.594 44.28-51.938 57.026 47.867 100.32 83.576 171.813 28-89.54 29.698-124.626-42.73-188.313-81.875-60.388-37.117-138.036 38.746-86 121.25 43.402 68.815 152.713 107.78 243.344 107.78 220.645 0 259.324-271.296 63.094-301.936-69.28-10.818-119.376-23.398-143.688-61.907-17.817-28.226 32.672-85.843 97.656-59.688 9.406 15.75 13.877 35.578 15.375 65.47l83.5 39.53 3.22-5.438.063.125c8.535-4.49 14.952-14.657 20.906-26.03-10.923 4.674-23.103 4.475-34.69 1.468-2.788-1.817-5.497-3.827-8.092-6-23.392-19.585-28.737-45.978-11.938-58.97 12.435-9.615 33.52-9.19 53.125-.374 8.603 18.074 9.702 35.265 11.188 52.5 10.24-14.024 15.704-29.453 18.562-45.656l10.72-18.063C421.43 35.528 357.307 20.423 301.56 20.22zm42.812 22.06c13.64.758 28.504 1.625 41.72 9.407l-9.47 16.126c-8.187-4.822-19.96-6.137-33.28-6.876l1.03-18.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnakeBite;

impl IconShape for SnakeBite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.563 18.156c-109.415 0-197.188 78.138-197.188 210.938 0 66.4 22.564 133.81 58.688 184.062 36.123 50.25 85.217 82.97 138.5 82.97 53.282 0 102.376-32.72 138.5-82.97 36.123-50.25 58.687-117.662 58.687-184.062 0-132.802-87.773-210.938-197.188-210.938zM197.25 81.03c13.11.1 26.208.9 39.375 2.19C187.663 97.1 142.11 118.426 93.78 143.5c8.506-20.714 20.58-43.263 37.19-56.594 22.518-4.307 44.428-6.04 66.28-5.875zm112.625 0c21.852-.163 43.793 1.57 66.313 5.876 16.608 13.33 28.682 35.88 37.187 56.594-48.33-25.073-93.882-46.4-142.844-60.28 13.168-1.29 26.234-2.09 39.345-2.19zm-56.313 89.314c44.657 0 85.675 6.417 116.625 23.906 30.95 17.49 51.157 47.392 51.157 89 0 41.607-18.53 89.365-48.406 127.594-29.878 38.228-71.8 67.28-119.375 67.28s-89.497-29.052-119.375-67.28c-29.88-38.23-48.407-85.987-48.407-127.594s20.237-71.51 51.19-89c30.95-17.49 71.936-23.906 116.593-23.906zm0 18.687c-42.8 0-81.003 6.583-107.406 21.5-7.537 4.26-14.153 9.097-19.78 14.657-2.458 48.505 9.503 99.248 36.25 143.657-4.516-35.82-2.9-91.21 4.5-131.78 0 0 38.21-16.376 88.624-16.376 51.022 0 85.03 16.03 85.03 16.03 7.465 40.703 9.47 96.184 4.94 132.126 22.606-38.47 36.412-94.112 35.342-143.375-5.684-5.68-12.4-10.61-20.062-14.94-26.402-14.917-64.637-21.5-107.438-21.5zM196.5 344.907c-14.405 23.92-24.514 50.735-26.906 77.094 24.292 22.73 53.363 37.438 83.97 37.438 30.48 0 59.453-14.583 83.686-37.157-3.04-27.466-13.71-56.46-26-77.374 2.84 22.53 1.586 49.987-3.094 75.5 0 0-25.41 9.313-53.28 9.313-27.365 0-55.564-9.533-55.564-9.533-4.638-25.433-5.64-52.826-2.812-75.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnakeTotem;

impl IconShape for SnakeTotem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.375 21.094l-78.47 78.47v161.874l158.97 33.187-3.813 18.28-155.156-32.374v108.5l87.03 106.876h140.158V407.72H185.03l21.157 28h42.407v18.686h-51.688l-2.812-3.72-35.313-46.686-11.31-14.97h139.624V211.095l-138.75-31.844-7.25-1.656v-75.218h18.687v60.31l254.345 58.376 5-62.156c-10.023 12.4-25.68 20.813-46.97 20.813-80.483 0-80.436-120.47 0-120.47 25.84 0 43.383 12.435 52.626 29.313l5.408-67.47H138.375zm75.78 24.03h85.626l-25.374 42.813-60.25-42.812zM487.22 82.657l-59.658 28.656h-96.53c-.48 2.69-.72 5.433-.72 8.188 0 3.548.395 7.083 1.188 10.5h95.094l60.625 29.156 8.092-16.844-44.53-21.406L495.31 99.5l-8.093-16.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snatch;

impl IconShape for Snatch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M325.396 40.29L165.34 149.017c-27.315 13.986-98.18 15.75-146.59 13.43v136.08c24.72-10.865 51.825-20.162 78.604-27.508l-31.967-57.49-3.73-6.706 5.855-4.963c10.993-9.32 23.77-15.852 37.8-16.577 11.967-.618 24.37 3.315 36.01 11.936 9.196-6.337 18.938-10.62 29.397-11.08 10.324-.456 20.665 3.25 30.24 10.477 13.184-10.538 27.613-12.633 39.923-10.092 14.378 2.97 26.573 10.17 37.324 13.55l10.8 3.394-42.26 78.262c58.048 26.817 104.31 72.66 93.85 161.82L393.104 343.4l-107.41-82.445c51.457-18.844 150.272 27.377 146.3 116.654l24.187-104.147L309.59 209.17c51.507-29.956 141.992-23.573 180.12 74.22L476.67 165.103c-77.827 2.3-165.953-5.837-207.322-21.684-10.25 6.4-20.26 14.33-31.692 21.736l-10.162-15.685c13.355-8.65 26.9-20.316 43.26-28.353 31.346-18.998 60.645-30.103 109.496 4.922l-54.856-85.75zM229.902 203.9c-6.932-.154-13.347 2.425-21.838 11.48l-6.552 6.99-6.823-6.725c-8.733-8.607-15.897-11.156-23.15-10.836-7.25.318-15.536 4.065-24.65 11.442l-6.216 5.033-5.932-5.367c-10.492-9.492-19.67-12.425-28.465-11.97-6.787.35-13.73 2.997-20.605 7.61l48.135 86.567c18.32 11.452 55.63 15.793 81.414 2.654l46.827-86.717c-9.24-3.712-17.568-7.712-24.943-9.235-2.523-.52-4.89-.876-7.202-.928zM124.756 314.664c-21.495 14.875-38.772 40.762-45.38 78.69-6.344 36.4 3.688 61.31 21.522 78.207 17.835 16.898 44.47 25.525 71.456 25.174 26.985-.35 53.906-9.69 72.11-26.88 18.206-17.19 28.507-41.804 22.702-76.567-6.052-36.242-21.89-61.475-41.916-76.607-32.782 17.74-74.566 13.87-100.494-2.016z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snout;

impl IconShape for Snout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.1 42.4c-50.7 0-103.2 19.37-144 58-5.6 4.2-8.9 10-10.9 16.5-11.22 1.1-21.49 5.3-30.23 11.8-12.79 9.6-22.51 23.6-29.86 40.1-14.72 33-20.24 76.2-17.46 117.2 2.78 41 13.56 80 35.07 104.3 10.75 12.1 24.71 20.5 40.98 22 8.3.8 17-.3 26.1-3.1 8.8 18.1 24.4 32.1 43.1 41.8 24.1 12.6 53.7 18.6 83.5 18.6 29.8 0 59.8-6 84.7-18.5 19.6-9.8 36.3-23.9 46.5-42.2 9.4 3.1 18.4 4.2 27 3.4 16.3-1.5 30.2-9.9 41-22C474.1 366 484.8 327 487.4 286c2.7-41.1-3-84.2-18-117.2-7.5-16.5-17.4-30.6-30.4-40.1-8.4-6.2-18.2-10.3-28.8-11.6-2-6.4-5.2-12.1-10.5-16.3-39.2-38.98-91.8-58.4-142.6-58.4zM99.56 136c-.15 11.1 1.74 22.7 5.24 33.2 3.9 11.7 9.4 22.3 19.2 28.1 4.9 3 11.4 4.3 17.5 2.6 5.8-1.5 10.9-5.3 15.5-10.4 8.9-8.1 24.5-17.1 38.5-21.3 7.1-2.1 13.7-3 18.6-2.6 4.4.4 7 1.6 8.8 3.4 6.5 15.5 4 27.8-.3 38.9-2.1 5.7-4.8 11-7.1 16-2.2 5-5.1 9.9-2.8 17.4 2.7 9.1 10 15 18 19 5.3 2.7 11.1 4.6 17.1 5.5v59.3c-43.4 18.5-73.1 36.9-103.8 55l-.2.2-.2.1c-16.6 10.9-30.1 14.3-41.2 13.3-11.04-1-20.31-6.3-28.69-15.8-3.9-4.4-7.48-9.7-10.73-15.8a15.53 15.53 0 0 0 2.66.2 15.53 15.53 0 0 0 15.26-15.8 15.53 15.53 0 0 0-15.79-15.3 15.53 15.53 0 0 0-12.24 6.3c-2.71-8.6-4.93-17.9-6.58-27.6a15.53 15.53 0 0 0 8.35 2.3 15.53 15.53 0 0 0 15.27-15.7 15.53 15.53 0 0 0-15.79-15.3 15.53 15.53 0 0 0-10.74 4.6c0-.4-.1-.7-.1-1.1-.85-12.6-.81-25.5.1-38.2a15.53 15.53 0 0 0 12.26 5.7 15.53 15.53 0 0 0 15.26-15.8 15.53 15.53 0 0 0-15.79-15.2 15.53 15.53 0 0 0-9.29 3.3c2.73-17.7 7.2-34.3 13.36-48.1 6.45-14.4 14.67-25.8 23.97-32.7 5.11-3.8 10.47-6.4 16.41-7.7zm313.24.3c5.4 1.4 10.4 3.9 15.1 7.4 9.5 7 17.9 18.3 24.5 32.8 6.2 13.7 10.8 30.2 13.6 47.8a15.53 15.53 0 0 0-9.2-3.2 15.53 15.53 0 0 0-15.8 15.3 15.53 15.53 0 0 0 15.3 15.8 15.53 15.53 0 0 0 12.3-5.7c.9 12.7 1 25.6.2 38.3 0 .7-.1 1.3-.1 2a15.53 15.53 0 0 0-11.8-5.7 15.53 15.53 0 0 0-15.8 15.3 15.53 15.53 0 0 0 15.3 15.8 15.53 15.53 0 0 0 9.6-3.2c-1.7 10.6-4.1 20.6-7 29.9a15.53 15.53 0 0 0-13.2-7.7 15.53 15.53 0 0 0-15.7 15.2 15.53 15.53 0 0 0 15.2 15.8 15.53 15.53 0 0 0 4.2-.5c-3.3 6.2-6.9 11.7-10.9 16.2-8.4 9.5-17.7 14.8-28.7 15.8-11.1 1-24.6-2.4-41.2-13.3l-.2-.1-.2-.1c-29.8-17.7-58.7-35.7-101.9-53.7v-60.7c5.9-1.1 11.6-3.2 16.6-6 7.5-4.2 14.1-10 16.6-18.5 2.3-7.4-.5-12-2.6-16.9-2-4.9-4.6-10.2-6.7-16-4-11.3-6.5-24.1-.7-39.5 1.8-1.7 4.4-2.9 8.8-3.3 5.2-.4 12.1.5 19.4 2.6 14.5 4.2 30.5 13.2 39.3 21.2 4.4 5.1 9.2 8.9 14.8 10.5 6 1.7 12.5.3 17.3-2.6 9.6-6 14.8-16.5 18.6-28.2 3.3-10.4 5.1-21.8 5-32.8zm-2.9 114.8a15.53 15.53 0 0 0-15.8 15.3 15.53 15.53 0 0 0 15.3 15.8 15.53 15.53 0 0 0 15.8-15.3 15.53 15.53 0 0 0-15.3-15.8zm-307.8.1A15.53 15.53 0 0 0 86.85 267a15.53 15.53 0 0 0 15.85 15.2 15.53 15.53 0 0 0 15.2-15.8 15.53 15.53 0 0 0-15.8-15.2zm8 50A15.53 15.53 0 0 0 94.87 317a15.53 15.53 0 0 0 15.83 15.3 15.53 15.53 0 0 0 15.2-15.8 15.53 15.53 0 0 0-15.8-15.3zm290.7 0a15.53 15.53 0 0 0-15.7 15.3 15.53 15.53 0 0 0 15.2 15.8 15.53 15.53 0 0 0 15.8-15.3 15.53 15.53 0 0 0-15.3-15.8zm-145.5 41.1c44 17.9 72.6 35.7 103.6 53.9l-.4-.2c3 2 5.9 3.7 8.8 5.3-8 13.8-21 24.8-37.5 33.1-21.7 10.8-49.2 16.5-76.4 16.5-27.2 0-54.2-5.7-74.9-16.5-15.7-8.1-27.7-18.9-34.5-32.5 3.2-1.8 6.5-3.7 9.8-5.9l-.4.3c31.1-18.3 59.8-36.1 101.9-54z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SnowBottle;

impl IconShape for SnowBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M95.22 24.53l-6.75 6.72L29 90.656l-6.688 6.656 6.72 6.626 6.437 6.343 72.5-72.468-6.157-6.406-6.594-6.875zm42.436 9.97L34.25 137.906l32.97 32.97L170.624 67.468l-32.97-32.97zM290.22 92.78c-35.402.14-70.807 9.566-102.25 28.25l-21.782-22.655-13.25 13.22 26.656 27.718 5.344 5.562 6.5-4.188c42-27.23 92.62-35.53 139.843-24.843-15.238-1.195-27.145 2.377-32.124 11-7.853 13.602 3.82 35.784 26.97 55.094l-11.72 8.03 1.156 15.376c-11.517-2.305-23.483-3.53-35.78-3.53-89.763 0-162.532 64.89-162.532 144.967 0 1.747.056 3.49.125 5.22-17.403-51.932-10.743-110.048 19.938-157.28l4.156-6.376-5.44-5.375-27.436-27-13.22 13.218 22.345 22c-46.117 77.368-35.94 178.653 30.593 245.156 78.65 78.65 206.18 78.63 284.843 0 78.663-78.63 78.677-206.074.03-284.688-39.483-39.458-91.228-59.08-142.967-58.875zm140.686 84c12.662 15.067 22.5 31.67 29.53 49.126L450.22 221l-23.158 15.844 1.375 17.937-28.156-13.56-18.905 39.343c-4.978-3.74-10.673-6.528-16.813-8.125l18.875-39.313-9.718-4.688c-5.175-3.274-10.59-6.275-16.19-9l7.44-5.093-.69-8.875c31.712 13.947 61.17 14.25 69.814-.72 4.268-7.393 2.78-17.345-3.188-27.97zm-103.53 49.376L309.03 238.72l24.626 36.06c-5.83 2.508-11.052 6.115-15.406 10.564l-24.625-36.063-24.688 16.876-1.468-19.5-4.095-1.97c10.212-5.97 21.433-10.703 33.5-13.936 10.205-2.734 20.435-4.235 30.5-4.594zm144 39.344c4.113 26.094 2.53 52.886-4.75 78.438l-8.376-4.032-12.594 8.625-2.062-27.06-43.28 3.28c.37-3.067.46-6.215.217-9.406-.24-3.182-.796-6.283-1.624-9.25l43.25-3.28-2.5-32.908 14.844 7.156 16.875-11.562zm-247.22 14.313l22.28 10.718 12.408-8.467 2.594 34.5 43.375-3.313c-.37 3.056-.46 6.195-.22 9.375.243 3.185.797 6.28 1.626 9.25l-43.345 3.313 2.406 31.906-13.655-6.594-23.156 15.844 2.124 28.03 25.28 12.188 23.157-15.843-1.28-17.033 27.094 13.063 18.906-39.344c4.978 3.743 10.672 6.524 16.813 8.125l-18.875 39.314 27.875 13.437-12.188 8.345 2.125 28.03 14.375 6.908c-66.514 15.45-132.758-20.952-149.375-82.97-9.352-34.902-1.05-70.656 19.656-98.78zm127.72 9.75c.505-.017 1-.012 1.5 0 14.983.36 27.37 11.895 28.53 27.187 1.24 16.312-10.812 30.324-27.125 31.563-16.31 1.238-30.323-10.784-31.56-27.094-1.24-16.31 10.814-30.325 27.124-31.564.51-.038 1.025-.077 1.53-.094zm34.968 63.093l24.594 35.97 24.843-17.032.94 12.187 9.905 4.783c-7.48 12.296-16.537 23.916-27.188 34.562-9.86 9.856-20.55 18.36-31.843 25.5-.103.056-.21.1-.313.156l-1.967-25.842L371.438 416l24.593-16.813-24.592-35.968c5.833-2.507 11.048-6.113 15.406-10.564z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snowflake1;

impl IconShape for Snowflake1 {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.28 19.063L211.19 47.25l36.625 67.78-61.25 16.44L184 54.53 80.437 82.313 52.47 186.72l77 2.186L113 250.344l-67.875-36.22L17.22 318.19l75.843 75.843 40.593-65.56 45.25 45.25-65.562 40.624 76.53 76.53 103.782-27.812-36.5-68.03 61.53-16.47 2.377 77.157 104.687-28.064 27.97-104.437-77.158-2.376L393 259.47l68.03 36.5 27.908-104.22-77-77.03-40.47 65.718-44.624-44.657 65.406-40.75-75.97-75.968zM253.19 125l11.53 21.344-22.874 69.72-54.094-49.095-.813-24.19 66.25-17.78zm64.062 16.75l48.28 48.313-13 21.125-71.81 15.062 15.467-71.375 21.063-13.125zm-176.438 47.47l23.75.686 48.938 54.656-69.563 22.282L123 255.656l17.813-66.437zm221.094 53.56l21.125 11.345-17.78 66.375-23.97-.75-48.5-53.938 69.126-23.03zm-139.25 41.5l-14.625 71.376-19.53 12.094-48.875-48.906 12.094-19.5 70.936-15.063zm40.438 11.064l54.5 48.344.72 23.53-66.533 17.844-11.124-20.75 22.438-68.968z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snowflake2;

impl IconShape for Snowflake2 {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M308.375 15.094L242.937 36.53l-14.156 67.376 38.814 34.78c-12.68-1.094-25.17-.08-37.063 2.783l12.157 37.093c-6.177 1.23-12.12 3.2-17.75 5.843l-12.156-37.094c-11.5 4.83-22.173 11.465-31.56 19.657L191.937 116l-51.25-45.938L75.25 91.47l-14.156 67.374 51.25 45.937 49.594-16.218c-6.804 9.87-12.145 20.955-15.688 32.97l38.25 8.062c-.99 2.92-1.85 5.905-2.5 9-.652 3.102-1.105 6.2-1.375 9.28l-38.25-8.06c-1.646 12.762-1.132 25.392 1.28 37.467L104.5 242.157l-65.438 21.438-14.156 67.344 51.25 45.968 65.438-21.406 10.844-51.656c5.296 11.288 12.385 21.69 20.968 30.75L199.47 305.5c4.08 4.677 8.726 8.89 13.874 12.5l-26.03 29.063c9.615 7.326 20.49 13.246 32.374 17.343l-49.657 16.25-14.155 67.375 51.25 45.97 65.438-21.438 14.156-67.343-38.845-34.845c12.66 1.094 25.125.073 37-2.78L272.75 330.56c6.182-1.218 12.147-3.18 17.78-5.812l12.126 37.03c11.548-4.842 22.237-11.517 31.656-19.75l-10.75 51.064 51.282 45.937 65.406-21.405 14.156-67.375-51.25-45.938-49.72 16.282c6.843-9.905 12.23-21.002 15.783-33.063l-38.126-8.03c.99-2.92 1.85-5.938 2.5-9.03.65-3.1 1.074-6.175 1.344-9.25l38.125 8.03c1.64-12.78 1.107-25.415-1.313-37.5l39.28 35.188L476.44 245.5l14.187-67.344-51.28-45.97-65.408 21.408-10.875 51.687c-5.302-11.317-12.418-21.733-21.03-30.81l-26 29.03c-4.098-4.682-8.77-8.892-13.938-12.5l26.03-29.03c-9.6-7.307-20.46-13.188-32.312-17.282l49.657-16.25 14.155-67.375-51.25-45.97zm-64 189.375l49.906 13.374 13.376 49.906-36.53 36.53-49.907-13.374L207.843 241l36.53-36.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snowing;

impl IconShape for Snowing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.406 21.47c-54.52 0-98.764 43.37-99.375 97.75l-.124 10.5-10.375-1.314c-2.84-.36-5.616-.53-8.624-.53-38.627 0-70.062 30.928-70.062 69.53 0 38.602 31.522 70.156 70.062 70.156 18.738 0 35.314-7.333 47.906-19.406l6.907-6.625 6.468 7.064c9.322 10.188 22.718 16.53 37.687 16.53 18.546 0 34.354-9.584 43.344-24.28l8.03-13.125 7.938 13.186c14.78 24.543 40.75 40.72 71.406 40.72 26.433 0 49.963-12.282 65.406-31.376l8.25-10.22 6.938 11.157c9.035 14.48 25.154 24.313 43.406 24.313 28.253 0 51.125-22.884 51.125-51.188 0-26-19.45-47.35-44.44-50.656l-10.686-1.406 2.937-10.406c1.892-6.66 3.314-12.756 3.314-18.844 0-38.602-31.523-70.156-70.063-70.156-22.396 0-42.064 10.95-54.905 27.562l-11.813 15.25-4.656-18.72c-10.74-43.247-49.448-75.467-96-75.467zM381.28 297.343l-18.03 4.844 7.03 26.218-26.217-7.03-4.844 18.062 26.217 7.03-19.187 19.188 13.188 13.188 19.187-19.188 7.03 26.22 18.064-4.845-7.033-26.217 26.22 7.03 4.843-18.03-26.22-7.032 19.19-19.186-13.22-13.22-19.188 19.188-7.03-26.218zm-272.06 17.062l-7.032 26.22L83 321.437l-13.22 13.218 19.19 19.188-26.22 7 4.844 18.062 26.22-7.03-7.033 26.218 18.064 4.844 7.03-26.22 19.19 19.188 13.217-13.22-19.186-19.186 26.187-7.03-4.81-18.033-26.22 7 7.03-26.187-18.06-4.844zm135.936 47.625l-3.844 35.69-28.968-21.158-11.03 15.094 28.967 21.156-32.81 14.532 7.56 17.062 32.845-14.53-3.844 35.718 18.564 2 3.844-35.688 29 21.156 11-15.093-29-21.158 32.843-14.53-7.56-17.094-32.814 14.53 3.844-35.687-18.594-2zm202.063 48.314l-8.19 21.125-14.186-17.626-14.563 11.72 14.22 17.623-22.375 3.5 2.875 18.47 22.375-3.5-8.156 21.124 17.405 6.72 8.156-21.094L459 486.03l14.563-11.717-14.22-17.625 22.376-3.5-2.876-18.47-22.375 3.5 8.186-21.124-17.437-6.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Snowman;

impl IconShape for Snowman {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.98 13.443L99.3 79.56l65.01 65.56 66.678-66.114-65.01-65.563zM266.6 70.013l-109.485 108.56 11.514 11.61L278.116 81.626l-11.513-11.61zm4.21 45.17l-83.68 82.975c.983 44.08 36.834 79.322 81.157 79.322 26.4 0 49.786-12.513 64.595-31.943-11.34 1.815-22.184 2.067-31.713.05l3.873-18.284c9.668 2.047 26.2.5 42.63-4.29 9.783-2.85 19.46-6.867 28.116-11.408-9.952-2.903-20.513-5.278-30.722-6.597-16.738-2.163-32.428-1.36-41.052 2.12l-6.993-17.33c7.08-2.858 15.064-4.287 23.59-4.702 8.527-.416 17.597.18 26.85 1.377.477.06.956.132 1.433.197-4.646-39.556-37.554-70.256-78.084-71.486zm37.422 30.014c7.53 0 13.63 6.1 13.63 13.63 0 7.528-6.1 13.63-13.63 13.63-7.528 0-13.63-6.102-13.63-13.63 0-7.53 6.102-13.63 13.63-13.63zm-55.75 35.102c7.53 0 13.63 6.1 13.63 13.63 0 7.528-6.1 13.63-13.63 13.63-7.528 0-13.63-6.102-13.63-13.63 0-7.53 6.102-13.63 13.63-13.63zm-162.152 3.284l-18.402 3.264L84.307 256.6l-10.743 3.99-30.808-36.97-14.358 11.964 39.276 47.13 41.51-15.42 40.95 40.267c-11.72 18.687-18.505 40.798-18.505 64.532 0 67.2 54.275 121.476 121.474 121.476 67.2 0 121.476-54.277 121.476-121.476 0-23.558-6.68-45.52-18.24-64.12l37.805-37.173 29.408 10.923 55.234 46.445 12.027-14.303-45.98-38.664 30.096-36.112-14.358-11.965-30.806 36.97-40.252-14.95-44.35 43.61c-5.188-6.018-10.956-11.52-17.22-16.42-16.66 12.453-37.316 19.837-59.655 19.837-28.506 0-54.268-12.024-72.485-31.26-13.11 7.01-24.775 16.355-34.446 27.48l-47.544-46.75-11.703 4.346-11.78-66.402zM306.17 346.31c7.53 0 13.63 6.1 13.63 13.63 0 7.528-6.1 13.63-13.63 13.63-7.53 0-13.63-6.102-13.63-13.63 0-7.53 6.1-13.63 13.63-13.63zm-1.65 54.512c7.528 0 13.628 6.1 13.628 13.63 0 7.528-6.1 13.628-13.628 13.628-7.53 0-13.63-6.1-13.63-13.63 0-7.528 6.1-13.628 13.63-13.628zM288 444.596c7.53 0 13.63 6.1 13.63 13.63 0 7.527-6.1 13.63-13.63 13.63-7.53 0-13.63-6.103-13.63-13.63 0-7.53 6.1-13.63 13.63-13.63z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SoapExperiment;

impl IconShape for SoapExperiment {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M271.156 21.69c3.104 15.678 10.353 29.902 20.57 41.44-18.96 10.052-31.94 29.997-31.94 52.864 0 32.917 26.883 59.803 59.8 59.803 32.918 0 59.803-26.887 59.803-59.803 0-8.818-1.945-17.195-5.404-24.746 35.056-6.764 62.7-34.533 69.625-69.56h-96.665c3.54 19.194 19.997 33.765 40.225 33.765 9.56 0 18.28-3.258 25.195-8.717-12.604 16.636-32.477 27.407-54.98 27.407-32.44 0-59.404-22.38-67.016-52.454h-19.214zm-89.506 5.488c-25.3 0-46.007 20.71-46.007 46.008 0 25.298 20.71 46.007 46.007 46.007 25.3 0 46.01-20.71 46.01-46.007 0-25.3-20.71-46.008-46.01-46.008zm0 18.685c15.2 0 27.325 12.123 27.325 27.323 0 15.2-12.123 27.324-27.325 27.324-15.2 0-27.322-12.125-27.322-27.324 0-15.2 12.12-27.323 27.322-27.323zm125.352 30.963c4.792 3.383 9.942 6.286 15.37 8.666-5.433 4.442-8.903 11.193-8.903 18.756 0 13.377 10.84 24.22 24.217 24.22 10.55 0 19.52-6.75 22.84-16.165.107 1.216.172 2.445.172 3.69 0 22.817-18.296 41.114-41.114 41.114-22.816 0-41.113-18.297-41.113-41.113 0-18.42 11.927-33.89 28.53-39.168zm-86.85 65.533c-21.193 0-38.574 17.38-38.574 38.574 0 21.193 17.38 38.574 38.574 38.574s38.575-17.382 38.575-38.574c0-21.194-17.382-38.575-38.575-38.575zm0 18.693c11.09 0 19.88 8.79 19.88 19.88s-8.79 19.88-19.88 19.88-19.88-8.79-19.88-19.88 8.79-19.88 19.88-19.88zm4.57 75.523c-9.782 0-17.708 7.926-17.708 17.705 0 9.34 7.234 16.97 16.4 17.642v55.87c-28.58 36.404-82.428 105.22-82.428 105.22l-.402.513-.326.565c-3.052 5.275-6.05 12.682-6.05 21.627 0 21.806 18.014 39.72 39.72 39.72h164.03c21.61 0 39.722-17.74 39.722-39.72 0-10.147-4.44-17.756-6.705-21.65l-.336-.575-82.17-103.81v-57.895c8.58-1.23 15.18-8.587 15.18-17.506 0-9.778-7.928-17.704-17.707-17.704-9.78 0-17.71 7.926-17.71 17.705 0 2.573.562 5.01 1.548 7.214v74.69l38.976 49.238H201.988c13.525-17.267 27.954-35.69 38.12-48.635l1.996-2.54V257.62c.206-1.082.326-2.196.326-3.34 0-9.778-7.93-17.704-17.71-17.704z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SonicBoom;

impl IconShape for SonicBoom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.594 19.32c-19.037.077-37.535 2.4-55.256 6.703l29.64 62.618c12.023-2.404 24.458-3.673 37.19-3.673 3.104 0 6.19.08 9.258.228L255.594 19.32zm47.213 4.502l13.277 67.563c80.478 21.548 139.744 94.97 139.744 182.242 0 104.193-84.466 188.66-188.66 188.66-86.638 0-159.628-58.404-181.768-137.986l-60.023-15.71C49.16 414.368 143.55 493.268 256.567 493.268c130.99 0 236.98-105.99 236.98-236.98 0-115.16-81.928-210.986-190.74-232.466zM154.137 42.49c-19.214 9.21-36.99 20.936-52.9 34.748l44.482 52.03c13.483-11.357 28.58-20.858 44.897-28.112l-36.48-58.666zM68.89 111.51c-12.055 15.61-22.203 32.762-30.1 51.12l54.462 37.765c6.46-15.322 14.888-29.61 24.963-42.55L68.89 111.51zm209.737 52.97c-4.208 0-8.368.204-12.475.59l32.12 67.866c9.445.593 18.468 2.732 26.822 6.17l-22.934-72.53c-7.636-1.377-15.5-2.097-23.533-2.097zM234.67 172c-13.004 4.603-25.067 11.19-35.83 19.398l47.36 55.393c8.293-5.49 17.6-9.572 27.593-11.873l-39.123-62.918zm98.055 4.066l15.125 76.973c14.87 12.698 25.3 30.44 28.62 50.585 12.203 6.997 22.144 17.516 28.41 30.164 3.545-11.917 5.452-24.54 5.452-37.606 0-53.457-31.85-99.475-77.607-120.116zm-308.22 31.924c-3.22 15.592-4.92 31.743-4.92 48.297 0 1.402.03 2.8.054 4.196L78.76 283.46c-.167-3.257-.254-6.535-.254-9.833 0-11.836 1.1-23.413 3.185-34.645l-57.187-30.99zm152.192 4.785c-7.894 9.636-14.452 20.41-19.383 32.04l57.448 39.837c3.517-8.36 8.352-16.023 14.22-22.763l-52.285-49.113zm-28.11 62.453c-1.09 6.825-1.665 13.822-1.665 20.954 0 4.746.256 9.433.746 14.05l62.19 24.164c-1.11-5.467-1.692-11.125-1.692-16.92 0-3.268.19-6.49.55-9.664L148.59 275.23zm192.854 37.745c-28.866 0-52.07 23.2-52.07 52.07 0 28.868 23.204 52.07 52.07 52.07 28.87 0 52.072-23.202 52.072-52.07 0-28.87-23.203-52.07-52.07-52.07zM155.35 342.61c18.774 49.828 66.883 85.28 123.28 85.28 8.855 0 17.505-.88 25.87-2.548-9.712-5.98-17.88-14.236-23.756-24.018-26.384-3.79-48.834-19.743-61.506-41.992l-63.888-16.723z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SonicLightning;

impl IconShape for SonicLightning {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.664 18.91v37.574l77.523 129.942 86.754-21.067 79.33 121.394-78.918-46.483 93.195 101.34-64.182 10.81 53.05 18.783c-36.484 34.27-64.93 77.082-79.313 124.158h19.617c19.42-58.22 62.696-110.147 115.73-144.34 53.682-34.606 116.954-50.88 174.96-38.713v-19.055c-12.93-2.457-26.01-3.663-39.13-3.686-28.257-.05-56.664 5.316-83.977 15.053l-3.295-60.925-27.457 53.535-30.445-83.947-7.63 67.797-103.43-162.6-80.04 18.522L64.642 18.91H17.665zM329.63 86.627l15.995 166.596 57.285-138.067-38.79 27.656-34.49-56.185zm-38.198 47.238l-28.48 28.934 29.095 64.132-.615-93.067zm131.77 61.852l-40.65 86.244 52.173-42.435-11.524-43.808zM86.44 267.164l35.464 31.027 109.742 27.52-65.423-53.82-79.784-4.726zm379.953 83.254c-40.082-.07-80.49 12.044-115.74 32.207-45.917 26.264-83.418 66.318-99.645 112.736h19.96c15.535-38.607 48.525-73.382 88.964-96.512 41.507-23.742 90.514-35.082 135.476-27.21v-18.95c-9.6-1.51-19.298-2.253-29.015-2.27zM189.2 355.91l-74.67.637-51.22 22.242 50.598 18.204 75.29-41.084zm39.073 25.672L162.21 397.67l6.864 29.447 59.2-45.535zm250.19 32.398c-27.52-.05-55.206 6.695-79.498 17.963-31.34 14.54-57.393 36.595-69.25 63.418h21.056c10.88-18.072 31.22-34.94 56.06-46.464 27.045-12.545 59.08-18.76 88.58-15.175v-18.824c-5.62-.606-11.28-.905-16.947-.916zm11.744 52.41c-15.04-.024-30.138 2.215-43.537 5.995-17.346 4.892-32.058 11.575-40.176 22.976h31.602c4.06-1.848 8.664-3.583 13.648-4.99 13.228-3.73 28.92-5.752 43.666-5.157V466.5c-1.732-.064-3.466-.11-5.203-.11z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SonicScreech;

impl IconShape for SonicScreech {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M155.7 20.88C79.302 21.093 36.837 85.437 21.98 167.435c20.554-27.42 86.13-18.87 95.723 14.615 17.89-33.31 64.53-33.637 90.066-20.646-15.146-11.61-22.89-32.173-25.436-53.133-.136-1.114-.248-2.236-.355-3.358-23.93-19.16-33.733-47.772-10.546-83.205-5.397-.57-10.642-.84-15.735-.826zm203.29 0c-5.093-.013-10.338.257-15.734.827 24.394 37.278 12.274 67.006-14.397 86.12-.013.1-.02.202-.032.302-2.648 21.376-10.735 42.16-25.974 54.41.058.354.09.71.138 1.064 24.368-15.136 75.143-16.652 93.992 18.445 9.593-33.486 75.17-42.036 95.723-14.616C477.85 85.436 435.387 21.092 358.99 20.88zM207.43 56.185c-5.98 13.263-8.675 32.293-6.543 49.832 2.618 21.544 12.048 39.256 24.44 44.238l7.546 3.033-1.96 7.89c-3.436 13.822 8.673 30.257 26.12 30.257 7.793 0 16.676-4.234 22.06-10.196 5.382-5.962 7.3-12.235 4.475-18.935l-3.183-7.547 7.066-4.145c11.193-6.563 20.326-24.554 22.83-44.778 2.063-16.65-.46-34.08-6.596-46.297-17.747 13.423-29.114 37.777-39.727 54.86l-8.773 14.12-7.502-14.835c-8.5-16.806-22.957-42.86-40.252-57.496zm-31.055 144.69c6.937 35.135 40.054 61.622 80.008 61.622 39.954 0 73.074-26.487 80.01-61.623-18.596 22.28-47.26 36.758-80.01 36.758-32.75 0-61.413-14.476-80.008-36.757zm-44.895 53.064c18.07 45.058 67.224 77.673 124.903 77.673 57.678 0 106.836-32.614 124.904-77.673-30.255 30.397-75.234 49.64-124.904 49.64s-94.65-19.243-124.903-49.64zm-67.2 54.898c34.597 60.233 107.273 102.2 192.103 102.2 84.52 0 157.35-41.666 192.105-101.542-48.562 42.393-116.63 69.235-192.105 69.235-75.874 0-143.493-27.107-192.104-69.894zm-44.532 70.646c48.075 66.48 135.784 111.432 236.635 111.432 100.85 0 188.56-44.953 236.635-111.432-61.703 48.234-144.83 77.805-236.635 77.805-91.806 0-174.933-29.57-236.635-77.805z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SonicShout;

impl IconShape for SonicShout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.62 18.707l2.302 456.713c20.172 6.097 50.346 5.194 68.094-5.3 9.74-5.762 15.83-13.314 17.318-24.757 1.49-11.442-2.114-27.866-15.775-49.85-65.15-104.838-43.09-217.272 24.12-283.156 67.208-65.883 179.805-84.665 289.812-7.214 18.312 12.892 28.41 13.426 35.156 10.308 6.748-3.117 13.086-12.55 18.036-26.186 4.95-13.637 8.515-30.532 12.306-45.967 2.094-8.527 4.108-16.49 6.856-23.647L18.62 18.707zm239.07 54.02c-8.728-.036-17.285.53-25.64 1.652l156.454 92.8 21.037-37.436c-5.072-2.376-10.346-5.476-15.806-9.32-47.14-33.19-93.62-47.523-136.043-47.697zM127.913 125.56l-.15.143c-26.928 26.397-46.107 60.924-53.93 99.686 75.5-10.072 121.71 72.345 177.38 61.495 6.68-57.468-59.496-126.038-123.3-161.326zm227.297 47.21c-6.87 36.037-29.7 77.615-66.003 113.92-36.093 36.095-77.76 59.255-113.646 66.27 40.94 8.506 92.248-8.67 131.747-48.17 39.643-39.646 56.63-91 47.902-132.02zm66.103 4.302v.004-.004zm0 .004c-9.198 48.248-39.766 103.918-88.374 152.528-48.327 48.328-104.113 79.337-152.167 88.732 54.816 11.39 123.514-11.608 176.4-64.498 53.08-53.082 75.822-121.842 64.14-176.762zm67.328 10.985c-11.378 59.698-49.203 128.58-109.345 188.725-59.794 59.798-128.82 98.17-188.28 109.79 67.825 14.094 152.828-14.364 218.264-79.804 65.677-65.678 93.815-150.757 79.36-218.71zM71.07 243.337c-4.794 44.69 5.3 93.938 35.362 142.314 7.806 12.562 13.057 24.113 16.01 34.75l36.103-21.412L71.07 243.336z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpaceSuit;

impl IconShape for SpaceSuit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.375 21.25c-38.192 0-68.97 30.744-68.97 68.938 0 38.193 30.778 68.968 68.97 68.968s68.938-30.775 68.938-68.97c0-38.192-30.746-68.936-68.938-68.936zm-2.625 33.78c.115-.003.23.005.344 0-26.85 53.803 52.427 66.62 40.656 9.032 4.272 1.793 8.76 3.838 13.53 6.157 3.816 15.258 3.55 30.828-2.342 46.093-46.683 11.007-54.054 11.028-98.375-1.594-5.345-14.747-6.03-29.762-2.344-44.5 19.356-9.562 34.072-14.612 48.53-15.19zM345.188 121c-1.26-.03-4.597.75-9.657 4.625-.006.006-.022-.006-.03 0-2.61 2.002-5.202 3.89-7.78 5.688-14.765 27.642-43.906 46.53-77.345 46.53-33.4 0-62.523-18.846-77.313-46.437-3.012-1.64-6.038-3.325-9.093-5.062-4.647-2.642-7.37-2.825-8.657-2.594-1.29.23-2.174.692-3.657 3-2.966 4.616-5.316 16.393-4.656 30.03.66 13.64 3.802 29.176 8.75 42.314 4.948 13.138 11.957 23.675 18.156 27.97 50.81 35.192 99.385 27.478 151.5-.533 6.386-3.43 13.912-13.767 19.125-27.468 5.215-13.7 8.4-30.338 8.94-44.843.538-14.506-2.292-26.98-5.22-31.095-1.464-2.058-1.8-2.096-3.063-2.125zM128.25 144.875c-20.632 9.24-36.958 25.827-49.656 48.594 4.41.183 8.78.842 13 1.968 12.22 3.26 22.512 10.243 30.062 19.375 4.587-5.04 9.565-9.652 14.938-13.844-4.718-13.954-7.597-29.14-8.28-43.282-.214-4.392-.26-8.68-.064-12.813zm242.72 24.25c-1.58 12.405-4.592 25.058-8.97 36.563-2.413 6.342-5.193 12.393-8.5 17.843 3.59 4.06 6.944 8.37 10.03 12.97 2.334-3.646 5.037-7.03 8.064-10.063v-.03c8.18-8.18 18.247-13.41 28.844-15.75-8.07-16.84-17.822-30.79-29.47-41.532zM76.31 212.155c-10.683.044-21.528 4.17-28.312 12.282-7.128 8.523-11.038 22.262-5.188 43.375.136-.093.27-.19.407-.28 8.11-5.473 18.242-8.57 29.186-8.063 3.648.168 7.398.733 11.188 1.75 10.622 2.845 19.157 8.536 25.28 15.717 7.454-9.93 9.21-20.875 7.314-31.156-2.767-14.987-13.905-28.145-29.407-32.28-3.373-.9-6.906-1.358-10.468-1.344zm336.5 15.782c-.71.013-1.413.045-2.125.094-9.48.653-18.78 4.502-25.875 11.595-9.865 9.887-14.718 25.822-9.875 39.063 3.82 10.44 13.742 20.698 34.97 26.187-.015-.177-.05-.354-.063-.53-.91-13.01 3.634-26.97 14.72-38.064l-.002-.03c7.774-7.767 16.973-12.288 26.25-14-4.87-11.43-13.457-18.44-23.312-21.938-4.712-1.67-9.704-2.465-14.688-2.375zm-101.437 25.97c-39.896 16.718-81.177 21.096-121.78 3.312l-10.064 39.31c8.908 2.755 16.417 7.827 22 14.25 7.355 8.462 11.61 18.985 12.876 29.814 25.23-39.572 70.19-24.214 81.906 29.187-30.148 24.312-31.025 78.51 2.47 99.97 13.98-17.626 34.203-29.69 55.312-32.75 3.026-.44 6.09-.66 9.156-.688 1.022-.008 2.042-.006 3.063.032 7.237.266 14.457 1.735 21.312 4.562 5.298-16.073 4.073-34.643-3.188-50.156-7.642 4.648-17.087 7.406-27.843 7.406-16.64 0-30.15-6.565-38.688-16.594C309.37 371.534 305.66 358.6 306 345.938c.34-12.662 4.69-25.31 13.25-35.156 1.444-1.66 3.026-3.222 4.72-4.686l-12.595-52.188zm146.938 16.218c-7.058.166-13.97 2.75-20.563 9.344-7.534 7.533-9.85 15.483-9.28 23.592.566 8.11 4.486 16.41 10.436 22.688 5.95 6.28 13.738 10.374 21.53 11 7.795.626 15.888-1.73 24.377-10.22 8.488-8.488 10.845-16.58 10.218-24.374-.625-7.793-4.72-15.58-11-21.53-6.278-5.95-14.577-9.87-22.686-10.438-1.014-.07-2.023-.087-3.03-.063zM70.156 278c-6.352-.102-11.73 1.835-16.47 5.03-6.738 4.547-11.973 12.083-14.436 20.376-2.463 8.293-2.136 17.063 1.22 24.125 3.353 7.064 9.465 12.925 21.06 16.033 11.597 3.107 19.784 1.064 26.22-3.375 6.436-4.44 11.112-11.868 13.125-20.282 2.013-8.413 1.25-17.568-2.313-24.875-3.563-7.305-9.52-12.99-19.812-15.75-2.573-.688-5.007-1.084-7.313-1.217-.432-.025-.857-.056-1.28-.063zm94.03 34.938c-10.654 0-17.916 3.958-23.25 10.093-5.33 6.137-8.422 14.76-8.655 23.408-.232 8.647 2.37 17.046 7.44 23 5.067 5.953 12.462 10.03 24.468 10.03 12.005 0 19.4-4.077 24.468-10.03 5.068-5.954 7.67-14.353 7.438-23-.233-8.648-3.355-17.27-8.688-23.407-5.333-6.134-12.563-10.092-23.22-10.092zm192.408 0c-10.656 0-17.917 3.958-23.25 10.093-5.333 6.137-8.424 14.76-8.656 23.408-.233 8.647 2.37 17.046 7.437 23 5.068 5.953 12.463 10.03 24.47 10.03 12.004 0 19.4-4.077 24.467-10.03 5.07-5.954 7.67-14.353 7.438-23-.233-8.648-3.355-17.27-8.688-23.407-5.332-6.134-12.563-10.092-23.218-10.092zM121.22 375.656c-15.115 16.632-20.037 41.93-13.75 63.313 5.18-1.573 10.525-2.43 15.874-2.626 1.02-.038 2.04-.04 3.062-.03 3.065.025 6.13.247 9.156.686 22.062 3.2 43.178 16.216 57.188 35.156 34.58-17.894 37.7-67.857 13.75-95.5-1.098 1.69-2.296 3.345-3.625 4.906-8.537 10.03-22.048 16.594-38.688 16.594-16.64 0-30.15-6.565-38.687-16.594-1.59-1.87-3.02-3.855-4.28-5.906zm2.81 79.313c-8.685.26-16.853 2.96-24.124 8.592-7.895 6.116-14.975 16.094-19.72 31.344h104.25c-10.196-20.804-31.273-36.464-51.56-39.406-2.995-.434-5.95-.618-8.845-.53zm239.407 0c-2.192.034-4.41.204-6.656.53-20.287 2.942-41.364 18.602-51.56 39.406h104.25c-4.745-15.25-11.824-25.228-19.72-31.344-7.27-5.63-15.44-8.333-24.125-8.593-.724-.023-1.457-.013-2.188 0z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spade;

impl IconShape for Spade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M173.844 15.563v.03l52.22 192.157c7.035-3.16 14.752-6.03 22.686-8.406 8.894-2.663 18.006-4.683 26.72-5.72L227 15.565l-53.156-.002zm240.03 183.968c-13.045 15.41-48.86 31.746-91.874 45.845 1.64 16.418 2.707 35.075 2.72 53.344.01 18.658-1.105 36.594-4.25 51.155-1.574 7.28-3.61 13.75-6.75 19.28-3.143 5.53-7.815 10.59-14.564 12.376-6.75 1.786-13.316-.275-18.812-3.5-5.497-3.223-10.55-7.79-15.594-13.31-10.087-11.045-20.125-26.058-29.563-42.22-9.477-16.23-18.235-33.37-25.218-48.688-45.532 8.43-85.193 11.69-102.126 6.313 27.59 101.65 71.632 175.738 120.312 216.094H388.75c47.247-52.587 62.203-160.075 25.125-296.69zm-127.843 12.064c-.745.007-1.525.022-2.31.062-8.694.44-19.32 2.508-29.626 5.594-10.308 3.086-20.344 7.183-28.063 11.313-5.254 2.81-8.667 5.522-10.905 7.53 5.213 15.886 19.636 48.602 36.22 77 9.044 15.492 18.7 29.674 27.218 39 4.258 4.664 8.254 8.075 11.218 9.813 2.965 1.74 4.307 1.64 4.595 1.563.288-.077 1.42-.62 3.094-3.564 1.67-2.944 3.424-7.837 4.75-13.97 2.648-12.262 3.823-29.34 3.81-47.217-.02-33.398-4.27-69.712-7.842-85.564-2.73-.895-6.933-1.61-12.157-1.562z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpadeSkull;

impl IconShape for SpadeSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.8 23.098C237.47 95.248 57.848 168.408 53.84 293.922c-3.12 97.687 93.884 133.368 161.764 89.715l-44.24 116.597h24.607l13.966-41.03 17.69 6.023-11.915 35.007h27.823v-24.427h18.688v24.427h30.294l-11.918-35.007 17.69-6.022 13.968 41.03h24.642L291.126 379.6c66.805 51.217 164.922 13.64 168.04-85.68C462.94 173.638 274.493 89.128 256.8 23.098zM110.458 248.4c5.016 18.63 19.745 35.044 37.84 46.553-5.785 3.135-9.713 9.26-9.713 16.3 0 10.234 8.296 18.53 18.53 18.53 10.233 0 18.53-8.296 18.53-18.53 0-1.245-.13-2.46-.365-3.638 17.377 5.528 35.05 6.322 48.782.58.004.28.022.557.022.838 0 40.4-32.552 72.953-72.953 72.953-40.4 0-72.952-32.548-72.952-72.953 0-25.323 12.788-47.56 32.28-60.633zm288.38.334c19.215 13.116 31.792 35.188 31.792 60.3 0 40.4-32.553 72.952-72.954 72.952-40.402 0-72.953-32.548-72.953-72.953 0-.36.022-.716.027-1.076 11.414 4.964 25.64 5.318 40.18 2.127-.025.39-.06.775-.06 1.17 0 10.233 8.297 18.53 18.53 18.53 10.234 0 18.53-8.297 18.53-18.53 0-5.256-2.2-9.99-5.715-13.363 20.178-11.494 37.065-29.02 42.62-49.156zM255.308 360.658l31.737 80.75h-63.943l32.205-80.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spanner;

impl IconShape for Spanner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M331.188 16.72c-40.712-.002-81.41 15.408-112.438 46.436-43.866 43.864-56.798 107-38.813 162.25L17.03 388.312v25.75l170.22-170.218c2.75 5.84 5.847 11.555 9.344 17.094L17.03 440.5v51.78H64l181.875-181.874c5.516 3.515 11.212 6.668 17.03 9.438L90.44 492.28h27.03l164.75-164.75c55.182 17.85 118.21 4.884 162-38.905 41.415-41.414 54.998-99.91 41.282-152.813L380.22 241.125l-90.033-23.938-23.968-90.03L371.53 21.843c-13.213-3.41-26.772-5.125-40.342-5.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SparkSpirit;

impl IconShape for SparkSpirit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M420.402 19.873c37.886 49.484 19.76 88.205-39.797 90.787 15.374-23.54 18.565-50.758-1.503-72.215 15.56 37.318-14.397 62.848-50.137 67.096-4.39-.934-8.887-1.99-13.508-3.19-60.132-15.624-114.527 22.936-137.37 78.923-.43-34.33 9.72-68.377 29.83-102.152-50.37 35.038-75.926 89.323-72.616 166.003l-59.41-65.365L89.55 374.43 254.15 494.025 392.703 389.54l52.584-196.853-93.224 72.415c-23.56-25.652-13.02-55.2 33.736-50.293-38.077-22.19-64.97-2.473-75.952 24.356-5.608-27.825 18.206-63.122 50.218-58.686 76.728 10.638 151.882-107.834 60.336-160.607zM119.838 272.05l94.777 73.214-103.095-21.22 29.263-3.05-20.945-48.943zm255.48 12.237l-10.623 25.262 27.8-.28-12.095 23.437-96.25 14.438 91.168-62.858zM204.305 360.13l42.256 62.552 11.247-44.094 17.84 32.598 56.574-48.54-7.23 24.368 51.71-21.274-54.485 61.82 9.654-29.966-76.21 71.62-47.574-55.136 3.176 27.483-74.627-77.593 61.166 29.998 6.505-33.834z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SparklingSabre;

impl IconShape for SparklingSabre {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.563 16.875c-34.11 33.744-53.907 25.412-89.094 4.844 31.052 27.848 44.703 40.722 9.25 76.124 32.57-26.112 44.422-29.22 85.342-15-23.523-25.805-21.323-36.88-5.5-65.97zm90.312 24.406C463.23 68.004 425.365 93.7 386.687 113c1.152 61.455-37.802 117.82-99.125 165.406C221 330.06 127.345 372.848 24.344 404.28v41.22c15.817-3.243 32.09-6.896 48.656-11.03-2.655 14.497-11.253 27.387-28.938 39.81 43.158-14.862 52.446-1.325 76.188 18.814-7.644-26.835-5.256-36.344 34.625-58.438-32.328 9.304-48.716 5.836-63.03-5.094 74.51-20.002 153.373-49.706 221.25-93.625 6.362 31.056 5.325 56.495-36.19 94.282 67.325-35.667 96.207-34.27 130.97 7.155-34.905-53.113-30.953-75.32 14.063-123.97-42.665 33.767-70.8 30.987-94.063 12.626.615-.427 1.23-.85 1.844-1.28 90.41-63.473 157.526-153.397 164.155-283.47zM240.75 70.97c4.865 36.552-4.39 56.492-23.938 78.53 31.65-24.863 39.97-22.61 71.157-23-28.584-13.45-36.21-20.397-47.22-55.53zm-110.78 40.686c-27.298 60.18-58.556 70.662-107.626 70.125 59.78 20.1 64.886 52.96 69.906 106.25 19.34-58.957 36.19-76.01 78.72-58.217-41.78-31.838-45.743-48.97-41-118.157zm237.936 10.188c-30.864 13.607-61.587 22.598-88.937 24.28-2.278 16.52-11.623 32.867-25.19 49-15.767 18.755-37.557 37.463-62.78 55.69-49.014 35.414-110.962 68.736-166.656 94.28v39.625c99.33-30.83 189.144-72.456 251.78-121.064 55.735-43.25 89.362-90.922 91.782-141.812zm99.53 98.97c-7.594 35.52-13.903 44.526-46.655 65.31 35.874-8.104 51.316-1.513 74.533 15.032-22.447-30.02-28.5-41.96-27.875-80.344zM259.75 400.78c-30 43.11-55.372 48.865-98.656 52.22 51.72 7.82 65.302 14.218 95.875 41.094-12.9-35.393-15.344-48.14 2.78-93.313z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SparkyBomb;

impl IconShape for SparkyBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.438 19.22L178.78 88.97l-76.968-46 9 88.75-88.687 28.655 92.688 41.563L73.22 325.125 159 254.03l16 95.282 31.688-49.906 13.218 13.22c-4.34 13.284-6.97 27.36-6.97 42.25 0 76.383 61.788 138.78 138.22 138.78s138.78-62.35 138.78-138.78c.002-76.433-62.396-138.22-138.78-138.22-15.74 0-30.88 2.604-45.094 7.47l-6.562-6.564 66.28-26.375-88.124-26.593 73.688-64.72-108.5 7.595 16.594-88.25zM17.468 71.124l21.376 31.125 35.843 3-22.5-32.938-34.718-1.187zm406.626 18l-74 45.313 66.437-8.063 30.22-16.094-22.656-21.155zM171.75 150.188l18.594 1.75c-2.333 24.63 5.19 32.13 18.47 43.718 10.173 8.88 24.053 18.958 35.78 36.156l21.375-21.375 31 31 4.342 4.344 5.72-2.25c12.48-4.95 26-7.704 40.28-8.124-6.82 2.938-13.057 7.058-18.437 12.438-13.18 13.18-18.907 31.506-17.72 51l38.158 4.687-1.813-48.217 37.938 40 45.343-22.75-12.03 47.78 45.656 17.97-53.5 19.906 7.375 40.03c16.53-.598 31.784-6.44 43.19-17.844 3.504-3.505 6.504-7.375 8.967-11.53-6.942 59.702-57.724 106.093-119.28 106.093-66.293 0-119.532-53.754-119.532-120.095 0-14.646 2.8-28.405 7.688-41.53l2.093-5.626-4.22-4.25-32.124-32.126 26.063-26.063c-10.157-16.3-22.694-25.145-34.594-35.53-14.54-12.69-27.603-29.76-24.78-59.563zM85.062 224L35.22 242.53l-12.157 32.157 37.624-8.03L85.064 224zm63.407 107.688L122.905 398.5l15.344 32.563 17.25-35.97-7.03-63.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sparrow;

impl IconShape for Sparrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.625 97.375c-.44 19.098 6.645 38.842 23.938 49.063-2.897 6.85-4.688 14.284-4.688 22.187 0 3.698.412 7.577 1.125 11.53-45.116-2.51-94.654 27.96-115.47 75.282l-94.718-86.812 2.813 43.125-57.813-19.063 33.844 53.032-38.406 18.124c61.937 20.327 134.08 52.95 197.25 59l-7.72 34.062-48.655 41.063 12.063 14.28 29.75-25.094-9.063 39.97 18.25 4.124 9.094-40.125 14.405 32.72 17.125-7.533-24.594-55.812 8.313-36.688c15.398.06 30.104-1.818 43.81-6.25l16.5 31.313-12.124 56.97 18.28 3.905 7.47-35.03 21 39.905 16.53-8.72-18.56-35.28 33.687 15.844L374 369.56l-56.063-26.343-17.343-32.94c36.401-19.08 57.443-50.84 56.375-79.06 13.583-6.22 26.922-15.686 36.31-27.595 36.75-8.613 83.28-7.746 106.533 17.844-8.747-70.424-60.418-81.806-105.594-82.876-26.663-33.223-85.387-8.755-121.595-41.22zm86.438 44.656c7.52 0 13.625 6.107 13.625 13.626 0 7.522-6.104 13.625-13.625 13.625-7.522 0-13.594-6.102-13.594-13.624 0-7.52 6.07-13.625 13.592-13.625z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spartan;

impl IconShape for Spartan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M81.375 21.313l-7.22 124.25 36.376 22.25.814 46.375 10.906-2.907 79.72 295.25 18.03-4.874L140.312 206.5l10.813-2.875-22.03-39.5 21.093-38.813-68.813-104zM271.53 23l-30.092 3.125L262 88.28c-16.84 4.572-30.57 20.85-36.375 42.376l43.906 11.313 48.626-10.532c-5.86-21.992-19.883-38.68-37.062-43.22l20.562-62.093L271.53 23zm-48.75 126.22c-.075 1.558-.127 3.13-.124 4.718.07 32.086 16.668 58.92 38.78 65.562l.002-60.313-38.657-9.968zm98.22.718l-40.875 8.875v61.375c23.323-5.21 41.072-32.752 41-66.032-.003-1.415-.06-2.825-.125-4.22zm31.875 71.125c-74.427 0-134.97 60.54-134.97 134.968 0 74.43 60.543 134.94 134.97 134.94 74.427 0 134.938-60.51 134.938-134.94 0-74.426-60.51-134.967-134.938-134.967zm0 18.687c64.327 0 116.25 51.954 116.25 116.28 0 64.328-51.923 116.25-116.25 116.25s-116.28-51.922-116.28-116.25c0-64.326 51.953-116.28 116.28-116.28zm-1.375 20.53c-52.91 0-95.813 42.873-95.813 95.783 0 52.91 42.904 95.812 95.813 95.812 52.91 0 95.78-42.903 95.78-95.813 0-52.91-42.87-95.78-95.78-95.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spatter;

impl IconShape for Spatter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M459.938 10.875c-.954 2.58-1.75 5.278-1.75 8.188 0 7.222 3.2 13.725 8.28 18.125 11.444 5.7 19.313 17.496 19.313 31.156 0 19.234-15.576 34.812-34.81 34.812-16.684 0-30.623-11.716-34.033-27.375-4.37-4.915-10.713-8.03-17.812-8.03-13.194 0-23.906 10.713-23.906 23.906 0 2.994.556 5.828 1.56 8.47-1.026-.062-2.05-.095-3.092-.095-20.027 0-37.35 11.483-45.782 28.22 1.907-.54 3.92-.844 6-.844 12.13 0 21.97 9.84 21.97 21.97 0 12.127-9.84 21.968-21.97 21.968-2.818 0-5.524-.533-8-1.5 7.006 18.02 23.905 31.104 44.03 32.562l-.03.063c1.344-.113 2.657-.172 3.875-.19 30.974-.433 23.563 30.454-8.874 21.19-2.51-.316-5.062-.532-7.656-.532-9.55 0-18.585 2.19-26.656 6.062-6.61-13.626-17.11-21.54-32.97-26.375 2.403 15.323 7.194 28.766 15.438 39-.06.064-.125.124-.187.188 22.403 14.435 32.857 38.46 23.344 54.937-6.906 11.96-22.506 16.808-39.595 13.906-.346-.004-.683-.03-1.03-.03-12.755 0-24.907 2.6-35.94 7.312.02-.488.033-.977.033-1.47 0-19.79-16.054-35.812-35.844-35.812-19.79 0-35.813 16.023-35.813 35.813 0 18.14 13.48 33.125 30.97 35.5-9.478 14.42-15 31.67-15 50.217 0 11.81 2.24 23.104 6.313 33.47l.03.03c25.585 23.75-7.246 61.7-27.937 31.594-6.49-7-15.783-11.374-26.156-11.374-19.78 0-35.627 15.843-35.625 35.625 0 2.283.18 4.835.594 7h111.217c2-14.845 14.695-26.28 30.094-26.28 15.4 0 28.095 11.434 30.095 26.28H494.97V145.78c-11.097-.646-19.845-10.34-19.845-21.593 0-11.252 8.748-20.39 19.844-21V10.876h-35.033zm-347.47 19.5c-3.027 25.5 5.296 35.646 28.438 37.594 1.548-20.59-5.456-35.444-28.437-37.595zm221.72 7.53C321.565 38.546 311.5 49 311.5 61.782c0 13.195 10.712 23.876 23.906 23.876 13.194 0 23.875-10.68 23.875-23.875 0-13.193-10.68-23.874-23.874-23.874-.412 0-.81-.02-1.22 0zm-100.282 23.94c-28.587 0-51.75 23.163-51.75 51.75 0 11.126 3.494 21.434 9.47 29.874-13.722 5.023-23.5 18.194-23.5 33.655 0 19.79 16.02 35.844 35.81 35.844 15.428 0 28.575-9.764 33.626-23.44-15.703-3.324-27.5-17.25-27.5-33.936 0-19.16 15.558-34.688 34.72-34.688 14.49 0 26.903 8.884 32.093 21.5 5.536-8.234 8.78-18.14 8.78-28.812 0-28.587-23.162-51.75-51.75-51.75zm213.313 56.56c7.183 0 13 5.817 13 13 0 7.185-5.817 13-13 13-7.185 0-13-5.815-13-13 0-7.182 5.815-13 13-13zm-364.783 1.626c-13.193 0-23.906 10.714-23.906 23.907 0 13.194 10.714 23.875 23.907 23.875 13.194 0 23.876-10.68 23.876-23.875 0-13.194-10.682-23.906-23.876-23.906zm333.5 80.44c8.934 0 16.188 7.253 16.188 16.186s-7.254 16.188-16.188 16.188c-8.933 0-16.187-7.255-16.187-16.188s7.254-16.187 16.188-16.187zM86.5 272.687c-19.79 0-35.844 16.053-35.844 35.843 0 19.79 16.053 35.814 35.844 35.814 10.56 0 20.067-4.544 26.625-11.813 14.73 11.484 31.753 15.583 51.906 9.626-11.542-16.058-25.932-25.62-43.03-29 .197-1.52.313-3.05.313-4.625 0-19.79-16.022-35.842-35.813-35.842zm218.03 65.218c16.803 0 30.408 13.605 30.408 30.406 0 16.802-13.605 30.438-30.407 30.438-16.8 0-30.436-13.636-30.436-30.438 0-16.8 13.636-30.406 30.437-30.406zm-196.06 38.406c-13.195 0-23.907 10.713-23.907 23.907 0 13.192 10.712 23.874 23.906 23.874 13.193 0 23.874-10.682 23.874-23.875 0-13.195-10.68-23.908-23.875-23.908zm199.843 35.72c12.108.023 20.76 8.463 27.093 21.624-20.464 9.625-32.45 5.1-42.312-17.875 5.106-2.343 9.788-3.538 14.03-3.717.4-.017.798-.033 1.188-.032zM43.842 442c-9.476.04-18.192 5.768-26.187 15.063 17.743 14.988 30.828 13.703 46.72-6.47-7.22-5.983-14.048-8.62-20.532-8.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpearHook;

impl IconShape for SpearHook {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.506 19.895v37.56L135.11 174.06l33.755-33.757L48.97 19.895H18.507zm296.924 81.607c-8.398 17.695-17.58 34.514-27.555 50.48 53.052 55.6 109.094 165.155 145.602 270.827l6.332 18.327-18.28-6.467c-104.687-37.034-220.62-91.264-274.374-141.967-15.972 9.98-32.793 19.165-50.49 27.563 53.693 35.685 121.57 69.222 189.496 95.166-14.437 7.188-29.938 13.59-46.58 19.27l.002.003c68.264 38.63 175.57 65.47 254.412 64.127 1.33-78.052-27.08-188.95-64.127-254.416-5.76 16.87-12.257 32.57-19.56 47.166-26.458-69.205-60.387-138.182-94.88-190.08zm-117.858 36.523L135.79 199.81c34.207 31.62 67.775 56.763 94.798 71.598 14.454 7.935 27.094 12.95 36.334 14.762 9.24 1.812 13.778.34 15.564-1.445 1.786-1.786 3.26-6.326 1.448-15.565-1.812-9.24-6.83-21.88-14.764-36.334-14.835-27.023-39.976-60.59-71.598-94.8zm79.762 30.08c-4.66 6.81-9.48 13.45-14.457 19.926 8.892 12.557 16.52 24.587 22.676 35.802 8.515 15.51 14.306 29.43 16.718 41.73 2.414 12.3 1.528 24.28-6.57 32.377-8.096 8.096-20.076 8.982-32.376 6.57-12.3-2.413-26.22-8.206-41.73-16.72-11.1-6.094-23-13.632-35.414-22.405-7.41 5.793-15.027 11.387-22.877 16.76 47.263 42.21 149.664 92.317 245.545 127.873-35.19-95.766-86.347-192.602-131.514-241.913z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spears;

impl IconShape for Spears {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M433.877 19.855l-78.62 158.668 47.82 53.934-15.673 260.824h38.79l15.697-261.233 51.04-45.25-59.053-166.942zm-130.48 20.598L216.073 152.55l28.397 49.186-28.616 106.387-.102-.176-9.545 35.62.076.134-40.234 149.58h32.68l29.676-111.186.026.045 9.527-35.556-.054-.09 36.656-137.344 48.415-27.95L303.4 40.452h-.002zM111.632 153.21l14.48 116.54 44.42 11.904L193 320.648l9.555-35.66-9.256-16.1 12.022-44.87-93.69-70.81zm-49.357 74.31l-42.68 79.31 23.57 28.455L30.786 493.28h18.746L61.83 336.26l27.608-22.865-27.163-85.875h-.002zm257.06 10.878l-22.354 87.248 29.686 21.932L345.04 493.28h18.84l-18.823-149.235 21.293-28.824-47.016-76.822zm175.103 28.614l-40.108 226.27h18.98l21.128-119.188V267.012zm-339.903 38.886l-55.35 71.05 18.618 32.247-20.41 84.086h19.233l19.51-80.385 30.81-17.788-12.408-89.21h-.002zm96.623 63.645l-9.517 35.516 50.837 88.22h29.8l-71.12-123.737z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpectacleLenses;

impl IconShape for SpectacleLenses {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.594 154.72c-61.166 0-110.938 49.77-110.938 110.936 0 61.166 49.772 110.97 110.938 110.97 53.164 0 97.746-37.617 108.5-87.626 6.047-7.977 19.177-8.658 25.687-.25 10.653 50.135 55.28 87.875 108.533 87.875 61.165 0 110.968-49.803 110.968-110.97 0-61.164-49.802-110.936-110.967-110.936-49.837 0-92.113 33.05-106.063 78.374-4.824-2.243-10.104-3.353-15.375-3.313-5.212.04-10.417 1.182-15.156 3.407-13.93-45.373-56.255-78.468-106.126-78.468zm0 18.686c51.065 0 92.28 41.185 92.28 92.25 0 18.84-5.604 36.323-15.25 50.906C174.24 278.926 89.67 273.28 56.44 320.625c-11.372-15.344-18.094-34.346-18.094-54.97 0-13.146 2.73-25.633 7.656-36.936 6.1 6.33 16.664 10.53 28.688 10.53 18.895 0 34.218-10.34 34.218-23.094 0-12.752-15.323-23.094-34.22-23.094-.39 0-.768.023-1.155.032 15.688-12.342 35.49-19.688 57.064-19.688zm242.72 0c51.064 0 92.28 41.185 92.28 92.25 0 18.84-5.605 36.323-15.25 50.906-33.393-37.626-117.96-43.28-151.188 4.063-11.372-15.344-18.094-34.346-18.094-54.97 0-13.146 2.73-25.633 7.657-36.936 6.1 6.33 16.663 10.53 28.686 10.53 18.896 0 34.22-10.34 34.22-23.094 0-12.752-15.324-23.094-34.22-23.094-.39 0-.77.023-1.156.032 15.687-12.342 35.488-19.688 57.063-19.688zm-121.47 74.875c4.08-.08 8.18 1.3 11.312 4.25-.51 4.312-.78 8.68-.78 13.126v.03c-3.408-.997-6.962-1.494-10.5-1.467-3.488.025-6.97.584-10.314 1.592v-.156c0-4.392-.28-8.708-.78-12.97 2.986-2.802 7.012-4.325 11.062-4.405z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spectacles;

impl IconShape for Spectacles {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M269.594 138.188c-7.327.018-14.304 1.695-20.47 4.718-12.33 6.046-21.537 16.877-26.874 29.344-5.337 12.467-6.884 26.816-2.906 40.375 3.978 13.56 13.864 26.06 29.594 33.53l8.03-16.874c-11.386-5.406-17.107-13.144-19.687-21.936-2.578-8.792-1.63-18.9 2.157-27.75 3.79-8.85 10.305-16.18 17.907-19.906 7.602-3.728 16.19-4.464 26.844.593l.25.126.28.125 128.407 51.595c-2.868 3.738-5.47 7.785-7.813 12.063-4.422 8.076-7.89 17.01-10.125 26.375-11.192.072-23.21 2.372-34.843 9.406-3.506-6.976-8.417-12.93-14.5-17.44-8.036-5.955-17.907-9.28-28.594-9.75-6.412-.28-13.118.456-19.906 2.314-19.537 5.347-36.632 18.23-48.25 34.78l-140.438-68c-.158-.087-.31-.163-.47-.25-9.61-5.25-19.48-7.61-28.842-7.56-5.71.028-11.214.957-16.375 2.655-13.765 4.525-24.973 14.166-32.126 26.06-7.153 11.896-10.38 26.294-7.344 40.407 3.035 14.114 12.633 27.52 28.813 36.532l9.093-16.345c-12.24-6.818-17.72-15.27-19.625-24.125-1.903-8.854.075-18.547 5.064-26.844 4.99-8.297 12.877-14.958 21.937-17.937 9.062-2.98 19.295-2.647 30.782 3.75l.25.124.25.094 139.907 67.78c-4.3 10.024-6.72 20.765-6.72 31.626 0 18.525 7.674 34.47 20.53 44 12.858 9.53 30.4 12.39 48.5 7.437 36.206-9.907 64.126-45.698 64.126-82.75 0-2.674-.155-5.286-.47-7.842 9.038-7.025 17.4-9.228 26.564-9.47-.088 1.695-.156 3.395-.156 5.094 0 17.794 4.827 32.91 14.375 42.938 9.546 10.03 24.624 13.654 38.717 8.188 14.094-5.467 25.31-17.586 33.375-32.313 8.065-14.727 12.97-32.332 12.97-50.125s-4.86-32.908-14.407-42.938c-5.967-6.268-14.09-10.042-22.78-10.656-5.216-.368-10.623.42-15.908 2.47-3.887 1.507-7.555 3.532-11 5.968L292.22 143.406c-.178-.084-.356-.137-.533-.22-7.43-3.435-14.937-5.017-22.093-5zm183.344 69.468c4.232-.034 7.58 1.82 10.906 5.313 3.47 3.643 6.512 9.688 8.094 17.718-4.87-3.297-10.882-4.063-17.407-1.532-16.185 6.28-29.31 30.25-29.31 53.53 0 11.812 3.402 21.147 8.842 26.69-5.652 1.042-9.74-.787-13.78-5.032-5.067-5.322-9.25-15.75-9.25-30.03 0-14.284 4.106-29.197 10.656-41.158 6.55-11.96 15.542-20.69 23.75-23.875 2.05-.795 3.91-1.278 5.625-1.5.642-.082 1.27-.12 1.875-.124zm-137.72 43.656c7.75.073 14.323 2.413 19.5 6.25 7.414 5.495 12.4 14.35 12.938 26.72-7.126-10.86-20.657-15.814-36.187-11.563-22.94 6.277-41.533 30.218-41.533 53.5 0 11.816 4.782 21.207 12.5 26.75-6.89-.417-12.802-2.653-17.53-6.158-7.856-5.82-12.97-15.418-12.97-28.968 0-27.1 23.337-57.328 50.344-64.72 3.377-.923 6.597-1.474 9.658-1.686.573-.04 1.156-.078 1.718-.094.527-.016 1.046-.036 1.563-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spectre;

impl IconShape for Spectre {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M282.83 18.877c21.567 6.146 36.328 15.205 40.572 28.77-1.367.74-2.725 1.518-4.066 2.363-25.655 5.807-53.084 18.634-81.047 34.363 20.225-4.69 36.705-4.42 47.544 3.324-5.712 10.3-10.797 22.294-15.123 36.06-21.343 67.922-125.678-80.577-189.065-5.255C41.47 166.24 92.702 212.342 26.5 294.29c35.583-4.14 45.11-9.47 62.416-36.21 10.44-16.13 28.52-22.1 44.668-21.45-12.718 11.206-25.786 30.354-38.21 59.895 19.832-18.528 44.927-38.68 71.603-40.005.912 6.354-2.408 13.74-12.008 21.418C93.21 327.327 15.58 364.185 19.83 476.504c5.558-11.267 11.646-20.31 17.574-28.617 5.98 29.582 28.2 53.8 92.99 40.482-46.928-6.407-76.268-59.586-45.355-82.528 62.716-46.544 128.82 1.436 269.9-75.342 2.475-1.346 4.86-2.49 7.164-3.46-2.246 19.6-12.367 39.84-22.362 57.14 14.26-10.38 25.415-20.147 33.928-29.262 2.14 26.14-11.748 54.65-25.393 78.268 43.26-31.49 61.19-57.976 63.207-78.422 9.334 36.678-1.895 95.547-25.03 123.492 77.553-39.433 106.608-77.127 109.76-190.664 1.662-59.824-66.23-60.536-56.435-101.344 11.945-49.756 6.768-84.69-7.565-107.947-19.6-49.73-79.99-59.74-149.385-59.423zM89.8 47.684C54.69 47.534 45.233 83.056 55.724 117c17.146-51.504 70.414-44.24 111.17-34.367-33.282-25.005-58.707-34.87-77.096-34.95zm254.595 30.742c18.643 21.37 29.373 43.02 10.105 65.732-26.562-16.677-26.985-39.252-10.105-65.732zm74.494 48.6c3.655-.013 7.78.35 12.473 1.09-1.706 30.506-14.4 33-46.634 32.154 8.335-22.146 14.416-33.176 34.16-33.245zm-84.677 40.316c9.652.1 20.258 2.84 30.598 8.918 44.65 26.246 21.934 73.314-4.1 74.78-15.174.855 1.443-23.842-16.17-38.476-15.258-12.678-38.596 12.53-45.204-5.78-8.218-22.693 10.21-39.696 34.877-39.442zm60.18 246.168c-24.195 27.825-58.89 60.1-99.444 31.41 16.625 45.643 68.87 70.465 99.443-31.41z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiderWeb;

impl IconShape for SpiderWeb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.45 18.484L77.59 90.588C74.865 139.18 53.842 176.38 25.2 210.62l-6.716-1.76v19.32l2.557.672c15.35 45.065 9.088 90.827 1.82 138.294l-4.376 2.047v20.63l9.18-4.294c6.516 10.707 13.658 27.047 19.06 41.33 4.283 11.33 7.474 20.984 9.253 26.535l-37.493 37.69v2.43h23.942l28.55-28.7c9.27-.363 41.77-1.473 82.7-.75 46.744.825 102.612 4.3 139.05 13.667l5.08 15.784h19.632l-7.43-23.088c35.94-41.51 71.912-80.525 131.734-102.34l51.774 20.486v-20.097l-42.983-17.008c-6.374-39.21 12.755-76.665 30.62-116.68l12.363-2.585v-19.092l-6.323 1.323-5.45-2.803C425.656 182.8 405.41 133.64 388.444 78.93l44.184-60.446h-23.15l-38.6 52.81c-58.273 1.254-112.475-2.463-154.446-37.79l-2.274-15.02h-18.9l2.838 18.75C170.96 66.224 140.532 85.188 93.512 80.59l-49.22-62.106H20.448zm199.917 41.004c40.608 26.304 88.498 30.894 136.754 30.63l-33.14 45.34c-36.588.396-69.856-3.034-95.845-24.638l-7.768-51.332zm-18.834.44l8.29 54.775c-17.815 18.616-37.294 30.18-67.995 26.854L108.752 99.82c38.593-.74 68.358-17.144 92.78-39.892zM374.857 97.52c15.536 46.967 37.05 92.69 84.55 122.722l-51.768 10.82-.816-.417c-37.27-19.145-50.445-51.64-61.935-88.83l-.716-2.315 30.683-41.98zm-280.74 13.918l34.393 43.398c-2.523 29.583-15.404 52.66-33.14 74.207L44.966 215.81c23.714-29.774 42.64-63.393 49.152-104.373zm137.848 24.69c23.936 13.694 51.05 17.4 78.404 17.948l-32.91 45.028c-15.058-6.364-26.137-17.753-38.57-30.325l-2.343-2.37-4.582-30.28zm-18.778.81l5.592 36.955c-11.176 7.5-24.436 12.15-39.046 15.492l-22.902-28.897c22.71-1.395 41.095-10.68 56.356-23.55zm117.38 21.173c9.746 29.155 23.146 58.017 50.58 78.49l-55.928 11.69c-12.997-11.182-19.977-24.734-27.156-39.89l-1.67-3.53 34.174-46.76zm-186.432 16.443l19.142 24.154-.078.71c-1.93 17.365-8.877 29.63-16.65 43.063l-31.536-8.28c13.212-17.356 23.94-36.828 29.12-59.647zm77.674 19.353l6.012 39.742c-3.617.69-7.056 1.875-10.25 3.48l-25.177-31.767c10.19-2.75 20.13-6.345 29.414-11.454zm19.36 3.043c7.355 6.578 15.52 12.722 25.152 17.39l-15.834 21.662c-1.176-.493-2.377-.94-3.607-1.318l-5.71-37.735zm-62.75 20.864l24.91 31.43c-1.593 2.197-2.96 4.566-4.08 7.07l-33.914-8.902c4.955-8.757 9.83-18.253 13.084-29.598zm105.525 4.082c5.12 10.415 11.104 21.095 19.653 30.913l-31.143 6.508c-1.58-4.496-3.943-8.624-6.937-12.21l18.427-25.212zM42.172 234.4l48.873 12.83c9.227 28.215 5.795 57.08 1.2 87.448L43.173 357.64c5.95-40.147 10.29-81.414-1-123.24zm416.142 5.162c-14.933 32.635-30.114 66.733-27.433 104.13l-43.74-17.307c-3.6-25.016 8.776-49.445 20.725-76.278l50.45-10.544zm-346.576 13.1l27.614 7.248.562 1.4c6.1 15.133 5.383 31.772 2.9 49.708l-30.318 14.185c3.214-23.512 4.976-47.812-.758-72.54zm273.295 2.217c-9.043 19.817-17.797 40.803-17.252 63.847l-36.587-14.477c-.004-13.148 1.395-22.84 9.12-33.92l4.98-7.144 39.74-8.307zm-224.36 10.628l35.237 9.252c.22 3.636.94 7.135 2.078 10.44l-35.27 16.503c1.05-11.9.927-24.048-2.044-36.195zm159.16 3c-4.625 9.433-6.38 18.89-6.948 28.498l-39.278-15.54c.266-1.125.47-2.273.64-3.43l45.585-9.528zm-54.796 29.662l36.504 14.443c-8.91 4.58-17.316 10.536-24.677 16.16-3.907 2.986-7.107 5.602-9.886 7.942l-10.102-31.397c3.04-2 5.786-4.408 8.162-7.148zm-58.12 3.484L169.26 339.51c-2.558-6.2-6.018-11.147-9.588-15.235l.088-.556 47.154-22.066zm17.73 8.672c3.377.94 6.93 1.455 10.607 1.455 1.35 0 2.686-.067 4.002-.2l10.473 32.54c-13.314-.16-37.613.076-61.693 3.01l36.61-36.804zm103.486 12.81l25.363 10.034c-29.4 14.92-50.376 35.896-69.252 57.2L273.2 356.05c3.554-3.174 8.73-7.63 15.01-12.427 11.42-8.727 26.208-17.7 35.685-19.627l4.238-.86zM141.635 332.2l1.517 1.525c5.848 5.875 9.973 10.303 11.223 20.75l-31.143 31.308c-.35-2.27-.738-4.63-1.2-7.142-2.01-10.95-4.448-22.942-9.325-32.904l28.928-13.535zm235.928 10.493l39.218 15.518c-49.423 22.5-82.915 56.684-113.45 91.47l-12.435-38.647c24.103-27.838 47.673-53.616 86.668-68.34zM95.577 353.75c3.002 6.837 6.222 18.17 8.076 28.266 1.582 8.61 2.5 16.08 2.98 20.45l-35.882 36.075c-1.68-4.98-3.777-10.96-6.55-18.29-5.374-14.216-11.993-30.012-19.61-42.64l50.986-23.86zm150.863 9.148c3.968-.006 6.814.03 9.35.065l10.396 32.3c-26.257-4.15-58.633-4.19-87.057-3.185-15.575.55-28.004 1.327-37.857 2.065l24.108-24.237.95-.23c23.746-5.79 59.86-6.746 80.11-6.778zm-42.192 47.39c24.924-.053 50.366 1.266 68.416 5.103l13.428 41.727c-38.708-8.23-88.984-10.977-132.086-11.738-27.222-.482-49.237-.188-63.87.173l30.8-30.963c7.765-.757 30.71-2.842 58.853-3.836 7.9-.28 16.15-.45 24.458-.467z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedArmor;

impl IconShape for SpikedArmor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.61 17.086c-1.54-.042-3.12.127-4.657.127-12.09 0-23.35 4.608-32.758 12.512l-47.045-9.737 25.846 40.922c-1.585 4.302-2.87 8.82-3.803 13.52L153.3 93.924l46.333 19.685c2.916 13.003 8.493 24.604 15.83 33.808-8.44 1.31-16.06 3.917-22.904 7.637l-61.8-34.916 34.474 61.038c-4.273 6.62-7.887 14.01-10.886 22.01l-72.526.675 63.283 37.34c-1.184 8.643-1.897 17.604-2.167 26.77l-65.317 18.16 66.466 18.482c1.01 11.462 2.592 22.985 4.73 34.358h22.69l-1.024-104.38 18.688-.183 1.084 110.492 1.047 15.887-60.99 22.888 63.272 11.732 2.723 41.305-55.178 20.707 57.242 10.615 1.646 24.975h45.67v-174.63h18.687v174.63h45.545l1.828-24.55 59.524-11.04-57.104-21.43 3-40.277 64.922-12.037-62.283-23.373 1.38-18.545 1.053-107.35 18.69.184-1.026 104.38h24.744c2.365-11.393 4.037-22.817 5.032-34.103l67.386-18.737-66.613-18.52c-.43-8.708-1.303-17.198-2.62-25.38l65.03-38.37-75.772-.707c-2.765-6.676-5.943-12.91-9.54-18.61l36.376-64.407-64.37 36.368c-6.687-3.91-14.017-6.706-21.995-8.207 7.72-9.313 13.61-21.154 16.66-34.523l46.73-19.853-46.266-19.653c-.84-4.22-1.943-8.307-3.307-12.217l26.566-42.065-47.68 9.87c-7.905-6.853-17.15-11.348-27.132-12.645-.5-.075-1.008-.113-1.52-.127zm-4.87 18.844c10.617 0 20.556 5.69 28.377 16.193 6.196 8.322 10.727 19.572 12.348 32.307h-31.338l.002 18.69h31.554c-1.395 13.514-6.065 25.47-12.567 34.204-7.82 10.505-17.76 16.194-28.377 16.194-10.617 0-20.556-5.69-28.377-16.194-6.502-8.733-11.172-20.69-12.566-34.205h31.642l-.002-18.69h-31.422c1.62-12.735 6.15-23.985 12.347-32.307 7.82-10.504 17.76-16.193 28.377-16.193z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedCollar;

impl IconShape for SpikedCollar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.54 20.12l19.276 96.028c-12.818 11.406-22.692 26.194-29.42 43.24l-78.79-8.638 64.453 63.37c-2.586 23.357.03 49.043 8.258 74.657l-42.033 54.215 68.018-1.02c15.12 22.18 33.708 39.877 53.62 51.962l10.68 90.296 40.932-68.666c17.495 4.93 35.126 5.94 51.883 2.508l63.63 73.657-19.257-95.92c12.855-11.425 22.75-26.248 29.487-43.34l78.702 8.628-68.175-67.03c.046-20.525-3.275-42.147-10.17-63.734l47.664-61.48-77.165 1.158c-12.764-18.617-27.715-34.38-43.844-46.768l-11.306-95.627-40.964 68.72c-17.463-4.908-35.06-5.91-51.786-2.485L139.54 20.12zm101.798 93.45c44.422-.03 92.8 34.067 119.69 89.082 33.42 68.38 21.35 143.925-26.5 171.895 26.868-38.838 28.765-101.318.618-158.906-28.146-57.587-78.34-93.93-125.113-95.814 9.96-4.224 20.515-6.248 31.305-6.256zm-30.983 26.98c41.018-.062 85.61 31.394 110.477 82.274 31.83 65.127 19.096 137.01-28.506 160.9-.988.494-1.986.956-2.988 1.403-43.015-2.403-88.815-35.974-114.7-88.938-25.887-52.963-24.482-110.224-.3-146.35.96-.538 1.927-1.062 2.916-1.56 10.413-5.224 21.617-7.712 33.1-7.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedFence;

impl IconShape for SpikedFence {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M59.04 23.11l-35.3 93.59 25.96-14.9V158c-1.32 18-13.82 32.6-30.39 36.7v19.1c11.64-2 22.12-7.5 30.39-15.3v97.3c-11.62 1.9-22.1 7.3-30.39 15.1v39.4c1.68-17.5 14.08-31.5 30.39-35.4v177.5h18.69V314.9c16.46 4 28.96 18.4 30.55 36.1v141.5h18.66V354.4c3.9-18.9 15.1-39.3 31.2-39.6v177.6h18.7V314.9c17.4 4.4 30.4 20.3 30.6 39.5v138.1h18.6V354.3c.3-19.4 13.5-35.4 31.2-39.5v177.6h18.7V315c17.4 4.4 30.2 20.3 30.4 39.4.4 45.6.2 92.2.2 138.1h18.7V350.9c1.6-17.8 14.2-32.2 30.8-36.1v177.6h18.7V315c17.4 4.3 30.3 20.1 30.3 39.3.5 45.5.2 92.3.2 138.2h18.7V349.7c2-17.4 14.6-31.3 31-35v177.7h18.7V315.1c16.4 4.3 28.7 18.9 30 36.7v-40.7c-8.2-7.7-18.5-13.1-30-15.1v-97.6c8.1 7.8 18.5 13.2 30 15.3v-19.1c-17-4.5-29.5-19.9-30-38.6v-54.2l25.9 14.9-35.3-93.59-35.3 93.59 26-14.9v53.5c-5 23-22.7 40.1-40.2 40.6-22.1 0-40-18-40-40.5-.1-17.8 0-35.8 0-53.6l26 14.9L356 23.11l-35.3 93.59 26-14.9v55.6c-1 21.6-18.5 38.5-39.9 38.5-22.1 0-40-18-40.2-40.6v-53.5l26 14.9-35.3-93.59L222 116.7l25.9-14.9v53.6c-.2 22.5-18.1 40.5-40.1 40.5-22.1 0-40-18-40.2-40.6-.2-17.7-.1-35.7-.1-53.5l26 14.9-35.3-93.59-35.3 93.59 25.9-14.9v55.4c-1.2 21.7-18.7 38.7-40.1 38.7-22.09 0-39.99-18-40.19-40.6-.25-17.6-.13-35.7-.13-53.5l25.96 14.9-35.3-93.59zm9.35 175.19c8.28 7.9 18.82 13.4 30.55 15.5v97.3c-8.31-7.8-18.85-13.3-30.55-15.2zm99.11 0c8.3 7.9 18.8 13.5 30.6 15.5v97.5c-8.3-7.9-18.9-13.5-30.6-15.4v-97.6zm278.1 0v97.4c-11.9 1.8-22.5 7.3-31 15.1v-97c11.9-1.9 22.6-7.4 31-15.5zm-179 .1c8.3 7.9 18.9 13.4 30.6 15.4v97.7c-8.3-8-18.8-13.6-30.6-15.6v-97.5zm-18.7 0v97.4c-11.9 1.9-22.7 7.4-31.2 15.5v-97.4c12.2-3.2 23.4-8.3 31.2-15.5zm-99.1 0v97.4c-12 1.9-22.7 7.5-31.2 15.7v-97.6c12.2-3.1 23.4-8.2 31.2-15.5zm216.6.1c8.3 7.9 18.8 13.4 30.5 15.3v97.5c-8.2-7.9-18.8-13.4-30.5-15.4v-97.4zm-18.7.1v97.2c-11.8 1.9-22.5 7.4-30.8 15.3v-97.2c12-3.1 23.1-8.1 30.8-15.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedHalo;

impl IconShape for SpikedHalo {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.65 19.033l-47.552 85.598c-51.53 16.016-91.8 57.678-105.877 110.026L33.407 252.25l69.276 38.486c5.942 26.33 18.456 50.18 35.722 69.737 5.63-7.952 12.438-15.05 20.547-21.162-19.19-22.513-30.794-51.682-30.794-83.51 0-71.074 57.838-128.488 128.912-128.488 71.077 0 128.49 57.412 128.49 128.49 0 30.006-10.234 57.65-27.408 79.583 8.525 5.88 15.612 12.795 21.413 20.592 15.176-18.532 26.235-40.563 31.77-64.692l70.263-39.035-71.826-38.13c-14.312-52.475-54.968-94.123-106.856-109.825L257.65 19.033zm.266 150.33c-17.56 0-33.686 9.02-45.902 24.647-12.217 15.626-20.09 37.754-20.09 62.373 0 26.12 9.218 49.343 22.846 65.148l10.14 11.76-15.14 3.452c-38.027 8.67-55.962 26.396-66.48 54.268-9.788 25.934-11.75 61.67-11.99 104.236h254.473c-.047-42.74-.66-79.348-9.683-105.814-9.693-28.432-27.11-46.38-67.99-54.38l-15.272-2.99 9.817-12.076c12.778-15.718 21.267-38.404 21.267-63.603 0-24.62-7.875-46.747-20.092-62.373-12.216-15.626-28.343-24.647-45.902-24.647h-.002z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedMace;

impl IconShape for SpikedMace {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.47 16.29l43.774 85.93 40.65-42.927L246.47 16.29zm179.84 23.823l-13.472 13.47 46.807 46.808 13.48-13.46-46.816-46.817zm-52.42.95L113.88 315.656l81.65 81.653L471.808 138.98l-97.918-97.92zm-3.097 50.57c12.955 0 25.912 4.916 35.742 14.746 19.66 19.66 19.66 51.82 0 71.48-19.66 19.662-51.822 19.662-71.482 0-19.66-19.66-19.66-51.82 0-71.48 9.83-9.83 22.785-14.747 35.74-14.747zM167.367 104.97l42.176 82.48 38.86-41.044-81.036-41.437zm203.426 5.235c-8.134 0-16.266 3.13-22.525 9.39-12.52 12.518-12.52 32.533 0 45.05 12.518 12.52 32.534 12.52 45.052 0 12.52-12.517 12.52-32.532 0-45.05-6.26-6.26-14.394-9.39-22.527-9.39zM286.88 177.14c12.524.03 25.056 4.813 34.57 14.327 19.026 19.027 19.13 50.124.146 69.107-18.983 18.983-50.08 18.88-69.108-.148-19.027-19.027-19.13-50.124-.146-69.108 9.49-9.49 22.01-14.21 34.537-14.18zm166.58 4.58l-43.43 40.608 86.58 44.102-43.15-84.71zM88.927 194.88l39.957 77.75 36.445-38.487-76.402-39.264zm197.926.83c-7.704-.02-15.394 2.922-21.295 8.823-11.804 11.803-11.776 30.756.146 42.678 11.923 11.923 30.875 11.953 42.678.15 11.804-11.804 11.777-30.756-.146-42.678-5.96-5.962-13.68-8.95-21.382-8.97zm-84.237 67.6c12.01.068 24.032 4.693 33.164 13.825 18.263 18.264 18.496 48.085.324 66.258-18.173 18.172-47.994 17.94-66.258-.325-18.264-18.264-18.497-48.085-.325-66.257 9.088-9.086 21.085-13.57 33.095-13.5zm163.38.194l-41.893 39.17 83.843 42.873-41.95-82.043zM202.55 281.88c-7.187-.047-14.342 2.674-19.814 8.145-10.942 10.943-10.884 28.62.325 39.83 11.21 11.207 28.886 11.265 39.83.323 10.94-10.943 10.883-28.62-.326-39.828-5.604-5.605-12.825-8.42-20.013-8.47zm75.343 64.003l-39.666 37.088 79.8 41.01-40.134-78.097zm-158.784 1.43L18.93 447.493V494.9h45.648l101.13-100.988-46.6-46.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedShell;

impl IconShape for SpikedShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M175.125 11.375l7.656 122.78c-15.95 4.655-30.756 10.78-44.093 18.095L51.063 76.406l48.47 105.03c-17.535 17.983-28.61 39.145-31 61.94h112.75c4.627-37.73 36.893-67.095 75.843-67.095s71.216 29.366 75.844 67.095h112.717c-2.388-22.83-13.486-44-31.062-62l48.438-104.97-87.594 75.814c-13.638-7.474-28.798-13.72-45.158-18.407l7.625-122.438-61.406 113.094c-6.385-.446-12.846-.657-19.405-.657-6.945 0-13.81.252-20.563.75L175.125 11.374zm82 183.594c-32.012 0-57.75 25.742-57.75 57.75 0 32.006 25.738 57.75 57.75 57.75s57.75-25.744 57.75-57.75c0-32.008-25.738-57.75-57.75-57.75zM68.53 262.062c2.403 22.78 13.473 43.936 31 61.906L51.063 429.03l87.657-75.842c13.326 7.305 28.123 13.413 44.06 18.062l-7.655 122.813 61.47-113.25c6.74.496 13.595.78 20.53.78 6.548 0 12.998-.244 19.375-.687l61.438 113.156-7.625-122.468c16.354-4.685 31.523-10.906 45.156-18.375l87.592 75.81-48.468-105c17.576-17.99 28.69-39.15 31.094-61.967h-112.72c-4.627 37.73-36.893 67.093-75.843 67.093s-71.216-29.364-75.844-67.094H68.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedSnail;

impl IconShape for SpikedSnail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M195.36 23.666l28.824 95.553 89.27 69.065c-.32-.038-.642-.07-.962-.105L13.872 65.7l138.18 139.404 93.598-9.612c-.703.244-1.403.495-2.1.748v-.373l-225.812 94.45 113.344.5 31.723-30.897-12.807 30.98.266.002-62.846 153.215 43.29-42.91 14.24-40.63c.618 4.344 1.416 8.636 2.398 12.862l.36 2.896-.222-.06 12.522 92.638 11.45-41.99c25.39 35.722 65.968 60.23 113.1 63.562 2.995.212 5.975.328 8.94.366-57.247-18.434-100.216-72.73-95.63-135.846 4.28-58.87 52.44-109.197 112-110.328 3.972-.076 7.994.067 12.056.44 52.61 4.84 97.167 51.102 90.717 105.802-5 42.397-43.393 78.356-88.122 71.203-16.24-2.596-30.992-11.363-41.04-23.928-10.047-12.564-15.302-29.433-11.24-46.85 2.652-11.367 9.572-21.562 19.194-28.29 9.62-6.73 22.765-9.72 35.355-4.692h.002c7.013 2.8 12.597 8.046 16.17 15.17 1.788 3.562 3.007 7.78 2.563 12.453-.443 4.672-2.894 9.552-6.783 12.97l-12.34-14.034c.73-.64.5-.478.52-.703.02-.226-.05-1.086-.662-2.308-1.226-2.443-4.882-5.587-6.4-6.193-6.366-2.543-12.13-1.257-17.717 2.65-5.588 3.91-10.182 10.713-11.7 17.222-2.676 11.47.58 22.11 7.634 30.93 7.056 8.824 18 15.326 29.395 17.148 33.27 5.32 62.77-22.37 66.61-54.938 5.12-43.418-31.13-81.073-73.87-85.003-53.92-4.964-99.866 39.815-103.704 92.63-4.666 64.2 49.07 118.513 112.38 122.302 74.91 4.483 137.724-57.982 141.292-131.562 1.286-26.52-4.85-53.308-17.34-76.83l2.076-1.102c-20.982-58.506-67.582-155.713-67.582-155.713l-.12 61.682-49.558-84.84 7.213 50.8 33.238 53.083L195.36 23.666z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedTail;

impl IconShape for SpikedTail {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.297 16.27v113.06L266.15 263.12 132.357 16.27H19.297zm134.318 0l158.947 293.263L19.298 150.586v35.9l39.24 24.815 25.9 162.188 18.735-133.963 82.383 52.094 21.43 134.204 15.503-110.85 75.72 47.88 17.263 108.095 12.49-89.282 61.923 39.158 12.6 78.914 9.117-65.18 70.68 44.694-45.186-71.46 66.656-9.32-80.7-12.888-38.847-61.434 90.758-12.693-109.88-17.548-47.57-75.228 112.326-15.71-135.992-21.716-51.783-81.89 135.432-18.94-163.965-26.184-24.013-37.974h-35.9zm223.877 64.158l.006.002v-.002h-.006z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikedTentacle;

impl IconShape for SpikedTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M126.21 44.816c-28.57.028-62.253 6.175-101.43 19.473v206.177c34.753-70.097 94.796-95.33 118.277-33.147.682.01 1.364.025 2.04.055 3.224.144 6.385.534 9.47 1.213 12.338 2.715 23.426 11.78 27.183 25.8 1.956 7.3 1.593 14.67-1.373 20.794-2.966 6.124-8.112 10.54-13.865 13.576-4.176 2.204-8.76 3.83-13.647 5.02.002.47.014.92.014 1.394 0 8.485 1.245 16.656 3.57 24.435 1.256-.51 2.525-.98 3.81-1.386 3.01-.954 6.153-1.525 9.332-1.685.596-.03 1.193-.046 1.79-.047 8.973-.013 18.105 3.27 25.32 10.487 5.345 5.344 8.714 11.907 9.208 18.693.494 6.786-1.756 13.183-5.22 18.69-1.63 2.588-3.532 5.05-5.653 7.41 10.645 7.775 22.837 14.108 36.008 18.71 1-2.945 2.326-5.773 4.08-8.437 5.995-9.102 17.213-14.595 30.828-14.595 14.235 0 25.768 7.644 29.588 18.42 1.417 3.995 2.053 8.125 2.118 12.352 16.59-1.707 33.3-6.156 49.358-13.756.152-8.87 4.284-18.062 12.052-25.83 6.29-6.292 13.948-9.724 21.325-10.214.553-.037 1.104-.057 1.654-.06 3.846-.026 7.58.763 10.967 2.376.103.05.2.107.302.157.835-.87 1.665-1.75 2.49-2.644 39.125-42.52 48.15-142.046 1.018-199.545-45.518-55.526-192.24 13.158-82.676 100.54-41.65-77.294 28.077-75.698 46.442-43.89 20.212 35.01 23.473 84.05-28.07 113.808-40.74 23.524-86.61-26.748-79.102-97.476 11.57-109.013-25.18-186.965-127.21-186.866zm167.315 47.778c-3.595 12.322-5.927 36.444-1.285 50.838 7.242-4.467 20.556-9.718 28.203-12.64-4.625-12.596-17.803-27.15-26.918-38.198zm118.914 7.746c-12 4.557-32.654 17.232-41.344 29.61 7.927 3.09 20.143 10.55 27.084 14.892 7.264-11.282 10.935-30.57 14.26-44.502zm28.753 89.523c-3.682-.066-7.177.133-10.33.66 3.792 8.808 7.462 24.518 9.465 33.526 14.805-3.092 33.197-15.397 47.016-23.747-10.684-4.902-30.192-10.152-46.15-10.44zm-299.51 66.23c-6.372.107-13.992 1.302-22.08 3.464-16.965 4.533-35.67 12.95-51.343 20.99 16.297 4.056 37.71 7.523 56.422 7.418 14.068-.08 26.53-2.266 33.107-5.736 3.287-1.737 4.947-3.5 5.767-5.193.82-1.693 1.22-3.78.14-7.81-2.193-8.187-5.76-10.762-13.146-12.387-1.846-.406-3.933-.646-6.218-.725-.857-.03-1.74-.036-2.65-.02zm299.23 37.33c1.846 9.19-5.056 29.82-10.126 37.53 15.95 5.515 40.613 4.254 58.625 4.166-9.14-13.307-30.785-34.768-48.498-41.698zm-268.393 51.34c-.543.006-1.097.046-1.666.116-1.518.185-3.144.586-4.946 1.157-7.208 2.286-16.415 8.81-25.443 17.826-12.424 12.408-24.413 29.05-33.967 43.85 16.142-4.636 36.42-12.343 52.57-21.79 12.144-7.102 21.843-15.225 25.803-21.52 1.98-3.146 2.536-5.502 2.4-7.378-.137-1.876-.83-3.885-3.782-6.836-3.932-3.933-7.17-5.478-10.968-5.428zm208.722 31.633c-2.278-.144-4.678 1.167-8.96 5.448-6.627 6.628-7.317 10.62-6.387 15.136.93 4.517 4.95 10.543 11.79 16.743 9.61 8.715 23.68 17.07 37.524 24.96-3.23-14.377-8.502-31.08-15.27-43.492-5.04-9.243-10.957-15.676-14.965-17.586-1.002-.478-1.89-.86-2.758-1.06-.326-.077-.65-.127-.975-.148zm-115.29 19.74c-9.372 0-12.683 2.334-15.22 6.184-2.536 3.85-3.952 10.955-3.502 20.174.634 12.96 4.674 28.816 8.883 44.184 7.885-12.45 15.968-27.99 19.96-41.55 2.972-10.1 3.336-18.834 1.853-23.02-1.484-4.184-2.748-5.973-11.973-5.973z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikyEclipse;

impl IconShape for SpikyEclipse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.182 17.115l14.882 129.483-46.134-25.303 37.46 72.914c18.642-27.004 49.798-44.702 85.094-44.702 57.07 0 103.334 46.262 103.334 103.332 0 30.772-13.454 58.398-34.797 77.328l67.918 29.404-26.258-60.27 137.83-15.784-126.504-44.65 81.853-53.58H360.1L465.104 18.735 334.8 125.76l-2.978-72.926-69.95 84.832-19.35-84.834-22.323 68.46L159.18 17.116zM24.94 141.8l48.62 54.354 71.725 25.797-51.588-58.237L24.94 141.8zM147.17 254.52l-49.526 27.513 43.69 4.684-76.457 95.18 90.5-48.372-82.702 160.72 124.83-127.95 6.242 71.775 26.863-83.812c-47.03-9.163-82.65-50.216-83.44-99.738zm155.935 87.263c-12.105 7.178-25.8 11.952-40.433 13.672l75.08 136.164-34.647-149.837zM249.95 373.95h-.003l-11.457 59.872 19.237 60.74 12.533-63.812-20.31-56.8zm131.48 13.45l34.513 48.39 52.453 12.493v-.002L435.8 403.183 381.43 387.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikyExplosion;

impl IconShape for SpikyExplosion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M454.547 16.027C406.8 37.25 381.052 75.064 369.135 123.303c42.096-24.196 72.15-58.61 85.412-107.276zM95.56 19.03c15.534 34.478 41.673 62.266 76.506 84.683 1.576-31.216-1.92-59.57-11.097-84.682H95.56zm223.674 9.507c-27.494 57.123-49.87 115.225-67.9 174.162-13.04-40.243-29.32-79.83-49.25-118.68.247 36.447 3.52 71.91 9.445 106.51-38.943-35.318-79.96-68.894-123.292-100.52 29.922 43.868 62.24 84.967 96.64 123.656-26.502-8.224-56.91-10.145-88.08-5.97 19.645 14.96 42.703 28.156 67.192 36-48.423 2.757-97.046 7.823-145.888 15.45 41.51 7.845 82.85 13.375 124.043 16.842-22.063 8.906-43.915 18.854-65.536 29.946 40.608-.275 79.997-4.3 118.33-11.577-16.74 21.736-31.644 45.162-44.99 70.028 25.735-15.12 49.978-31.88 72.554-50.477-12.504 58.248-21.31 117.203-27.092 176.738 21.65-50.587 41.044-101.993 57.877-154.328 11.282 28.076 24.197 55.62 38.556 82.696-2.48-37.338-7-74.264-13.793-110.73 46.832 43.08 96.5 82.882 148.472 120.017-38.845-51.87-80.238-101.596-124.584-148.84 65.17-2.498 130.007-9.56 194.576-20.314-47.5-6.818-95.158-11.807-142.99-14.775 19.607-8.637 38.96-18.06 58.078-28.198-36.566 2.427-72.737 6.804-108.467 13.363 12.16-16.334 23.427-33.654 33.715-52.05-16.755 8.214-32.493 17.366-47.317 27.36 13.228-57.563 23.26-116.284 29.7-176.308zm175.05 29.625c-48.748 27.205-89.195 69.08-119.934 128.35 46.33-.998 85.935-12.905 119.933-33.666V58.162zM25.36 124.676c-1.285-.01-2.578-.004-3.878.015 24.13 35.622 56.432 55.136 101.748 49.035-24.56-34.196-57.994-48.75-97.87-49.05zm374.08 179.517c-10.527-.03-21.428 1.062-32.66 3.15 34.93 36.464 77.04 54.27 129.158 46.053-26.086-34.646-58.903-49.093-96.5-49.203zM113.774 326.62c-8.008.004-15.842.556-23.472 1.32-25.435 2.57-48.993 9.59-70.666 21.062v70.666c38.192-19.716 72.544-49.83 102.203-92.86-2.708-.13-5.395-.19-8.065-.19zm57.727 49.855c-50.455 23.15-70.933 64.14-72.57 116.345 43.08-26.34 69.47-63.673 72.57-116.345zm157.664 15.744c.832 38.58 10.744 71.555 28.033 99.866h78.843c-22.654-40.592-57.522-74.27-106.877-99.867z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpikyField;

impl IconShape for SpikyField {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.54 19.387l-8.308 54.59c4.032 31.42 34.03 26.625 30.118-3.866l-21.81-50.723zm62.167.2l-22.158 50.58c-4.238 31.394 25.98 34.526 30.093 4.063l-7.936-54.644zM167.44 35.278l6.103 54.882c12.028 29.306 39.763 16.91 28.092-11.527L167.44 35.28zm182.263.593l-34.496 43.123c-12.215 29.233 16.16 40.073 28.016 11.71l6.48-54.833zM113.506 66.186l20.098 51.435c19.202 25.195 42.782 6.04 24.15-18.405l-44.248-33.03zm289.93.947l-44.48 32.724c-19.364 25.08 5.24 42.89 24.03 18.565l20.45-51.29zm-334.032 42.87l32.723 44.477c25.07 19.366 42.89-5.237 18.566-24.03l-51.29-20.448zm377.846 1.23l-51.434 20.1c-25.196 19.207-6.04 42.784 18.407 24.15l33.027-44.25zm-218.95 3.43L208.18 278.056h-9.963V163.437h-18.687v80.393l-53.888 89.162 53.904-16.78 37.788 28.448-9.156 39.988h102.056l-9.156-39.986 37.787-28.45 53.898 16.78-53.872-89.133v-80.423H320.21v114.618h-9.97l-20.117-163.39H228.3zM38.144 163.737l43.123 34.494c29.225 12.22 40.074-16.16 11.712-28.015l-54.835-6.48zm440.01 1.436l-54.884 6.1c-29.306 12.035-16.904 39.762 11.53 28.093l43.356-34.193zm-401.66 50.625l-54.636 7.937 50.578 22.155c30.46 4.11 35.457-25.85 4.058-30.093zm362.964 1.162c-31.424 4.038-26.624 34.03 3.862 30.12l50.73-21.81-54.593-8.31zm-180.25 2.388c13.21.016 26.417 25.534 26.417 76.504h-52.832c0-51.037 13.208-76.52 26.416-76.504zM77.937 263.723c-1.74 0-3.595.117-5.56.37L21.66 285.9l54.586 8.31c28.58-3.666 27.796-30.47 1.692-30.487zm359.777 1.152c-26.102-.154-27.064 26.64 1.494 30.496l54.643-7.934-50.582-22.157c-1.963-.265-3.815-.395-5.555-.405zm-344.518 44.04c-3.59.12-7.716 1.01-12.297 2.89l-43.345 34.193 54.877-6.102c23.99-9.845 20.157-31.636.765-30.982zm327.446 1.15c-17.76.605-21.8 20.903 2.09 30.896l54.834 6.466-43.12-34.483c-4.432-1.852-8.48-2.742-12.042-2.875-.6-.022-1.188-.023-1.76-.004zM118.43 348.74c-4.817.092-10.647 2.148-16.948 6.95l-33.02 44.244 51.43-20.098c18.334-13.975 12.99-31.372-1.462-31.096zm278.46 1.053c-14.517-.425-20.675 16.4-1.872 30.93l51.293 20.437-32.732-44.47c-6.082-4.697-11.85-6.755-16.69-6.897zm-245.724 31.22c-5.54.177-12.208 3.648-18.45 11.727l-20.44 51.295 44.47-32.73c12.332-15.964 6.473-29.768-4.488-30.286-.36-.015-.723-.018-1.092-.006zm211.598.846c-11.096.273-17.41 13.562-4.81 30.1l44.257 33.015-20.106-51.422c-6.406-8.404-13.53-11.834-19.342-11.692zM191.33 403.79c-6.374-.18-13.887 4.793-18.853 16.667l-6.465 54.834 34.48-43.12c7.04-16.84.154-28.115-9.162-28.38zm132.14.546c-9.414-.028-16.543 10.8-9.404 28.203l34.205 43.345-6.11-54.875c-4.74-11.553-12.25-16.655-18.69-16.674zm-88.648 11.31c-7.132-.15-14.773 6.57-16.76 21.29l7.944 54.642 22.146-50.58c2.185-16.184-5.246-25.18-13.33-25.352zm45.037.192c-8.117-.128-15.647 8.526-13.506 25.22l21.816 50.72 8.303-54.587c-1.835-14.29-9.452-21.24-16.614-21.352z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spill;

impl IconShape for Spill {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M221.406 138.375c-43.425 0-69.357 30.627-6.375 30.625 43.426-.002 69.36-30.627 6.376-30.625zm136.688 17.438c-43.147 0-74.466 9.892-82.938 27.468-83.55-2.5-152.875 26.708-134.906 46.72 2.342 2.607.3 5.57-5.25 5.844-138.955 6.827-164.758 69.375-30.97 88.75 5.662.822 6.792 4.934 4.095 7.594-32.494 32.043 38.39 55.5 143.656 55.5 107.528 0 165.73-18.51 147.19-48.5-4.092-6.618-2.013-11.31 7-12.25 142.247-14.794 106.15-95.06-16.345-102.782-24.96-1.57-19.04-13.427-9.938-14.594 102.117-13.078 39.97-53.75-21.593-53.75zm93.625 203.28c-35.633.655-53.357 24.423 1.436 28.22 40.297 2.792 64.353-23.978 5.906-28.032-2.518-.173-4.968-.23-7.343-.186zm-344.345 40.313c-68.37.002-99.163 49.348 0 49.344 68.37-.002 99.163-49.348 0-49.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpinalCoil;

impl IconShape for SpinalCoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M268 21.47l-.094 32.06c-7.55.48-15.157 1.345-22.78 2.595l12.81 57.125c13.747-1.546 27.14-1.392 40.002.344L308.813 55c-7.306-1.024-14.718-1.647-22.22-1.844l.094-31.656L268 21.47zm-71.97 14.436l-17.593 6.344 10.72 29.813c-2.8 1.14-5.596 2.324-8.376 3.562-2.896 1.29-5.748 2.652-8.56 4.063l28.874 49.25c12.942-5.666 25.774-9.865 38.375-12.625l-12.657-56.47c-6.72 1.634-13.44 3.58-20.125 5.782l-10.657-29.72zm168.22 1.782L351.03 66.28c-7.723-3.17-15.684-5.734-23.842-7.75l-10.938 58.72c5.633 1.485 11.136 3.262 16.5 5.375 8.172 3.22 16.09 7.14 23.688 11.78L389.5 86.438c-6.967-4.408-14.15-8.512-21.53-12.28L381.22 45.5l-16.97-7.813zM118.906 76.156l-14.53 11.72 20.06 24.905c-5.744 5.305-11.176 10.914-16.28 16.782l43.688 33.313c9.49-9.746 20.367-18.35 32.53-25.47l-28.468-48.593c-5.954 3.698-11.69 7.67-17.187 11.907l-19.814-24.564zM442 86.78l-21.844 22.47c-4.9-4.28-9.975-8.367-15.22-12.25l-33.186 48.125c11.065 8.77 21.282 19.29 30.438 31.688l46.468-37.907c-4.696-5.856-9.678-11.462-14.906-16.812l21.656-22.28L442 86.78zM96.5 144.188c-4.35 5.972-8.4 12.162-12.125 18.532l-28.28-14.032-8.282 16.75 27.812 13.78c-3.49 7.318-6.577 14.844-9.25 22.5l51.438 14.688c5.324-14.068 12.645-27.335 21.78-39.344L96.5 144.188zm363.25 9.782l-47.188 38.468c4.79 8.02 9.2 16.673 13.188 25.968 19.406 12.31 48.29-.43 55.688-23.187-1.407-3.563-2.925-7.057-4.5-10.5l21.093-11.157-8.75-16.532-20.81 11.032c-2.738-4.83-5.65-9.523-8.72-14.093zm-176.438 41.093c-1.41.01-2.802.08-4.187.187l-1.594 26.656c8.773 1.175 16.902 4.41 24.25 9.188l21.19-25.5c-13.22-6.88-26.925-10.635-39.658-10.53zm-23.125 4c-18.62 5.896-36.06 18.262-45.156 39.312 14.578-9.77 29.515-15.014 43.782-16.563l1.375-22.75zm112.594 11.25l-20.655 16.5c-4.207-4.078-8.63-7.814-13.188-11.188L316 243.22c7.872 8.543 14.178 18.956 18.563 30.124l38.53-20.406c-2.615-4.25-5.446-8.314-8.468-12.188l19.844-15.844-11.69-14.594zm-311.81 9.312c-1.83 7.102-3.288 14.296-4.407 21.563l-30.407-3.563L24 256.188l30.5 3.562c-.48 7.082-.63 14.214-.406 21.344l53.437-7.313c-.077-13.44 1.537-26.732 4.72-39.53l-51.28-14.625zm320.75 49.906l-41.75 22.095c2.354 11.546 2.794 23.143 1.374 34.313l49.094 7.187c.527-4.438.864-8.905 1-13.375.084-2.763.05-5.505-.063-8.22l24.594-3.842-2.876-18.47-24 3.75c-1.677-8.15-4.176-15.993-7.375-23.437zm-272.97 22.94l-53.22 7.28c.787 6.57 1.905 13.13 3.314 19.656l-30.157 10.938 6.344 17.562 28.564-10.344c1.765 5.664 3.783 11.274 6.062 16.844.944 2.304 1.944 4.572 2.97 6.813l47.186-26.44c-.003-.008.004-.02 0-.03-5.686-13.895-9.322-28.114-11.062-42.28zm228.5 51.717c-3.17 9.706-7.852 18.854-13.97 27.063l40.626 31.344c3.32-4.693 6.352-9.59 9.094-14.625l26.188 10.124 6.75-17.438L380.906 371c2.49-6.343 4.566-12.852 6.188-19.47l-49.844-7.342zm-209.156 7.344L81.28 377.814c4.008 6.795 8.43 13.21 13.19 19.28l-22.532 20.47 12.593 13.843 22.22-20.22c5.807 5.975 11.992 11.494 18.5 16.533l29.28-44.44c-10.256-8.77-19.214-19.41-26.436-31.75zm182.5 33.533c-7.464 6.628-16.195 12.224-26.125 16.468-1.852.792-3.704 1.55-5.564 2.25l19.03 49.44c2.413-.914 4.827-1.884 7.22-2.908 5.052-2.16 9.89-4.608 14.53-7.28l17.845 26.75 15.533-10.344-17.844-26.782c6.1-4.725 11.74-9.923 16.905-15.5l-41.53-32.094zm-140.938 9.25l-29.03 44.093c6.273 3.87 12.782 7.32 19.468 10.375l-12 28.814 17.28 7.156 12.095-29.094c7.373 2.475 14.902 4.475 22.56 5.97l5.44-52.595c-12.664-2.948-24.748-7.904-35.814-14.717zm91.313 14.812c-12.438 2.78-24.9 3.67-37.033 2.75l-5.375 52.344c7.43.652 14.94.85 22.47.56l1.812 28.064 18.656-1.188-1.844-28.594c6.843-.984 13.67-2.353 20.47-4.156l-19.157-49.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpineArrow;

impl IconShape for SpineArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M14.563 15.406v104.75L72.97 135.72l52.436 52.468 34.72-18.594 8.81 16.47-86.186 46.155 119.875 33.155 84.28 84.313 20.22-7.594 6.563 17.5-65.438 24.594L491 494 381.812 252.72l-26.03 68.31-17.47-6.655 8.938-23.47-21.406-21.436-33.28-120.314-2.72 5.063-41.625 77.843-16.5-8.813 16.686-31.22-46.375-46.374-33.06-119.53-43.064 80.78-16.5-8.78 15.688-29.407L71.78 15.405H14.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpinningBlades;

impl IconShape for SpinningBlades {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.375 17.094c7.244 33.827-9.717 62.662-30.344 72.656-40.512-39.534-95.873-63.906-156.874-63.906-124 0-224.72 100.72-224.72 224.72.002 12.353 1.016 24.464 2.94 36.28 5.123-22.73 11.156-44.567 17.843-65.72.002-.008-.004-.02 0-.03C63.49 121.188 149.265 44.53 253.155 44.53c54.75 0 104.47 21.3 141.344 56.064-1.904 7.596-4.423 15.604-7.47 23.875-32.876-33.995-78.9-55.19-129.842-55.19-86.62 0-159.115 61.164-176.657 142.595l3.75 7.78c10.117-16.993 20.68-33.225 31.532-48.936 27.73-49.41 80.598-82.75 141.375-82.75 48.77 0 92.437 21.46 122.125 55.468-3.45 7.78-7.26 15.637-11.406 23.468-24.99-34.106-65.29-56.312-110.72-56.312-60.896 0-112.65 39.874-130.56 94.875l.374 1.968c14.06-14.37 28.43-27.556 43-40 21.655-23.47 52.667-38.157 87.188-38.157 42.452 0 79.623 22.21 100.562 55.657-14.732 24.656-32.192 47.79-50.125 64.97l-18.938-14.626-11.406 14.814 23.158 17.875-46.72 60.405 14.782 11.438 46.75-60.407 23.188 17.906 11.406-14.812-20.938-16.156c11.89-21.11 35.404-29.97 46.125-14.844 74.936-51.748 179.996-131.883 65.345-234.406zM241.937 172.72l-46.75 60.436L172 215.25l-11.406 14.78 20.937 16.19c-11.89 21.11-35.402 29.968-46.124 14.843C60.472 312.81-44.59 392.945 70.062 495.469c-7.92-36.983 13.087-67.99 36.188-74.94 39.41 34.102 90.772 54.75 146.906 54.75 124 0 224.72-100.72 224.72-224.717 0-11.354-.84-22.503-2.47-33.407-5.543 24.092-12.11 47.15-19.375 69.5-17.035 96.65-101.29 169.938-202.874 169.938-51.942 0-99.347-19.163-135.562-50.813 2.672-9.376 6.182-19.278 10.406-29.436 32.822 33.565 78.604 54.406 129.188 54.406 82.997 0 153.034-56.144 174.187-132.47L426 287.095c-10.52 17.824-21.513 34.807-32.844 51.22-28.88 44.414-78.95 73.748-135.97 73.748-48.1 0-91.25-20.868-120.905-54.062 4.058-8.375 8.508-16.785 13.282-25.063 25.165 31.768 64.04 52.188 107.625 52.188 55.623 0 103.587-33.243 125.125-80.906L380.344 294c-12.463 13.042-25.167 25.128-38.063 36.53-21.528 22.162-51.676 35.908-85.092 35.908-40.265 0-75.76-19.976-97.188-50.563 13.052-20.2 27.723-38.827 42.78-53.25l18.97 14.656 11.406-14.81-23.187-17.908 46.75-60.406-14.783-11.437z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpinningRibbons;

impl IconShape for SpinningRibbons {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.027 40.096C93.14 60.823 48.49 138.916 70.605 218.02c1.862-60.04 52.693-111.227 115.96-112.48l-17.536-65.444h-.003zm192.815 7.58l-181.95 315.15C84.5 330.016 29.234 229.346 51.378 135.12c-67.885 114.69-33.277 255.173 73.343 323.26l-.084.145 3.934 2.272c1.443.883 2.89 1.762 4.358 2.62l.045-.08 7.847 4.532 181.528-314.413c98.517 30.923 156.16 133.487 133.623 229.383 69.6-117.59 31.477-262.31-81.553-328.295l-.172.297-12.408-7.166zm72.652 256.68c-1.86 60.038-52.694 111.226-115.96 112.478l17.536 65.443c75.89-20.722 120.538-98.818 98.424-177.92z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpinningSword;

impl IconShape for SpinningSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.438 19.375c-47.71 0-95.422 14.41-136.094 43.22 13.022 15.09 26.314 30.127 39.156 44.468 16.038-11.682 32.482-18.857 48.688-22.282l9.875-9.874 6.625-6.625 6.593 6.626 7.72 7.72c78.735 5.644 140.54 95.133 101.406 175.53l118.5 118.5c54.447-90.673 42.59-209.88-35.625-288.094C377.17 42.45 316.806 19.376 256.44 19.376zM66.5 27.063L29.53 64.03c37.95 29.834 80.152 65.906 115 96.845l7.407 6.594-7 7-47.375 47.374L117.25 241.5l34.5-34.5 268.125 268.156 77.344 19.28-21.845-74.78-26.977-26.978.04-.053-117.75-117.75-.032.045L207.25 151.5l37.094-37.094-19.656-19.656-46.47 46.438-6.968 6.937-6.563-7.28C133.5 106.334 96.644 64.837 66.5 27.062zm-1.28 90.062C-1.735 209.41 6.38 339.035 89.593 422.25c52.93 52.93 124.633 75.448 193.562 67.625-131.5.997-246.804-128.563-207.125-263.156l-4.874-4.876 6.594-6.625 3.25-3.25c7.028-18.512 17.076-37.017 30.5-55.22-14.87-12.992-30.55-26.433-46.28-39.625zm120.374 46.03c12.283 0 22.22 9.968 22.22 22.25 0 2.224-.332 4.35-.94 6.376l236.94 236.97-13.19 13.188L194.47 205.813c-2.72 1.185-5.72 1.843-8.876 1.843-12.284 0-22.25-9.964-22.25-22.25 0-12.285 9.966-22.25 22.25-22.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralArrow;

impl IconShape for SpiralArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M100.44 11.777V63.3l68.027 68.024v-51.52L100.44 11.776zM36.8 26.087l-10.538 10.26L153.64 163.565c2.86-4.157 5.824-8.042 8.887-11.75L36.8 26.087zm-24.71 74.044l68.025 68.024h51.676L63.683 100.13H12.09zM256.006 124.1c-24.66.192-51.354 10.48-75.348 34.718-34.8 35.155-56.222 127.215-18.105 159.436-7.546-35.653-5.986-77.632 26.35-119.467l.035.033c.61-.843 1.23-1.655 1.853-2.46 1.778-2.217 3.668-4.433 5.624-6.647.645-.697 1.29-1.393 1.945-2.065l-.063-.063c1.287-1.413 2.606-2.825 3.97-4.236 43.752-45.324 119.946-3.634 89.938 65.992h.29c-2.88 6.677-6.74 13.608-11.702 20.742l-69.31-69.31c-3.294 3.37-6.317 7.044-9.17 11.406l70.322 70.234c-8.92 15.136-13.956 30.713-15.79 45.766h-.263c-2.245 18.27.347 35.66 6.412 50.576 4.115 10.427 9.893 19.66 16.947 27.103l.156-.27c5.984 6.286 12.834 11.354 20.29 14.866 66.005 31.093 128.726 54.608 196.23 76.507l-.17-.443.546.222-7.408-18.144C458.28 396.92 427.07 318.55 403.172 235.316l-.002.006c.26 43.795-9.063 78.84-23.848 106.828l30.157 30.41c3.617-5.407 6.83-11.114 9.633-17.115l43.762 107.176L354.9 418.538c6.27-2.965 12.17-6.26 17.705-9.865l-29.255-29.268c-23.927 6.417-50.26-12.102-52.73-42.904-.008-.123-.02-.244-.03-.367-.06-.83-.097-1.67-.123-2.516-.006-.21-.02-.417-.024-.63-.02-1.007-.02-2.024.012-3.055.257-8.665 1.45-17.172 3.838-25.893l87 86.89 6.375 6.38c3.645-3.183 7.075-6.54 10.29-10.064l-28.528-28.53-69.84-69.84c4.99-11.8 12.255-24.317 22.402-38.37 19.266-26.68 21.558-53.408 13.063-75.332-.214-.565-.44-1.123-.668-1.682l-.012-.027c-11.07-27.104-38.573-46.637-70.787-49.108-2.502-.19-5.03-.28-7.582-.26z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralBloom;

impl IconShape for SpiralBloom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M261.826 23.342c-2.1.014-4.186.044-6.262.09-116.232 2.562-195.636 54.744-216.322 111.95-11.82 32.69-6.027 67.12 23.305 99.196 19.405 21.22 49.525 41.114 91.818 57.072-12.872-43.693-18.494-87.863-11.482-132.302l.3.047c1.81-10.37 6.832-20.448 14.112-29.23 29.632-35.742 94.642-59.715 158.1-48.42 77.656 13.824 128.62 37.135 158.263 65.618-2.933-26.51-18.825-51.028-43.174-71.595-31.773-26.84-77.54-45.766-122.914-50.266-15.788-1.566-31.05-2.257-45.744-2.16zm23.666 74.465c-47.91-.14-94.163 20.588-113.81 44.287-5.785 6.978-9.38 13.613-10.584 20.13l.246.038c-.25 1.582-.48 3.165-.696 4.748-.01 4.96 1.412 9.884 4.372 14.87 7.767 13.083 29.18 27.893 70.695 38.186 13.2 3.273 25.47 5.01 36.783 5.705l12.764-82.262 9.785 2.246c29.88 6.86 49.564 16.87 60.648 29.853 5.542 6.492 8.828 14.005 9.086 21.674.05 1.447-.01 2.882-.173 4.302 2.764 38.157 1.664 75.476-5.703 111.287 59.32-12.15 102.336-40.655 118.74-71.587 13.41-25.282 11.35-51.275-13.218-77.035-24.568-25.76-73.307-50.04-152.307-64.102-8.828-1.57-17.756-2.313-26.628-2.34zm15.12 68.66l-9.23 59.488c5.397-.3 10.47-.875 15.16-1.705 18.506-3.274 31.014-10.577 36.177-17.23 1.707-2.2 2.666-4.21 3.1-6.157-.028-.372-.05-.742-.078-1.115l.274-.02c.073-.61.108-1.214.088-1.818-.098-2.892-1.232-6.198-4.622-10.168-5.937-6.955-19.125-15.1-40.87-21.275zm-142.034 37.21c.62 31.614 7.182 63.427 17.713 95.532 16.043 5.048 33.555 9.58 52.636 13.472 39.913 7.48 77.113 7.98 110.115 3.54 6.515-28.052 8.834-57.48 8.147-87.95-9.52 6.876-22.23 11.698-37.39 14.38-21.557 3.814-48.29 3.063-78.578-4.447-34.638-8.588-58.302-20.168-72.642-34.527zm-129.83 15.538C37.45 404.402 137.104 495.61 258.788 495.61c123.68 0 224.628-104.89 230.415-237.204-37.837 57.903-139.786 95.892-263.777 72.637l-.072-.014-.073-.014c-22.46-4.58-42.96-10.024-61.608-16.205l-1.62.57c-.147-.418-.29-.837-.435-1.255-51.585-17.38-88.692-40.5-112.863-66.934-8.195-8.96-14.842-18.344-20.006-27.975z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralBottle;

impl IconShape for SpiralBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.594 21.25l17.375 62.563h98.56l17.376-62.563H190.594zm22.594 81.25l.03.125h-23.124c-23.79 0-22.498 45.594 0 45.594h21v59.06c-67.386 19.787-116.438 81.935-116.438 155.782 0 53.72 25.992 101.45 66.188 131.094h192.562c40.198-29.645 66.78-77.375 66.78-131.094.002-54.742-27.18-103.04-68.748-132.437-.024-.017-.04-.046-.063-.063-55.29-29.194-128.52-4.296-164.53 57.907-31.025 53.588-17.075 119.058 28.56 145.592 31.835 18.51 76.706 9.554 96.94-27.406 4.657-8.508 5.398-21.25 2-33.594-3.4-12.343-10.81-23.887-19.783-30.218-11.484-8.102-34.814-8.012-48 1.344l-10.812-15.25c20.517-14.558 49.846-15.307 69.594-1.375v.03c13.488 9.52 22.6 24.56 27 40.532 4.398 15.973 4.204 33.257-3.594 47.5-25.225 46.078-81.985 58.277-122.72 34.594-55.635-32.35-70.914-109.68-35.343-171.126 19.487-33.662 49.063-57.925 81.75-70.22h50.97V148.22h19.437c25.968 0 24.433-45.595 0-45.595H301.28l.033-.125h-88.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralShell;

impl IconShape for SpiralShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M485.096 39.047c-7.14.375-49.73 5.767-52.11 23.037-9.77-2.646-19.678-1.8-26.85 3.115-5.393 3.694-8.374 9.102-9.01 15.17-11.383-2.674-22.25-1.52-29.87 4.1-6.4 4.722-9.476 11.842-9.45 19.932-4.608-1.094-9.15-1.7-13.51-1.777-.584-.01-1.163-.01-1.74-.002-8.644.127-16.51 2.363-22.69 6.922-6.807 5.02-10.638 12.188-11.67 20.422-22.614-6.658-44.65-5.202-59.692 5.894-12.258 9.043-17.78 22.947-17.025 38.652-46.313-12-87.766-.726-90.414 55.246-4.322 91.366-104.763 126.175-107.828 254.664 71.16-106.47 255.07-279.767 239.6-137.213-8.058 74.248-92.804 24.706-211.91 115.454 108.46-74.824 224.278-15.26 232.486-121.47 19.974 10.955 29.233 6.274 46.232-6.266 24.394-17.993 27.178-41.515 16.985-65.127 6.975-1.565 13.346-4.3 18.792-8.318 16.943-12.497 21.037-34.275 13.43-57.277 7.5-.54 14.307-2.75 19.787-6.79 11.34-8.366 14.457-22.676 10.042-37.99 7.16.034 13.692-1.72 18.775-5.47 9.79-7.222 11.822-20.045 6.822-33.39 4.467-.53 8.62-1.952 12.12-4.35 8.628-5.912 11.097-16.204 7.616-26.59 17.763-3.348 20.07-43.588 21.08-50.578z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralTentacle;

impl IconShape for SpiralTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M264.19 22.39c-.554.012-1.108.02-1.66.038v-.002c-52.9 1.676-105.277 23.03-147.286 61.365-25.217 124.222 24.038 247.992 119.043 321.222-17.144-25.713-30.106-53.245-36.69-80.772-49.914-107.69-20.766-234.732 66.592-301.85zm30.68 1.706c-77.615 46.415-115.48 140.617-99.183 232.402 4.403-20.76 13.934-40.557 29.69-58.478 2.05-2.333 4.138-4.53 6.256-6.616 38.873-59.723 101.832-93.466 165.105-93.34 18.225.034 36.475 2.884 54.182 8.727-33.106-39.478-81.564-64.963-134.35-78.47-7.188-1.84-14.43-3.238-21.7-4.224zm-202.356 83.34c-10.875 12.882-20.737 27.128-29.34 42.685-22.313 40.347-37.12 88.304-42.287 137.6 2.763 107.585 83.768 194.647 188.556 206.68h215.01c-33.88-4.424-61.725-8.88-86.846-17.087-162.98-45.706-265.025-204.716-245.093-369.877zm303.812 9.142c-42.554-.115-85.028 16.918-118.607 48.483 12.745-3 25.603-3 37.925-.412l.005.002c84.882 6.24 155.457 65.86 176.76 144.68 7.134-34.17 7.018-73.436-.77-115.435-3.985-21.498-11.093-40.84-20.73-58.13-23.626-12.9-49.116-19.118-74.584-19.187zm-27.38 79.465c10.36 11.516 18.504 25.568 23.382 41.437 29.622 70.347 13.426 151.21-39.723 197.034 5.042.13 10.118-.122 15.192-.803 53.854-7.224 91.762-38.66 112.2-85.075-4.152-68.78-48.96-127.365-111.052-152.592zm-65.118 53.037c-14.914-.015-30.54 9.213-39.687 25.06-.064.11-.12.224-.185.337-21.33 35.273-19.836 71.004-5.19 99.734 27.39 4.356 56.023-4.833 79.274-23.597-18.987 3.46-38.792-.936-53.186-13.46 16.658 3.132 35.604-6.325 46.072-24.456 12.728-22.046 8.095-48.547-10.348-59.195-5.187-2.995-10.914-4.416-16.75-4.422zm84.233 69.21c-24.04 46.008-69.416 76.152-116.24 75.737 14.265 17.256 33.723 30.236 55.137 36.452 37.113-24.273 58.677-66.55 61.104-112.19zM22.688 378.01c6.39 41.997 20.944 82.144 45.07 116.392h71.77c-51.79-23.142-93.474-64.69-116.84-116.392z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpiralThrust;

impl IconShape for SpiralThrust {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M36.633 19.08L15.506 40.207 99.51 124.21l21.127-21.126L36.633 19.08zM204.64 45.51L42.034 208.115l24.87 24.87c19.88-29.31 42.286-56.78 66.806-82.09l258.89 258.89 13.214-13.215-258.9-258.9c25.565-24.827 53.23-47.375 82.594-67.29l-24.87-24.87zm-17.068 80.12c-4.37 3.738-8.69 7.543-12.955 11.41l262.6 262.605 27.838 69.77-69.772-27.835L132.73 179.025c-3.858 4.27-7.655 8.596-11.388 12.98l15.908 15.907c-11.892 19.5-16.246 39.67-14.814 58.34-3.69 59.48 66.362 99.08 130.736 57.582l69.14 69.14c-23.845 8.237-51.302 13.04-82.884 12.856l-.008.012c87.233 25.69 168.06 59.824 253.518 93.443-.018-.07-.038-.145-.055-.217l3.037 1.21-7.477-18.737c-14.61-55.61-36.398-119.265-54.95-178.485-9.992-31.56-67.812-54.614-110.876-42.38l-89.86-89.86c29.51-11.725 58.15-10.98 83.57-5.598-20.15-23.84-63.71-24.393-102.114-12.947l-26.64-26.64zm-23.54 109.063l65.708 65.71c-45.45 8.77-74.317-29.476-65.71-65.71zm190.753 58.15c28.89 1.334 42.642 19.908 40.094 40.094l-40.095-40.093z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Splash;

impl IconShape for Splash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M230.406 14.656c-11.74.595-21.094 10.332-21.094 22.22 0 12.27 9.948 22.187 22.22 22.187 12.27 0 22.218-9.917 22.218-22.188 0-12.27-9.948-22.22-22.22-22.22-.382 0-.745-.018-1.124 0zm119.5 75.5c-14.066 0-25.47 11.402-25.47 25.47.002 14.066 11.404 25.468 25.47 25.468 14.067 0 25.47-11.402 25.47-25.47 0-14.066-11.403-25.468-25.47-25.468zM231.594 104.25c9.608 135.475-16.43 339.177-104.03 143.063 43.005 161.424-1.16 193.905-82.158 134.375C92.892 428.228 96.6 446 93.438 490.063h87.53c6.024-134.79 170.218-112.52 160.97 0h61.593c-2.084-64.2 19.595-109.802 79.72-169.063-61.48 49.15-138.108 86.467-125.438-41.188-48.405 139.543-115.11-25.45-126.218-175.562zM390.5 163.313c-19.997 0-36.22 16.22-36.22 36.218 0 19.998 16.223 36.22 36.22 36.22s36.188-16.222 36.188-36.22c0-19.996-16.19-36.218-36.188-36.218zM49.28 304.905c-14.065 0-25.468 11.402-25.468 25.47 0 14.066 11.403 25.468 25.47 25.468 14.066 0 25.468-11.402 25.468-25.47 0-14.066-11.402-25.468-25.47-25.468z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SplashyStream;

impl IconShape for SplashyStream {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M26.883 21.834C102.82 75.45 177.283 165.46 199.53 258.05 160.38 175.252 85.277 94.86 23.06 68.24v35.356c199.378 131.08 141.663 248.82 332.307 393.043h57.326C350.65 457.5 294.07 404.046 257.266 324.38l-.012-.015v-.01l.012.024c60.613 77.353 142.26 138.53 237.125 172.26h.557V362.317c-105.79-32.628-179.012-83.115-223.68-138.996 55.382 48.512 146.278 89.87 223.68 102.787V275.3C401.507 267 302.38 216.88 233.89 153.82c-41.93-38.608-76.697-89.898-141.33-131.988H26.882zM379.75 124.93c-13.29 0-24.064 10.772-24.064 24.062 0 13.29 10.774 24.065 24.064 24.065 13.29 0 24.063-10.775 24.063-24.065 0-13.29-10.773-24.062-24.063-24.062zM28.875 159.018c57.203 45.017 125.82 141.277 113.432 200.084-2.225-.825-4.62-1.297-7.13-1.297-11.35 0-20.55 9.2-20.55 20.55 0 11.348 9.2 20.55 20.55 20.55 8.03 0 14.966-4.618 18.346-11.333 6.737-9.864 8.02-29.06 6.88-48.65-4.168-71.813-54.245-147.98-131.528-179.904zm420.65 6.11c-17.79 0-32.63 12.623-36.05 29.4-29.74 7.17-71.18-.14-102.946-15.383 41.363 34.55 87.107 53.456 131.75 58.85 2.342.47 4.765.72 7.245.72 20.322 0 36.793-16.475 36.793-36.795s-16.47-36.793-36.793-36.793zM170.418 287.962c11.662 34.126 16.555 79.606 9.85 114.375-8.134 5.784-13.446 15.28-13.446 26.02 0 17.625 14.288 31.913 31.914 31.913s31.914-14.287 31.914-31.913c0-6.315-1.84-12.195-5.005-17.15l-55.227-123.244z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SplitBody;

impl IconShape for SplitBody {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.438 19.594v145.22h.03V330.28l-10.093-.81c-27.058-2.19-56.044-5.276-88.03-9.72-.1 5.036-.158 10-.19 14.875h44.501l.656 8.625 11.344 151.094h97.688l10.03-151 .563-8.72h42.344c-.01-36.5-.335-78.42-7.874-112.624-4.087-18.543-10.27-34.625-18.97-46.188-8.698-11.562-19.477-18.87-34.967-21.25l-16.033-2.437 10.188-12.656c10.106-12.556 16.875-30.444 16.875-50.407 0-39.556-25.013-69.376-53.03-69.376-2.638 0-4.353-.113-5.032-.093zM231.75 26.78c-16.906 11.36-29.344 34.582-29.344 62.282 0 20.463 7.124 38.57 17.688 51.188l10.28 12.25-1.718.313c1.025.206 2.077.422 3.094.625V26.78zM18.625 116.657v36.78c68.436 24.506 143.668 44.89 213.156 56.408v-37.438c-56.514-11.077-124.994-28.567-213.155-55.75zM490 134.562c-7.485 8.574-15.784 16.955-25.906 24.407 3.745 14.43 2.986 27.84-2.875 39.405-8.59 16.945-26.72 27.95-51.126 34.22l-.22.06-.187.032c-11.353 2.378-23.56 4.027-36.468 5.032 3.345 22.975 4.38 47.274 4.686 70.31 6.372-1.126 12.395-2.4 18.03-3.842 35.658-9.13 56.96-23.943 70.533-42.47 23.152-31.603 23.82-77.4 23.53-127.156zm-42.72 34.844c-4.923 2.54-10.207 4.874-15.967 6.938-18.555 6.645-41.535 10.554-71.22 10.75 4.08 9.59 7.164 19.987 9.563 30.875.084.38.168.772.25 1.155 12.848-.86 24.825-2.41 35.75-4.688 21.316-5.513 33.686-14.26 38.875-24.5 2.878-5.676 3.99-12.407 2.75-20.53zM18.626 173.28v103.657c87.692 18.675 154.946 27.856 213.156 32.938v-81.063c-69.586-11.302-144.43-31.31-213.155-55.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SplitCross;

impl IconShape for SplitCross {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M96.375 20.094l30.813 40.75 130.28 130.28L375.313 73.282l40.22-53.186-159.594 108.094L96.375 20.094zM452.22 59.53l-113.564 76.845-74.562 74.563-6.594 6.625-6.625-6.625L176.937 137 62.594 59.625l80.844 119.47 69.656 69.655 6.594 6.594-6.594 6.625-74.813 74.81L61.563 450.19l120.75-81.688 68.657-68.656 6.593-6.625 6.625 6.624 69.562 69.562 119.53 80.906-77.374-114.343-73.937-73.94-6.595-6.592 6.594-6.625 68.56-68.563 81.69-120.72zm-430 34.69l108.124 159.593L22.22 413.375l53.468-40.438L193.25 255.375 62.812 124.937 22.22 94.22zm470.624 3.155l-53.22 40.22-117.812 117.843 130.47 130.468 40.53 30.656L384.72 256.97 492.843 97.374zm-235.28 222.28l-117.69 117.69-40.343 53.342 159.595-108.093 159.563 108.094L388 450.094 257.562 319.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Splurt;

impl IconShape for Splurt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M223.78 18.563c-13.577.267-26.252 13.425-16.81 33.062 17.045 35.465 29.126 53.574 45.936 81.906.43-31.648-.522-56.963-6.25-92.436v-.032c-2.586-16.03-12.967-22.695-22.875-22.5zm199.876 3.812c-1.272-.007-2.56.026-3.906.125-57.393 4.222-115.434 43.967-128.78 88.594 23.13-27.564 75.967-45.43 133.186-41.72 42.626 2.766 38.924-46.78-.5-47zM100.28 80.72c-7.754.096-15.632.908-23.5 2.468-57.75 11.446-46.283 90.25 9.19 67.062 63.716-26.63 102.673-15.477 131.78 20.688 1.942-46.08-54.322-91.015-117.47-90.22zM368.22 100c-3.29.052-6.453.287-9.44.75-41.463 6.433-62 23.806-67.374 76.125 35.677-42.483 73.564-36.43 127.656 34.53 47.092 61.784 110.826-19.008 53.594-69.124-28.248-24.736-72.65-42.786-104.437-42.28zM143.28 207.656c-26.534-.027-49.802 1.334-80.843 6.344C24.443 220.13 39.03 270.016 73 253.688c35.465-17.046 53.578-29.124 81.906-45.938-3.956-.054-7.834-.09-11.625-.094zm81.282 17.188C159.165 234.252 98.376 273.34 36.095 347.75c-50.007 59.747 32.842 116.914 70.75 46.97 43.54-80.347 77.52-124.72 117.72-169.876zM318.625 228c34.243 46.835 48.228 65.114 59.22 150.72 9.567 74.527 102.045 37.72 78.342-31.94-29.52-86.757-74.398-104.678-137.562-118.78zm-43.47 68.594c-27.59 59.063-36.883 87.625-45.75 139.875-12.43 73.245 83.39 75.698 81.064-.19-1.33-43.354-17.064-91.402-35.314-139.686zm-56.592 12.344c-27.555 39.625-44.235 69.134-65.813 110.312-20.713 39.53 35.78 60.664 44.22 17.78 8.812-44.765 17.524-90.11 21.593-128.092z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spoon;

impl IconShape for Spoon {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M67 20.31c-42.25.41-79.45 58.42-19.84 72.19C151 116.5 232 178.6 295.1 275.6c8.2 16.3 14.4 32.5 11.3 48.8-4.4 15.9-5.3 32-3.2 45.9 4.1 25 16.5 52.2 37.8 75.4 21.2 23.2 46.9 37.8 71.4 44 24.5 6.1 49 4.3 65.4-10.7 16.5-15.1 18.6-38.2 12.9-61.7-5.7-23.5-20-48.8-41-71.7-21-23-44.9-39.5-67.8-47.3-8.2-2.8-16.5-4.6-24.4-5-13.6-5.5-23.6-17.1-32.6-30.5C269.3 154.7 186.7 84.04 90.4 26.66c-7.62-3.79-16.14-6.35-23.4-6.35zM322.2 335.8c24.6 61.8 73.3 110.8 127.6 137.5-8.4 1.5-18.9 1.1-30.3-1.7-21-5.3-44.5-18.3-63.8-39.3-19.3-21.1-30.7-46.4-34.2-67.9-1-9.7-1.3-20.1.7-28.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpotedFlower;

impl IconShape for SpotedFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M318.443 20.05c-35.054 22.62-70.676 44.575-94.494 80.305 1.84 20.152 6.3 40.378 12.26 60.776 6.78-1.562 13.837-2.39 21.083-2.39 4.996 0 9.902.397 14.69 1.153l13.074-57.754 18.228 4.124-13.217 58.386c10.45 3.907 20.03 9.623 28.348 16.768 12.973-13.382 26.736-26.55 41.686-39.248-2.47-44.513-18.73-84.426-41.66-122.12zM95.105 82.93c-4.194.03-8.39.143-12.584.334-.026 41.063 4.614 82.128 23.6 123.193l.28-.514c19.433 10.594 39.135 19.157 59.184 26.327 3.215-14.427 9.76-27.616 18.78-38.717l-42.315-41.37 13.063-13.365 42.407 41.46c6.24-5.16 13.158-9.53 20.593-12.958-5.698-20.025-10.117-40.194-12.314-60.607-36.898-17.73-73.796-24.04-110.695-23.783zm283.684 67.988c-17.12 14.04-32.698 28.9-47.347 44.168 6.66 8.55 11.874 18.276 15.278 28.807l58.425-17.47 5.353 17.903-59.838 17.893c.384 3.44.588 6.933.588 10.473 0 7.553-.904 14.9-2.598 21.942 20.105 3.92 40.636 8.17 61.682 13.217 34.68-21.748 61.017-54.22 80.818-95.096-37.012-23.792-73.78-39.46-112.36-41.838zM257.292 177.43c-8.303 0-16.275 1.352-23.734 3.816 2.61 1.022 5.216 2.703 7.706 5.172 19.073 18.918-9.468 46.314-27.246 27.242-5.5-5.898-6.807-12.563-5.436-18.398-16.255 13.787-26.555 34.364-26.555 57.43 0 14.676 4.178 28.338 11.392 39.894 1.525-2.995 3.973-5.486 6.928-6.988-5.333-3.38-9.084-9.344-8.786-17.84.756-21.57 25.068-26.888 35.903-14.74 1.74-7.702 8.115-14.288 19.342-14.366 26.86-.108 26.052 39.445-.005 38.53-6.296-.22-11.103-2.585-14.416-6.03-1.207 9.77-7.803 15.438-15.357 17.16.285.254.57.495.852.774 1.625 1.612 2.786 3.302 3.592 5.016 6.702-4.404 16.014-4.67 24.1 3.353 10.266 10.18 6.732 22.806-1.485 29.334 4.287.753 8.693 1.17 13.2 1.17 9.2 0 18-1.642 26.138-4.64-2.956-.954-5.867-2.77-8.535-5.632-10.233-10.977-5.966-24.597 3.126-30.584-3.73-16.403 9.658-32.33 25.472-32.07 6.19.1 12.747 2.68 18.795 8.68 3.455 3.428 5.753 7.06 7.088 10.72 2.06-6.88 3.182-14.175 3.182-21.74 0-41.678-33.587-75.264-75.264-75.264zm28.102 29.07c6.05-.037 12.075 3.525 14.334 11.822 5.558 20.425-24.708 27.875-29.326 7.858-2.742-11.885 6.15-19.626 14.99-19.68zm-184.34 17.77c-37.99 26.268-59.572 60.742-81.746 94.916 39.83 22.372 80.09 42.608 124.49 42.148 17.774-11.946 33.903-25.542 49.163-40.25-7.878-7.415-14.482-16.168-19.44-25.895l-48.61 14.535-5.354-17.907 47.17-14.105c-2.207-7.97-3.392-16.36-3.392-25.02 0-.444.01-.886.017-1.33-20.98-7.342-41.727-16.142-62.3-27.093zm241.3 68.275c-3.076 6.535-6.88 12.664-11.314 18.275l45.77 44.746-13.064 13.364-45.682-44.662c-6.43 5.468-13.6 10.09-21.337 13.685 5.73 22.515 9.804 45.504 11.037 69.084 37.863 18.185 78.275 23.618 120.172 21.64 1.908-43.788-3.597-85.35-22.723-122.827-21.327-5.084-42.254-9.35-62.858-13.305zm-134.2 40.184c-17.268 16.675-35.79 32.2-56.594 45.872 4.976 37.762 20.818 75.525 40.456 113.29 37.09-24.788 71.163-51.988 96.96-85.812-1.287-20.848-5.088-41.435-10.388-61.87-6.845 1.595-13.974 2.44-21.295 2.44-2.812 0-5.594-.13-8.344-.375l-13.75 60.73-18.225-4.126 13.607-60.11c-7.966-2.368-15.493-5.766-22.428-10.04z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpottedArrowhead;

impl IconShape for SpottedArrowhead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.738 91.984l-44.953 43.407L347.02 334.49 106.937 282.41 86.11 340.076l31.74 6.885c17.262-26.41 34.672-37.897 46.46-37.66 14.697.293 20.643 18.788 6.653 49.182l40 8.676c12.832-19.568 26.904-28.186 37.736-28.418 14.894-.32 23.648 15.194 14.622 39.776l36.32 7.88c10.957-16.7 23.525-24.058 33.77-24.353 14.735-.425 24.645 13.735 18.057 35.592l34.675 7.523c6.048-8.434 14.044-11.92 21.76-11.808 12.196.178 23.67 9.336 25.61 22.082l58.415 12.672-34.893-47.833c-20.736 6.587-43.784-15.976-29.04-39.81l-20.77-28.472c-29.56 26.453-58.67-1.16-31.717-42.793l.953.62-22.527-30.88c-32.722 32.725-62.694 4.207-31.944-43.29l.695.455-24.603-33.73c-40.068 46.554-71.425 16.504-32.3-43.927l.486.317-19.532-26.776zM18.422 98.43v48.922l111.99 73.162.004.002c12.928 8.465 23.864 11.452 31.51 11.38 7.646-.07 11.722-2.722 13.844-6.033 2.12-3.31 2.867-8.28-.225-15.425-3.092-7.147-10.292-16.033-23.244-24.514L18.423 98.43zm169.797 50.06l-23.853 23.03c14.216 9.68 23.56 20.468 28.33 31.496 4.975 11.497 4.727 23.69-1.193 32.93-5.92 9.238-16.932 14.522-29.404 14.638-11.7.11-24.933-3.91-39.104-12.645l-9.658 26.744 189.648 41.136L188.22 148.49z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpottedMushroom;

impl IconShape for SpottedMushroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.79 19.94c-1.113.01-2.235.035-3.364.072-18.073.592-38.343 4.687-60.492 12.228-6.6 2.247-13.355 4.803-20.25 7.643 5.777 4.047 10.723 9.305 14.445 15.752 15.826 27.41 2.008 63.22-28.12 80.61-30.128 17.393-68.052 11.454-83.88-15.956-4.142-7.176-6.234-14.927-6.554-22.772-8.494 5.725-17.074 11.703-25.748 17.988-18.724 13.568-27.91 28.318-30.978 44.058-3.068 15.74.144 33.086 8.783 51.29 17.278 36.407 56.368 75.03 101.75 104.75 40.37 26.437 85.746 45.896 124.04 52.255.244-39.607 32.617-71.84 72.282-71.84 8.225 0 16.13 1.406 23.506 3.957 8.588-43.02 13.357-80.58 14.78-112.948-6.94 5.09-15.19 8.19-24.097 8.19-13.612 0-25.708-7.203-33.91-17.765-8.2-10.562-12.95-24.593-12.95-39.896 0-15.304 4.75-29.336 12.95-39.898 8.202-10.562 20.298-17.766 33.91-17.766 4.228 0 8.31.696 12.173 1.97-9.818-26.852-25-43.73-44.324-53.073-12.53-6.06-27.268-8.996-43.953-8.852zM257.235 49.913c-19.538 9.386-40.043 20.892-61.25 34.28-2.863 9.317-2.21 18.888 2.33 26.753 9.81 16.986 35.56 22.27 58.35 9.116 22.79-13.155 31.085-38.097 21.277-55.08-4.332-7.504-11.782-12.71-20.707-15.068zm182.657 48.674c-7.108 0-13.77 3.612-19.147 10.537-5.376 6.925-9.023 17.053-9.023 28.436 0 11.38 3.647 21.507 9.023 28.432 5.377 6.925 12.04 10.54 19.147 10.54 7.107 0 13.767-3.615 19.144-10.54 2.05-2.64 3.848-5.75 5.29-9.215-.363-14.41-1.513-27.562-3.4-39.478-.398-2.52-.833-4.966-1.292-7.37-.198-.27-.395-.545-.598-.807-5.376-6.925-12.037-10.537-19.144-10.537zm-150.15 65.525c36.473 0 66.24 29.765 66.24 66.234 0 36.467-29.767 66.232-66.24 66.232-36.47 0-66.24-29.763-66.24-66.232 0-36.47 29.77-66.233 66.24-66.233zm0 18.69c-26.373 0-47.55 21.175-47.55 47.544 0 26.368 21.177 47.543 47.55 47.543 26.375 0 47.55-21.177 47.55-47.543 0-26.37-21.175-47.543-47.55-47.543zM162.907 287.153c-3.926 3.102-7.687 6.536-11.23 10.328 5.333 13.34 14.93 27.43 29.56 42.08l-13.222 13.206c-4.352-4.358-8.37-8.725-12.053-13.108-23.56 20.345-47.254 38.95-70.065 54.627-18.356 12.616-26.258 26.65-27.946 39.777-1.69 13.127 2.887 25.97 12.222 36.278 18.67 20.613 55.9 30.58 96.8 3.648 25.25-16.628 49.28-45.38 70.432-80.142-6.425-2.704-12.522-5.898-17.853-9.532l10.526-15.443c11.646 7.94 34.012 14.59 47.914 15.76 3.664-5.888 6.762-11.554 9.362-17-23.126-9.617-46.314-22.054-68.207-36.392-20.27-13.274-39.415-28.157-56.24-44.086zm262.8 27.56c-29.717 0-53.604 23.884-53.604 53.595 0 .545.025 1.084.04 1.625 18.367.917 34.128-1.867 45.963-8.405 12.857-7.1 21.756-18.28 25.887-36.845.47-2.106.92-4.186 1.37-6.268-6.08-2.383-12.706-3.703-19.657-3.703z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SpottedWound;

impl IconShape for SpottedWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.72 26.063c19.705 26.427 39.908 52.444 60.624 78.062l-2.094-2.313c17.598 21.752 1.602 40.513-21.22 49.75l54.595-9.53c7.027 8.33 14.1 16.613 21.25 24.843.02.022.043.04.063.063 12.397 17.627 25.564 47.344 12.593 69.375l-27.03 32.5 83.063-24.282c2.096 1.398 4.195 2.864 6.312 4.407 13.317 13.838 26.853 27.53 40.594 41.032 11.536 17.458 16.553 35.988 7.436 51.624l-2.594 3.875-18.656 27.936 59.563-33.625 56.186 43.595c2.026 1.73 4.028 3.466 6.063 5.188 12.72 17.327 7.17 40.85-3.658 63.656 15.817-20.828 30.072-36.215 55.125-21.626 27.585 21.723 55.973 42.798 85.188 63.22-25.98-33.45-52.485-66.058-79.563-97.814l24.157-52.75c-14.634 20.412-36.523 34.082-53.72 18.688-.332-.377-.668-.75-1-1.125L338.22 295l30.717-46-39.812 22.47c-34.053 9.793-85.132-63.132-58.375-97.845l-.406.344 23.28-36.564-89.75 38.813c-19.102-17.478-38.495-34.602-58.155-51.407l27.5-27.75-45.782 12.28C93.072 80.59 57.87 52.81 21.718 26.064zm58.53 75.75c-1.012-1.25-2.136-2.48-3.375-3.75l3.375 3.75zm55.594-55.563c-10.644 0-19.063 8.42-19.063 19.063 0 10.642 8.42 19.062 19.064 19.062 10.643 0 19.094-8.42 19.094-19.063 0-10.64-8.45-19.062-19.094-19.062zm76.53 49.406c-14.962 0-26.874 11.944-26.874 26.906 0 14.962 11.913 26.876 26.875 26.876s26.906-11.914 26.906-26.875c0-14.96-11.943-26.907-26.905-26.907zM45.625 99.47c-9.9 0-17.718 7.818-17.718 17.718s7.82 17.718 17.72 17.718c9.9 0 17.718-7.82 17.718-17.72 0-9.896-7.82-17.717-17.72-17.717zm280.907 60.405c-23.266 0-41.905 18.67-41.905 41.938 0 23.266 18.64 41.906 41.906 41.906 23.268 0 41.94-18.64 41.94-41.907 0-23.264-18.672-41.938-41.94-41.938zm-233.25 11.47c-20.326 0-36.593 16.297-36.593 36.624 0 20.326 16.267 36.593 36.594 36.593 20.328 0 36.595-16.267 36.595-36.594 0-20.325-16.267-36.626-36.594-36.626zm314.5 97.593c-17.14 0-30.842 13.704-30.842 30.843 0 17.14 13.704 30.814 30.843 30.814 17.14 0 30.814-13.673 30.814-30.813 0-17.136-13.673-30.842-30.813-30.842zm-224.624 3.437c-28.397 0-51.22 22.822-51.22 51.22 0 28.395 22.824 51.186 51.22 51.186 28.397 0 51.188-22.79 51.188-51.186 0-28.393-22.79-51.22-51.188-51.22zm279.281 96.563c-12.036 0-21.593 9.558-21.593 21.593 0 12.037 9.558 21.564 21.594 21.564 12.035 0 21.562-9.527 21.562-21.563 0-12.032-9.527-21.592-21.563-21.592zm-168.562 8c-22.49 0-40.53 18.04-40.53 40.53 0 22.492 18.04 40.5 40.53 40.5 22.49 0 40.53-18.008 40.53-40.5 0-22.487-18.04-40.53-40.53-40.53zm98.78 70.562c-10.676 0-19.124 8.45-19.124 19.125 0 10.676 8.45 19.125 19.126 19.125 10.676 0 19.125-8.45 19.125-19.125 0-10.674-8.448-19.125-19.124-19.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spoutnik;

impl IconShape for Spoutnik {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M399.22 15.03c-15.483 0-28.033 12.55-28.033 28.032 0 14.46 10.972 26.336 25.032 27.844l60.374 248.53c-18.185-15.346-40.6-23.03-63-23.03-25.02 0-50.046 9.577-69.188 28.72-36.185 36.184-38.155 93.355-5.937 131.843L73.81 397.53c-1.2-14.374-13.22-25.655-27.906-25.655-15.48 0-28.03 12.55-28.03 28.03 0 15.483 12.55 28.033 28.03 28.033 9.65 0 18.176-4.888 23.22-12.313l291.155 70.72c34.573 12.523 74.728 4.897 102.5-22.876 27.094-27.094 35.005-65.936 23.75-99.908L414.407 66.625c7.736-4.99 12.875-13.673 12.875-23.563 0-15.48-12.58-28.03-28.06-28.03zM110.155 96.22c-15.48 0-28.03 12.548-28.03 28.03 0 15.482 12.55 28.03 28.03 28.03 4.647 0 9.017-1.154 12.875-3.155l180.064 171.75c2.512-3.09 5.217-6.092 8.094-8.97 1.562-1.56 3.153-3.075 4.78-4.53L135.813 135.5c1.515-3.447 2.375-7.244 2.375-11.25 0-15.482-12.55-28.03-28.03-28.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spray;

impl IconShape for Spray {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.174 45.484c-.776-.007-1.267.05-1.65.112l-27.59 47.79c.304.79 1.13 2.36 2.693 4.268 3.39 4.134 9.688 9.436 17.47 13.928 7.78 4.492 15.52 7.296 20.796 8.164 2.432.4 4.205.33 5.043.197l6.99-12.105c-.318-.153-.635-.305-.946-.484-6.76-3.903-9.076-12.55-5.173-19.31 3.902-6.76 12.546-9.074 19.306-5.17.31.178.6.378.893.577l6.52-11.294c-.303-.79-1.13-2.362-2.694-4.27-3.39-4.133-9.688-9.435-17.47-13.927-7.78-4.494-15.52-7.297-20.794-8.165-1.318-.217-2.477-.3-3.394-.31zm-60.7 48.536c-1.037-.014-2.06-.004-3.068.03-16.13.52-27.71 6.237-34.203 17.483-.276.478-.728 1.883.668 5.627 1.397 3.744 4.64 9.01 9.558 14.72 9.837 11.42 26.167 24.707 46.054 36.188 19.888 11.482 39.56 18.98 54.368 21.79 7.404 1.407 13.587 1.58 17.527.917 3.94-.663 4.93-1.755 5.205-2.232v-.002c5.958-10.316 5.226-23.413-2.328-37.88-2.336-4.474-5.336-8.993-8.932-13.43-1.055.42-2.117.74-3.146.96-4.08.88-8.104.69-12.32-.004-8.427-1.388-17.713-4.997-27.104-10.418-9.392-5.422-17.16-11.66-22.576-18.266-2.708-3.303-4.888-6.693-6.166-10.666-.36-1.116-.622-2.332-.778-3.596-4.423-.757-8.7-1.168-12.757-1.22zm97.23 4.818l193.605 255.916v-231.73L301.702 98.837zM154.91 132.822L42.62 327.316l-.007.012c-.51.892-.9 2.505.434 6.313 1.34 3.824 4.512 9.13 9.385 14.872 9.744 11.483 26.056 24.766 45.943 36.248 19.887 11.48 39.55 18.966 54.365 21.664 7.41 1.35 13.59 1.442 17.57.69 3.98-.75 5.176-1.9 5.69-2.79l.002.002L288.295 209.83c-4.396-.122-9.03-.68-13.93-1.61-17.716-3.36-38.812-11.603-60.226-23.966-21.416-12.363-39.1-26.512-50.87-40.174-3.255-3.778-6.055-7.512-8.358-11.258zm33.48 64.776c5.008.09 9.662 1.28 13.788 3.662v-.008c14.67 8.47 19.61 30.27 14.66 56.482-2.465-16.616-10.93-31.077-24.73-39.04-13.8-7.96-30.553-8.064-46.174-1.89 14.537-12.503 29.654-19.44 42.455-19.206zM94.45 303.38c2.02 17.568 10.47 33.054 24.882 41.378 14.65 8.45 32.714 7.993 49.16.617v.006c-21.552 20.4-45.073 28.748-60.855 19.636-15.65-9.034-19.83-33.092-13.187-61.635zm-64.513 45.9l-8.1 14.03c-.513.887-.91 2.498.43 6.32 1.34 3.824 4.51 9.13 9.382 14.872 9.74 11.478 26.044 24.757 45.92 36.236l.024.014h.002c19.887 11.48 39.548 18.965 54.365 21.662 7.408 1.35 13.59 1.442 17.57.69 3.98-.75 5.177-1.9 5.69-2.788l8.1-14.03c-4.408-.072-9.045-.586-13.93-1.475-17.84-3.247-38.947-11.503-60.362-23.867-21.413-12.363-39.116-26.514-50.848-40.34-3.213-3.785-5.977-7.542-8.243-11.324z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sprint;

impl IconShape for Sprint {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M169.53 16.344L259.345 88 337 92.28l-1.03 18.657-161.376-8.906-118.78-4.905 227.28 68.03-197.72 246.75-14.53-17.655-49.22 96.625 248.69-202.78 51.81 11.592-38.78 40.594L270.5 329.5l-57.28 84.125L444.843 273.47 328 241.06l100.22-81.718c1.132.46 2.3.898 3.5 1.22 23.324 6.248 49.764-16.835 59.06-51.533 9.298-34.695-2.08-67.874-25.405-74.124-23.325-6.25-49.765 16.802-59.063 51.5-1.467 5.476-2.403 10.918-2.875 16.22L169.53 16.343z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sprout;

impl IconShape for Sprout {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.688 18S198.118 84.876 199 148.875c.11 7.924 1.104 15.806 2.78 23.53 23.498 25.825 43.035 57.618 58.19 95 13.85-31.163 30.07-60.016 50.03-84.967 3.764-12.817 6.056-26.13 5.875-39.313-.88-64-60.188-125.125-60.188-125.125zM24.094 111.47c.138 1.77.174 2.98.406 5.186.993 9.44 2.96 22.583 6.813 37.22 7.703 29.27 22.952 64.12 52.25 87.81 16.455 13.308 40.276 20.756 64.593 27.064s48.935 11.302 67.594 23.156c14.984 9.52 24.296 24.148 28.375 40.813 4.08 16.663 3.338 35.387-.72 55.06-7.072 34.304-24.28 71.737-46.874 105.908h126.44c-22.767-34.427-39.985-72.006-46.94-106.438-3.982-19.722-4.637-38.51-.436-55.188 4.2-16.677 13.665-31.284 28.75-40.78 18.79-11.83 43.49-16.743 67.812-22.938 24.322-6.196 48.034-13.46 64.313-26.625 47.514-38.425 57.337-105.795 59.405-130.19-61.585 1.928-106.926 21.097-142.406 52.19-37.42 32.788-64.065 79.142-85.345 132.436l-5.28 13.156-10.033-10.03-1.53-1.532-.688-2.063C210.397 177.51 133.342 115.054 24.094 111.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SproutDisc;

impl IconShape for SproutDisc {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.688 19.438c-131.508 0-238.313 106.808-238.313 238.312 0 131.504 106.808 238.313 238.313 238.313C387.19 496.063 494 389.257 494 257.75c0-131.504-106.805-238.313-238.313-238.313zm0 18.687c121.407 0 219.625 98.22 219.625 219.625 0 121.407-98.22 219.625-219.625 219.625-121.404 0-219.625-98.22-219.625-219.625 0-121.404 98.217-219.625 219.625-219.625zm.562 20.438c-110.988 0-200.72 89.73-200.72 200.718 0 95.257 66.098 174.875 155 195.533l-3.593-1.188s2.312.576 3.5.563c7.687-.085 14.32-4.367 18.094-10.5 15.59-43.605 18.01-85.436-6.405-103.375-22.6-16.605-66.756-17.003-92.28-40.875C86.304 258.717 86.03 182.03 86.03 182.03c50.518 0 92.432 20.467 123.814 59.595-.12-1.665-.544-3.61-.563-5.28-.703-51.122 45.532-104.533 45.532-104.532 0 0 47.202 48.756 47.907 99.875.055 3.507.36 6.99 0 10.5 28.538-36.8 67.034-60.157 123.217-60.157 0 0-.273 76.687-43.812 117.407-25.32 23.683-69.467 23.692-92.25 40.282-24.086 17.536-22.317 58.325-7.594 101.03.057.16-.073.426 0 .594 3.268 7.82 10.848 13.437 19.845 13.437 88.826-20.713 154.844-100.298 154.844-195.5 0-110.986-89.732-200.717-200.72-200.717zm-.22 191.218c-15.42 7.026-25.842 22.305-25.842 40.345s10.423 33.82 25.843 40.844c15.23-7.1 25.845-22.943 25.845-40.845 0-17.902-10.613-33.244-25.844-40.344z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Spyglass;

impl IconShape for Spyglass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.438 20.78c-.414.005-.824.01-1.25.032-2.273.113-4.742.477-7.376 1.094C65.28 24.373 52.858 31.236 42.094 42 31.33 52.763 24.467 65.186 22 75.72c-2.467 10.532-.738 18.23 3.75 22.718 3.93 3.93 10.33 5.763 18.938 4.5-1.82-5.496-1.757-11.592-.407-17.282 2.182-9.194 7.5-18.247 15.314-26.062 7.814-7.816 16.836-13.13 26.03-15.313 2.3-.544 4.695-.876 7.064-.968 3.515-.135 7.022.307 10.312 1.407 1.3-8.664-.52-15.082-4.47-19.032-3.154-3.156-7.896-4.97-14.093-4.907zm9.937 41.126c-.332-.006-.694.01-1.063.032-.98.06-2.08.23-3.343.53-5.057 1.2-11.542 4.728-17.157 10.344-5.616 5.617-9.145 12.1-10.344 17.157-1.2 5.054-.25 7.718 1.03 9l.344.343.312.406 41.344 51.25c4.423-9.226 10.846-18.254 19.03-26.44 8.186-8.183 17.214-14.607 26.44-19.03L99.72 64.156l-.407-.312-.344-.344c-.84-.84-2.273-1.552-4.595-1.594zm85.22 55.344c-.762-.02-1.564-.012-2.376.03-2.168.115-4.54.465-7.064 1.064-10.095 2.394-22.042 9.042-32.406 19.406-10.364 10.364-17.012 22.31-19.406 32.406-2.394 10.095-.727 17.367 3.5 21.594l.344.375.312.375 3.75 4.625c.046-.207.076-.418.125-.625 3.576-15.268 12.593-30.935 26.125-44.47 13.467-13.468 29.05-22.452 44.25-26.06l-4.25-3.44-.375-.343-.375-.343c-2.774-2.775-6.828-4.448-12.156-4.594zm31.186 25.656c-2.895-.01-6.086.374-9.56 1.188-11.122 2.604-24.185 9.838-35.5 21.156-11.318 11.318-18.552 24.378-21.157 35.5-2.117 9.036-1.316 16.178 1.656 21.125l.093.156 48.375 59.94c6.217-18.252 17.894-36.74 34.218-53.064 16.332-16.33 34.835-28.003 53.094-34.22L219.75 144.5c-2.557-1.017-5.562-1.583-8.97-1.594zm99.25 65.344c-.697.007-1.41.027-2.124.063-3.814.188-7.85.798-12.125 1.812-17.098 4.056-36.72 15.005-53.686 31.97-16.965 16.963-27.913 36.586-31.97 53.686-4.055 17.102-1.384 30.74 6.94 39.064l.342.344.313.406.31.406c.4-3.643 1.045-7.318 1.907-11 5.25-22.406 18.652-45.87 38.907-66.125 20.255-20.255 43.718-33.658 66.125-38.906 3.702-.87 7.4-1.513 11.06-1.907l-.436-.344-.406-.314-.344-.344c-5.853-5.852-14.346-8.918-24.813-8.812zm35.22 27.97c-4.95-.034-10.325.6-16.03 1.936-18.262 4.278-39.118 15.898-57.158 33.938-18.04 18.04-29.66 38.896-33.937 57.156-3.19 13.618-2.38 25.28 1.97 34.063l55.874 69.28c.46-3.185 1.058-6.378 1.81-9.593 6.32-26.98 22.565-55.408 47.126-79.97 24.56-24.56 52.96-40.773 79.938-47.092 2.055-.482 4.108-.89 6.156-1.25l-67.53-54.5h-.033c-5.132-2.575-11.256-3.924-18.187-3.97zm103.094 75.5c-.947.005-1.907.017-2.875.06-5.166.236-10.637 1.008-16.345 2.345-22.832 5.348-48.686 19.78-71.03 42.125-22.347 22.345-36.778 48.2-42.126 71.03-5.35 22.833-1.77 41.703 9.905 53.376 7.86 7.862 18.996 12.047 32.406 12.313-.68-.603-1.347-1.225-2-1.876-13.45-13.452-16.224-33.735-11.5-53.906 4.726-20.172 16.757-41.163 34.908-59.313 18.15-18.15 39.172-30.213 59.343-34.938 5.044-1.18 10.086-1.898 15.033-2.093 14.84-.586 28.754 3.505 38.843 13.594.673.672 1.318 1.356 1.938 2.062-.245-13.438-4.44-24.595-12.313-32.47-8.207-8.207-19.98-12.4-34.186-12.31zm8.28 47.717c-.65.005-1.3.032-1.968.063-3.564.167-7.37.687-11.375 1.625-16.024 3.754-34.44 14.003-50.374 29.938-7.822 7.822-14.263 16.238-19.25 24.687 1.697-2.026 3.503-4.003 5.438-5.938 17.012-17.01 38.125-24.96 53.22-21.5-5.877 2.765-11.803 6.865-17.158 12.22-16.19 16.19-21.17 37.454-11.125 47.5 7.735 7.733 22.152 6.587 35.75-1.75-3.07 4.568-6.748 9.03-10.967 13.25-18.512 18.51-41.876 26.32-57.063 20.343 7.814 6.11 19.617 7.906 34.156 4.5 16.025-3.754 34.44-14.003 50.375-29.938 15.936-15.934 26.185-34.35 29.94-50.375 3.752-16.024 1.195-28.71-6.5-36.406-5.413-5.41-13.32-8.293-23.095-8.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SquareBottle;

impl IconShape for SquareBottle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M345.98 19.586c-1.09-.01-2.16.003-3.21.04-14.725.51-25.865 5.643-32.153 14.51-7.185 10.132-7.67 24.62-.822 41.247 6.846 16.626 21.065 34.485 40.953 48.572 19.888 14.088 41.458 21.58 59.426 22.527 17.968.95 31.494-4.31 38.68-14.443 7.185-10.134 7.668-24.622.822-41.25-6.847-16.626-21.065-34.484-40.953-48.57-19.89-14.09-41.46-21.58-59.428-22.53-1.123-.058-2.23-.093-3.316-.104zM298.22 94.19l-18.843 26.57c-.426.6-.822 1.21-1.2 1.824-9.132-2.42-18.316-3.953-27.396-4.45-1.846-.103-3.69-.16-5.532-.167-1.84-.008-3.677.032-5.506.12-25.606 1.223-49.86 11.905-66.183 34.923L42.173 338.283l3.36 5.295 73.284 115.496 139.416 32.256 131.534-185.48c18.69-26.36 18.7-57.108 7.337-84.4-4.775-11.47-11.45-22.476-19.53-32.764l17.872-25.206c-6.33-1.17-12.76-2.914-19.21-5.216l-14.682 20.705c-3.764 5.305-9.15 7.028-17.74 6.096-8.592-.93-19.306-5.348-28.565-11.812-9.26-6.464-17.03-14.963-20.744-22.662-3.714-7.7-3.917-13.336.115-19.022l14.816-20.888c-4.288-5.357-8.05-10.877-11.217-16.49zm-53.087 42.453c1.526.015 3.067.065 4.623.15 7.63.42 15.552 1.76 23.556 3.896.07 6.236 1.67 12.445 4.36 18.02 5.657 11.73 15.496 21.918 26.88 29.866 11.385 7.95 24.345 13.67 37.25 15.07 7.192.78 14.702-.048 21.356-2.92 7.02 8.99 12.742 18.416 16.694 27.907 9.56 22.965 9.542 45.436-5.33 66.406l-12.932 18.237-94.926-49.017 23.775-33.528-15.245-10.81-29.174 41.14-147.077 29.477 89.86-126.72c12.97-18.29 30.85-26.31 51.795-27.115 1.496-.057 3.008-.077 4.535-.062zM93.418 298.33l92.094 48.057-61.254 86.377-59.582-93.9 28.742-40.534zm262.506 22.938l-105.686 149.03-111.408-25.775 67.33-94.945 149.764-28.31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Squib;

impl IconShape for Squib {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M59.395 20.285l109.447 137.043L18.89 98.084 143.737 246.75 36.975 338.582l137.287-12.72-31.457 160.187 112.27-115.142 83.08 101.588-8.58-127.873 165.988-22.76-141.383-74.597 141.04-56.778v-67.236L388.605 189.18l106.5-128.567L292.05 160.55 240.98 40.616l-53.037 90.26L126.63 20.285H59.396zm280.996 0l-25.812 98.61 93.05-98.61H340.39zM219.8 169.29l35.042 59.308-72.737-30.795c4.267-16.433 18.46-27.994 37.696-28.512zm104.62 1.77c16.857 9.28 24.173 26.062 20.428 42.62l-18.866-8.112-35.28 17.522 15.986-26.145-11.715-6.8 29.447-19.086zm-65.5 18.872l24.332 4.218-11.7 37.862-12.632-42.08zm-16.12 58.87l-1.208 21.895 22.87 2.412-38.76 54.28c-34.81-3.42-53.307-34.73-38.737-71.263L242.8 248.8zm32.034 18.862l51.99 16.72c2.035 11.373-2.796 20.542-13.455 24.466l7.767 8.576c-4.758 13.162-16.607 18.498-31.276 12.222l-4.9-47.962-10.126-14.022zm-143.688 85.15L74.613 396.34l-26-15.01-24.95 43.213 43.216 24.95 21.698-37.585 42.568-59.094zm223.293 10.32l85.85 81.178 11.68 42.05 39.712-12.266-12.264-33.287 19.857-36.796-39.13 10.513-105.706-51.392z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Squid;

impl IconShape for Squid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.938 17.75c-36.9 0-67.808 13.327-87.25 35.72-19.443 22.39-26.84 53.717-18.094 86.936 12.483 47.41 52.983 87.193 101.97 106.094-25.22 53.827-58.776 79.275-98.19 92.5-14.152 4.75-29.16 7.51-44.968 9.344v39.72c19.494-2.063 38.53-5.417 57.22-11.69 30.89-10.366 60.143-28.824 84.686-56.655C147.02 347.054 128.52 366.127 106 381.06c-24.47 16.228-54.913 26.55-87.594 35.032v41.47c38.716-9.353 76.84-21.375 109.78-43.22 26.63-17.657 49.378-41.933 65.44-74.188-5.82 28.94-18.692 51.403-36.22 71.25C127.1 445.72 81.19 470.908 31.844 495.5h81.187c27.27-16.283 53.196-34.642 74.157-58.375 21.367-24.192 36.472-54.302 43.813-89.938 2.06 29.717-3.918 55.56-15.78 79.407-12.01 24.142-30.68 46.758-51.97 68.906h53.156c13.015-15.78 24.68-32.362 33.844-50.78 14.697-29.544 22.452-63.005 19.875-100.47 10.333 29.14 11.232 56.334 5.844 82.938-4.6 22.708-14.103 45.424-26.283 68.312h43.782c9.15-19.343 16.782-39.746 21.03-60.72 6.61-32.635 4.795-67.342-8.156-103.374 18.333 25.69 25.718 52.313 27.437 80 1.65 26.562-3.43 54.81-11.092 84.094h40.875c6.458-28.407 9.99-57.38 8.187-86.406-1.99-32.092-12.224-64.124-32.125-94.625 22.522 19.726 36.464 41.804 44.97 67.155 11.287 33.638 13.1 72.467 11.686 113.875h39.126c1.56-42.954.168-85.584-13.437-126.125-10.368-30.892-28.826-60.144-56.658-84.688 28.04 13.043 47.46 32.228 62.5 54.907 26.903 40.57 38.726 96.28 50.22 154.156.12.602.475 1.148.593 1.75h14.594V391.562c-8.194-26.055-18.84-50.918-33.876-73.593-28.706-43.29-74.346-76.243-144.25-88.19l-10.344-.968c2.067-1.973 4.045-4.043 5.906-6.187 19.443-22.392 26.84-53.75 18.094-86.97C311.256 69.218 238.735 17.75 164.937 17.75zM291.53 157.938c.846-.052 1.684-.003 2.5.125 4.36.682 8.38 3.794 11.408 9.906 3.028 6.11 4.5 14.89 3.03 24.28-1.47 9.39-5.56 17.295-10.312 22.188-4.752 4.892-9.548 6.62-13.906 5.937-4.358-.682-8.377-3.795-11.406-9.906-3.03-6.113-4.502-14.893-3.03-24.282 1.47-9.39 5.56-17.295 10.31-22.188 3.565-3.67 7.155-5.54 10.563-5.97.284-.035.563-.075.844-.093zm-101.06 10.5c17.527 0 31.53 14.002 31.53 31.53 0 17.53-14.003 31.532-31.53 31.532-17.53 0-31.564-14.003-31.564-31.53 0-17.53 14.034-31.532 31.563-31.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SquidHead;

impl IconShape for SquidHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.744 20.232c-104.313 0-157.183 53.89-168.717 111.45-6.607 32.973.374 67.266 20.64 94.066 7.506-10.545 18.562-18.648 31.978-22.242 30.662-8.214 61.7 9.096 70.902 35.492l1.486 4.26-2.412 3.812c-46.46 73.436-65.564 138.166-27.417 224.063l31.705-52.2c-12.814-48.445-12.78-101.28 8.04-149.482l17.156 7.41c-28.24 65.38-14.082 142.63 18.968 201.08 34.647-60.974 42.265-142.338 21.414-200.973l17.61-6.26c15.756 44.31 16.985 98.19 4.207 148.918l31.283 51.506c38.146-85.895 19.045-150.625-27.416-224.06l-2.412-3.812 1.486-4.26c7.478-21.447 29.368-36.897 53.762-37.53 5.63-.145 11.39.5 17.14 2.04 10.778 2.888 20.023 8.693 27.137 16.328 15.47-25.37 21.32-56.65 16.266-86.945C410.832 74.668 362 20.233 257.743 20.233zM155.894 220.26c-.518.007-1.038.024-1.558.053-2.613.14-5.242.546-7.856 1.246-20.905 5.6-33.172 26.848-27.57 47.752 5.368 20.03 25.108 31.95 45.14 28 7.67-18.718 17.582-37.23 29.083-55.808-6.184-11.873-21.173-21.475-37.238-21.244zm207 0c-16.064-.23-31.052 9.37-37.236 21.244 11.5 18.578 21.412 37.09 29.082 55.807 20.032 3.954 39.77-7.966 45.14-27.998 5.6-20.904-6.665-42.15-27.57-47.753-2.615-.702-5.244-1.106-7.857-1.248-.52-.028-1.04-.045-1.558-.052zm-233.5 89.71c-13.91 39.182-19.95 80.964-18.976 119.614 12.637-10.237 24.62-21.887 35.783-34.525-1.4-27.05 2.6-52.91 10.794-78.234-9.76.06-19.23-2.386-27.6-6.857zm259.313.364c-8.2 4.24-17.417 6.55-26.91 6.492 8.284 25.604 12.29 51.753 10.754 79.127 10.943 12.294 22.663 23.635 35.003 33.63.972-38.53-5.03-80.172-18.846-119.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StagHead;

impl IconShape for StagHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M76.465 73.324c-16.696 10.814-24.31 28.1-23.647 44.938.664 16.837 8.676 33.327 21.393 46.06 1.265 1.266 2.596 2.48 3.962 3.66-6.772 11.33-17.072 12.974-25.512 10.586-4.85-1.372-8.708-4.328-10.676-7.86-1.967-3.534-2.67-7.755.055-14.26l-17.24-7.22c-4.57 10.91-3.87 22.082.858 30.573 4.73 8.492 12.865 14.19 21.914 16.75 15.546 4.4 34.89-1.218 46.02-18.22 8.568 4.33 18.18 7.156 28.428 7.986.676 11.475 4.846 22.184 11.634 31.79-6.064 2.136-11.192 6.248-14.42 11.61-8.616 14.312-2.927 35.32 17.545 49.546l10.665-15.348c-15.297-10.63-14.877-20.11-12.2-24.56 1.34-2.225 3.435-3.745 6.835-4.122 2.942-.325 7.056.338 12.09 3.4 2.958 2.186 6.07 4.265 9.318 6.222 16.108 9.698 35.805 16.807 57.666 20.578-8.085 6.224-13.812 14.285-18.125 23.445-32.812-8.59-64.65-.154-94.98 34.63 31.59 7.23 62.19 8.758 90.403-3.44l37.96 106.415c4.404 16.44 32.492 16.902 37.023 0l38.19-107.068c28.615 12.89 59.722 11.447 91.856 4.092-30.527-35.005-62.578-43.322-95.61-34.457-4.212-9.323-10.003-17.065-17.64-22.962 23.48-3.564 44.62-10.94 61.715-21.234 3.647-2.196 7.118-4.546 10.395-7.032 4.38-2.353 8.002-2.883 10.658-2.59 3.4.377 5.495 1.897 6.834 4.122 2.678 4.45 3.1 13.93-12.2 24.56l10.665 15.348c20.47-14.227 26.16-35.234 17.544-49.547-3.177-5.278-8.2-9.34-14.14-11.5 6.82-9.616 11.017-20.34 11.708-31.832 10.273-.694 19.92-3.39 28.547-7.608 11.174 16.657 30.315 22.136 45.726 17.776 9.05-2.56 17.186-8.258 21.916-16.75 4.73-8.49 5.426-19.663.857-30.573l-17.24 7.22c2.725 6.506 2.023 10.727.055 14.26-1.967 3.533-5.827 6.49-10.677 7.86-8.265 2.34-18.312.807-25.084-9.895 1.652-1.39 3.24-2.84 4.75-4.35 12.717-12.733 20.73-29.223 21.392-46.06.664-16.838-6.95-34.124-23.646-44.938L429.85 89.01c11.61 7.52 15.573 17.276 15.13 28.515-.442 11.24-6.222 23.858-15.94 33.59-14.804 14.823-37.444 23.673-64.16 12.772 6.135-3.766 11.356-9.778 14.567-17.617l-17.293-7.084c-2.673 6.526-6.154 9.016-10.043 10.123-3.887 1.105-8.706.464-13.106-1.996-8.8-4.92-15.577-15.34-8.467-31.55l-17.113-7.508c-9.727 22.175-1.276 43.15 13.22 53.326l-.064.072c15.934 13.58 32.233 20.995 47.748 23.71-5.807 15.017-14.117 23.457-22.94 28.003-9.28 4.783-19.567 5.284-28.773 2.78-9.206-2.505-17.03-8.12-21.066-14.44-4.037-6.32-5.028-12.746-.87-20.894l-16.65-8.495c-6.945 13.616-5.262 28.437 1.767 39.446 7.028 11.01 18.657 18.81 31.912 22.416 3.39.922 6.906 1.558 10.493 1.882-19.513 8.518-43.958 13.754-70.484 13.754-25.172 0-48.48-4.706-67.468-12.464 2.604-.36 5.162-.886 7.652-1.563 13.255-3.606 24.886-11.408 31.914-22.417 7.03-11.01 8.71-25.83 1.764-39.445l-16.646 8.494c4.157 8.15 3.166 14.573-.87 20.894-4.035 6.32-11.86 11.936-21.066 14.44-9.206 2.504-19.49 2.002-28.773-2.78-9.087-4.684-17.627-13.502-23.452-29.378 15.617-2.462 32.07-9.685 48.17-23.15 15.274-9.814 24.522-31.367 14.51-54.192l-17.113 7.508c7.11 16.21.332 26.63-8.467 31.55-4.4 2.46-9.217 3.1-13.105 1.995-3.89-1.108-7.372-3.597-10.045-10.124l-17.293 7.084c3.182 7.77 8.34 13.746 14.404 17.517-26.822 11.052-49.555 2.195-64.402-12.672-9.72-9.732-15.5-22.35-15.942-33.59-.443-11.24 3.523-20.996 15.133-28.515l-10.16-15.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stalagtite;

impl IconShape for Stalagtite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M79.186 18.924l76.447 168.373 16.05 168.137 20.114 32.222 23.72 68.82 37.92 38.567 29.07-17.904 18.52-92.8 16.754-76.785-48.14 14.57 15.52 20.63-54.84 71.32-12.01-19.24 23.417-81.884 14.136-4.73-.402-1.327 72.74-22.018 42.894-62.197 23.195-85.364-24.976-3.94-33.04 51.25-15.706-10.128 34.256-53.137L333.27 18.923H189.423l37.94 89.09-60.132 59.62-67.52-148.71H79.187zm273.183 0l20.206 96.045 26.643 4.202 27.24-100.248h-74.09zm-74.48 31.55h.003l36.498 81.096-18.652 46.006-38.338-56.228 20.49-70.875zm-61.468 94.706l33.047 44.697-42.966 14.643 62.133 63.26-5.39 18.26-26.063 8.724-59.164-69.618-3.655-38.267 42.057-41.7zm-35.3 112.476l42.634 50.166-18.777 65.658-15.113-24.207-8.746-91.617z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StandingPotion;

impl IconShape for StandingPotion {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.95 17.127c-19.323.186-39.152 5.737-49.462 16.437l4.494 25.288-18.836.13 3.756 12.04 12.84 41.165c1.466 31.346-8.624 56.45-23.828 79.997-18.854 29.198-45.987 55.144-67.662 83.957-11.56 15.367-15.767 33.277-13.285 50.57 2.48 17.29 11.322 33.89 24.795 48.257 26.945 28.736 72.624 49.044 128.345 48.654 52.815-.366 98.06-21.347 125.3-50.313 13.62-14.484 22.82-31.095 25.603-48.434 2.78-17.34-1.278-35.385-13.15-50.678h.003c-22.132-28.513-49.724-54.076-69.088-83.01-15.9-23.76-26.513-49.206-25.107-81.374l15.228-51.68-17.6.12 4.09-25.357c-8.29-10.77-27.11-15.952-46.435-15.766zm34.905 59.863l-6.582 22.336c-22.502 10.67-41.278 9.862-59.775.617l-7-22.447 73.357-.506zm-8.765 43.49c1.27 31.477 12.715 58.028 28.152 81.096 7.37 11.013 15.604 21.332 24.076 31.254-20.758-5.694-49.388-9.355-80.85-9.355-28.173 0-54.063 2.94-74.077 7.64 7.483-9.18 14.71-18.707 21.223-28.793 14.953-23.156 25.9-49.698 26.768-80.96 17.122 5.656 35.656 5.724 54.71-.882zm75.58 138.756c4.275 4.785 8.483 9.543 12.516 14.285-7.27 4.73-16.44 8.51-27.293 11.732-23.45 6.96-54.792 11.053-89.426 11.053s-65.977-4.094-89.426-11.053c-8.803-2.613-16.478-5.602-22.95-9.158 3.992-4.87 8.175-9.76 12.424-14.672 4.372 2.06 9.703 4.094 15.843 5.916 20.964 6.22 50.975 10.28 84.11 10.28 33.136 0 63.146-4.06 84.11-10.28 8.31-2.466 15.157-5.314 20.093-8.102zM102.04 364.234c-50.154 13.628-82.55 33.813-82.55 56.204 0 41.017 106.522 74.35 237.696 74.35 131.173 0 237.697-33.333 237.697-74.35 0-22.31-32.12-42.578-81.965-56.204 17.23 8.88 27.518 19.25 27.518 30.444 0 32.13-82.31 58.545-183.248 58.545-100.94 0-182.663-26.418-182.663-58.545 0-11.255 10.11-21.535 27.518-30.444h-.004z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarCycle;

impl IconShape for StarCycle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197.666 22.36c-37.354 0-67.637 30.284-67.637 67.64 0 11.57 2.908 22.46 8.03 31.982-41.127 38.07-75.686 84.545-97.312 134.717-55.608 129.01-4.667 233.597 113.78 233.597 118.446 0 259.545-104.586 315.154-233.598C525.29 127.686 474.352 23.1 355.904 23.1c-34.222 0-70.334 8.745-105.73 24.273-12.402-15.26-31.313-25.014-52.508-25.014zm-6.7 14.083l13.288 27.666 30.496-7.065-15.695 24.07C214.683 77.09 208.6 74.9 202.207 75.4c-12.196.954-21.35 11.656-20.398 23.852.167 2.03.958 3.905 1.618 5.732l-28.75 6.932 17.93-25.418-21.702-22.908 31.223 2.25 8.835-29.397zm129.49 16.44c2.93-.008 5.85.073 8.753.242 74.362 4.336 116.098 66.005 108.73 147.703-13.446 90.524-69.506 168.88-165.03 199.758 18.422 3.867 35.72 4.313 51.713 1.797-44.73 36.55-96.58 57.906-144.285 55.125-24.947-1.455-46.217-9.37-63.2-22.32 18.472 2.268 40.657-1.352 65.132-12.37C122.06 410.5 80 368.245 88.89 297.358c-7.795 11.485-13.765 22.637-18.103 33.308-.356-26.225 4.678-55.082 15.75-85.158 6.296-17.1 14.182-33.6 23.348-49.264 13.746-19.44 29.697-36.908 47.365-52.037 11.277 8.425 25.256 13.43 40.416 13.43 37.354 0 67.64-30.283 67.64-67.637 0-.786-.033-1.563-.06-2.342 32.21-8.183 66.18-10.1 100.418-4.625-16.914-15.152-34.966-24.902-53.45-29.894 2.756-.16 5.505-.25 8.24-.257z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarProminences;

impl IconShape for StarProminences {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.344 21.78l-54.625 91.94-100.97-35.314L120 183.97 19.97 221.812l81.06 69.78-52.31 93.282 106.936 1.344 19.906 105.06 82.782-67.686 82.78 67.687 19.907-105.06 106.94-1.345-52.283-93.28 81.032-69.783-100.033-37.843 17.25-105.564L313 113.72l-54.656-91.94zM264 119.72c37.302 0 71.283 14.157 96.906 37.374-8.81-3.43-18.117-5.836-27.78-6.813-1.917-.195-3.885-.204-5.845-.155-1.958.05-3.906.156-5.874.156-6.82 0-13.483.607-19.97 1.75-1.52-8.805-9.163-15.53-18.405-15.53-10.336 0-18.717 8.382-18.717 18.72 0 3.28.83 6.38 2.312 9.06-7.876 4.325-15.186 9.538-21.78 15.532.445-.024.89-.03 1.343-.03 13.13 0 23.78 10.62 23.78 23.75 0 13.128-10.65 23.78-23.78 23.78-12.214 0-22.278-9.21-23.625-21.062-5.432-11.885-17.44-20.22-31.282-20.22-18.877 0-34.405 15.498-34.405 34.376 0 18.88 15.528 34.375 34.406 34.375 5.442 0 10.6-1.276 15.19-3.56.008-.012.02-.02.03-.032 3.434-4.16 8.623-6.813 14.438-6.813 10.336 0 18.718 8.383 18.718 18.72 0 10.334-8.382 18.717-18.72 18.717-4.062 0-7.805-1.298-10.874-3.5-3.412-3.62-8.225-5.906-13.593-5.906-10.338 0-18.72 8.382-18.72 18.72 0 10.334 8.382 18.718 18.72 18.718 7.335 0 13.65-4.23 16.718-10.375 6.167 18.95 17.18 35.682 31.562 48.78.407-9.524 7.913-17.163 17.375-17.813-.51-2.338-.813-4.766-.813-7.25 0-18.878 15.528-34.375 34.407-34.375 18.877 0 34.374 15.497 34.374 34.375 0 18.88-15.497 34.375-34.375 34.375-5.104 0-9.972-1.13-14.345-3.156-1.564 5.255-5.37 9.54-10.313 11.75 15.172 7.477 32.246 11.688 50.344 11.688 14.427 0 28.192-2.858 40.875-7.875-25.773 23.952-60.31 38.592-98.28 38.592-79.764 0-144.438-64.642-144.438-144.406 0-79.762 64.674-144.437 144.438-144.437zm59.625 62.436c10.337 0 18.72 8.384 18.72 18.72 0 10.334-8.383 18.718-18.72 18.718s-18.72-8.384-18.72-18.72c0-10.336 8.383-18.718 18.72-18.718zM191.28 204.72c8.777 0 15.69 6.91 15.69 15.686s-6.913 15.688-15.69 15.688c-8.775 0-15.686-6.912-15.686-15.688s6.91-15.687 15.687-15.687zM295.72 307.5c-8.777 0-15.72 6.91-15.72 15.688 0 8.776 6.943 15.687 15.72 15.687 8.775 0 15.686-6.91 15.686-15.688 0-8.776-6.91-15.687-15.687-15.687zm-96.908 18.594c-8.558 0-15.468 6.94-15.468 15.5 0 8.557 6.91 15.5 15.47 15.5 8.557 0 15.5-6.943 15.5-15.5 0-8.558-6.943-15.5-15.5-15.5z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarPupil;

impl IconShape for StarPupil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.125 98.625c-6.093.318-12.193.944-18.313 1.844l8.375 74.81-84.687-35.343c5.838-8.19 12.44-15.826 19.72-22.78-54.392 24.186-108.24 72.105-157.657 145.812 56.266 48.932 114.94 80.49 173.656 94.374-9.275-6.686-17.8-14.368-25.407-22.97l64.062-16.937-11.563 45.032c12.627 1.814 25.24 2.827 37.813 3l20.156-22.283 7.22 21.344c14.562-1.197 29.062-3.494 43.438-6.936l3.093-18.063 15.814 12.845c13.016-4.042 25.912-9.05 38.687-14.97l-12.5-29.56 43.44 4.436c-3.064 4.957-6.348 9.777-9.845 14.44 29.296-16.167 57.768-37.378 85.094-63.75-18.222-31.2-38.106-58.214-59.283-80.814 2.75 8.198 4.83 16.716 6.125 25.53l-58.187-2.217 28.22-46.44c-7.077-6.2-14.267-11.944-21.564-17.218l-44.217 26.094-1.875-52.562c-8.284-3.595-16.646-6.6-25.094-9.063l-24.563 50.595-40.155-58.25zm-99.03 48.688L211.53 218l-81.75 14.72c-.38-31.18 8.666-60.68 24.314-85.407zm141.405 38.28c-8.232 6.9-13.47 17.264-13.47 28.845 0 20.77 16.825 37.625 37.595 37.625 18.725 0 34.248-13.71 37.125-31.625 5.848 10.64 8.92 23 8.22 36.062-2.003 37.232-33.613 65.596-70.845 63.594-37.232-2.002-65.596-33.58-63.594-70.813 1.878-34.904 29.75-62.05 63.907-63.655.352-.017.71-.022 1.063-.03zm146.53 48.626c-.352 17.6-3.055 34.256-8.842 50.06l-39.032-26.5 47.875-23.56zM130.53 246l76.595 25.03-50.844 47.126C142.116 297.24 133.136 272.7 130.53 246z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarSatellites;

impl IconShape for StarSatellites {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.72 17.125c-46.945.28-93.808 14.67-133.626 43.188 90.04-37.994 198.53-19.315 271.937 54.093 73.324 73.342 91.483 181.133 53.626 271.125 65.043-90.962 56.77-217.948-25.03-299.75-46.024-46.074-106.55-69.016-166.907-68.655zM451.655 385.53c-.044.063-.08.127-.125.19l.033.06c.034-.08.06-.167.093-.25zM96.28 67.03c-14.01 0-25.155 11.162-25.155 25.157 0 14.012 11.16 25.157 25.156 25.157 14.013 0 25.157-11.16 25.157-25.156 0-14.012-11.16-25.157-25.156-25.157zm161.782 14.564c-44.438-.03-88.87 16.9-122.75 50.78-67.772 67.777-67.662 177.742.188 245.595 67.865 67.867 177.805 67.916 245.563.155 67.772-67.776 67.693-177.74-.157-245.594-33.932-33.933-78.405-50.908-122.844-50.936zm-4.468 21.344l21.656 61.874c-14.76-2.616-30.052-1.584-44.375 3.157l22.72-65.032zM65.28 122.844c-.033.082-.058.168-.093.25.044-.062.082-.126.126-.188l-.032-.062zm-.093.25C.144 214.057 8.417 341.044 90.22 422.844c81.817 81.912 209.517 90.654 300.53 25.47-90.042 37.992-198.53 19.313-271.938-54.095-73.323-73.343-91.48-181.134-53.624-271.126zm82.72 23.562l63.405 30.53c-5.604 3.53-10.878 7.743-15.75 12.626l-.03-.062c-6.252 6.25-11.38 13.19-15.407 20.594l-1.03 1.03-31.19-64.718zm211.655.063l-26.406 54.843c-2.922-4.126-6.224-8.068-9.906-11.75-6.34-6.34-13.39-11.536-20.906-15.594l57.22-27.5zm-99.218 45.655c15.813.01 31.644 6.05 43.72 18.125 24.148 24.15 24.178 63.29.06 87.406-24.116 24.118-63.256 24.088-87.405-.062-24.15-24.15-24.15-63.29-.032-87.406 12.058-12.06 27.842-18.074 43.656-18.063zm-88.47 36.375v2.813c-3.59 14.433-3.58 29.592.032 44.03v.594l-67.812-23.75 67.78-23.687zm175.532 4.438l56 19.593-55.187 19.282c2.51-12.828 2.213-26.11-.814-38.875zm-168.562 61.03c4.216 8.38 9.796 16.235 16.78 23.22 4.282 4.28 8.915 8.028 13.782 11.28l-61.344 29.5 30.782-64zm155.344 11.313l25.5 52.908-54.438-26.22c6.65-3.815 12.897-8.556 18.563-14.218 3.9-3.9 7.35-8.073 10.375-12.47zM232.03 339.657c13.79 4.442 28.437 5.565 42.626 3.313l-20.72 59.28-21.905-62.594zm195.064 58.875c-14.012 0-25.156 11.162-25.156 25.158 0 14.01 11.16 25.156 25.156 25.156 14.012 0 25.125-11.16 25.125-25.156 0-14.012-11.13-25.157-25.126-25.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarSkull;

impl IconShape for StarSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M316.74 14.79l-72.326 88.94-73.234-50.673 67.095 115.537c7.713-2.512 15.938-3.887 24.49-3.887 15.338 0 29.648 4.384 41.768 11.947l81.64-88.6-62.187 17.454-7.246-90.717zM137.47 32.224l28.73 136.144L41.04 121.13l98.753 106.235-61.215 48.266 105.524-24.304c-.24-2.5-.366-5.03-.366-7.592 0-28.415 15.004-53.317 37.514-67.244L137.47 32.223zm318.692 36.185l-35.71 10.024-101.307 109.945c14 14.258 22.644 33.795 22.644 55.357 0 .708-.01 1.412-.028 2.116l81.088-4.762-41.465-23.08 74.777-149.6zM232.744 229.533c-13.443 0-24.342 10.897-24.342 24.342 0 13.445 10.898 24.344 24.342 24.344 13.445 0 24.344-10.9 24.344-24.345 0-13.445-10.9-24.342-24.344-24.342zm59.27 0c-13.443 0-24.342 10.897-24.342 24.342 0 13.445 10.897 24.344 24.342 24.344 13.444 0 24.343-10.9 24.343-24.345 0-13.445-10.9-24.342-24.343-24.342zm161.26 28.488l-114.327 6.714c-2.23 8.113-5.716 15.703-10.246 22.547l72.39 92.962 69.146 30.496-94.18-119.16 120.217-9.623-43-23.934zM188.085 269.59l-143.87 33.137-25.673 20.242 139.123 19.654-68.54 112.775 124.546-52.27 10.193-37.738h19.358l-10.313 38.18 42.035 88.947 24.178-81.15-18.803-45.977h20.192l17.517 42.834L389.51 462.6l-11.94-82.14-61.238-78.642c-2.81 2.593-5.814 4.974-8.977 7.14v41.233h-18.69v-31.78c-5.076 1.763-10.395 3.004-15.884 3.7v28.08h-18.687v-27.913c-6.25-.682-12.28-2.094-18.004-4.148v32.06h-18.688v-41.762c-13.457-9.46-23.836-23.003-29.318-38.84zm73.94 4.75l-16.72 27.87h33.442l-16.72-27.87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StarSwirl;

impl IconShape for StarSwirl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M436.406 29.625l-18.094 42.22-48.562 5.905 42.156 25.656 1.375 13.47C367.938 90.74 302.435 75.36 214.78 82.31l-20.186-3.343-24.125-38.407.5 39.78-49.22 16.438 55.063 4.564 7.843 33.78 17.094-37.78 17.906-2.75c203.993 22.03 277.475 204.75 77.875 207.625l5.22-37.595 36.75-43.72-51.344-24.968-30.22-48.468-39.623 41.124-4.125 1.03C-8.4 163.078-31.708 304.485 98.844 376.125l-11.938 12.688L39.844 374.5l33.03 39.406-15.124 42.53 36.375-31.155 47.03 18.095-30.374-43.875 4.69-15.03c62.43 28.648 153.852 42.16 270.5 20.717-241.042 33.38-364.142-137.94-219.283-195.687l23.032 43.25-4 56.97 56.218-9.97 19.25 7.813c218.255 102.608 297.46-83.917 171.843-177.75l14.376-22.22 46.47-16.5-41.907-14.812-15.564-46.655zM34.53 79.03l4.845 26.095-19.47 22 27.22-3.25 17.563 23.344.687-29.47 24.78-17.906-33.218-1.72-22.406-19.093zm358.564 298.5l14.25 51.658-31.375 41.062 49.592-12.688 33.688 34.282-2.53-51.406 35.217-30.375-51.593 1.562-47.25-34.094z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Staryu;

impl IconShape for Staryu {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.313 24.563l-66.125 133.78L222.25 216c9.095-7.82 17.132-17.24 24.063-28.5V24.562zm18.687.625v162.406c6.37 11.466 14.176 21.062 23.375 29L331 158.25 265 25.187zM164.187 168.094L20.845 188.97l156.53 51.093c10.752-3.268 20.687-7.577 29.782-13.094l-42.97-58.876zm182.782 0L303.593 227.5c9.343 5.507 19.765 9.777 31.28 12.97l157.876-51.19-145.78-21.186zm-91.533 33.844c-17.96 25.962-42.385 42.9-71.25 52.218 22.825 23.285 29.075 53.562 26.782 85.656 30.114-12.898 60.604-9.374 89.874 1.438-2.023-31.53 4.755-61.705 27.156-86.656-30.68-9.16-55.663-26.35-72.563-52.656zM13.25 206.155l106.72 104 68.936-22.344c-5.1-11.618-13.2-22.024-25.22-31.125l-3.374-2.53-147.062-48zm482.156 1.906L349.186 255.5l-.967.844c-11.146 9.762-18.935 20.302-24.095 31.625l67.375 21.967 103.906-101.875zm-301.062 97.625l-68.72 22.282-25.718 146.75 28.813-39.47 66.31-90.813c1.518-13.88 1.532-26.83-.686-38.75zm123.906 0c-2.725 12.42-3.01 25.66-1.594 39.72l93.563 128.25-24.658-146.032-67.312-21.938zm-71.938 41.22c-12.81.772-25.57 4.355-38.468 11.656l-64.03 87.718-26.908 36.845 129.406-67.813v-68.406zm18.688.75v67.717l129.625 68.595-91.25-125.095c-13.052-5.493-25.79-9.5-38.375-11.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Static;

impl IconShape for Static {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M142.7 18.72L20 77.56v20.72l120.3-57.72L20 132v112.7l129.4-46.8-63.4-9.3 188-45.8L20 326.5V370l349.6-189.6-81.1 18.3 115.2-71.4 91.6-34.58v-20C432 101.4 368 115.2 301 131.6l44.4-30.2 149.9-72.81v-9.87h-22.5C393.2 63.83 310.6 89.86 224.7 119.7L383.5 18.72H302L112.3 114.1l122.2-95.38zM495.3 143.3L230.6 299.6l150.5-39.1L78.72 418.7l102.38-90.8L20 409v85h32.94S223 392.8 317.3 354.7L247 407l112.6-34.4-216.2 119.5 286-102.1-82 57.6L495.3 406V298.4l-139.9 52.3 72.7-58.5-133.7 47.2 177-115.1-24.9 42.5 48.8-18.5v-105z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StaticGuard;

impl IconShape for StaticGuard {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.39 18.406l13.176 64.625h41.957l-.002 18.69h-38.145l7.635 37.438h82.63l7.45-37.44h-40.88V83.032h44.597l12.855-64.61-131.273-.014zM331.8 63.238l-18.823 94.608h-113.23l-18.99-93.127L38.98 114.395l148.973 247.342-60.967-203.168 17.9-5.37 39.247 130.784 72.35 10.62 71.53-10.696 39.094-130.664 17.905 5.358-60.018 200.587L473.06 114.323 331.8 63.238zm-9.708 240.45l-65.582 9.81-66.447-9.754 56.59 188.578V339.475h18.69v152.847h.31l56.44-188.633z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StaticWaves;

impl IconShape for StaticWaves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M271.688 18.076c30.998 22.56 59.474 47.18 85.85 74.17-55.465-17.182-111.375-24.518-166.444-24.53 131.154 56.898 232.282 146.106 301.353 302.522v-65.394c-43.575-82.686-107.69-155.17-176.906-190.42C388.585 135.42 446.776 179.83 490 223.034 441.175 96.127 375.416 38.693 271.688 18.075zM66.692 20.994C52.09 133.23 55.57 248.46 88.887 360.31c-33.756-40.1-58.85-84.33-71.25-130.236 1.203 129.388 75.925 229.466 194.035 261.7-54.595-68.506-108.85-165.455-111.063-290.587 28.372 118.453 129.845 227.278 256.544 294.03H480.18C248.53 386.68 129.253 227.084 66.693 20.994zm19.805 15.313l156.135 180.22c-32.287-17.453-65.367-34.38-98.07-51.318 85.847 129.425 186.64 243.742 347.11 295.397-64.525-60.37-95.74-102.014-127.757-150.318-48.695-14.554-101.03-37.668-144.51-76.456 44.58 26.788 123.108 42.688 185.977 48.342-79.726-127.645-192.9-186.57-318.885-245.87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteelClaws;

impl IconShape for SteelClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M370.28 18.156c-13.114.26-25.862 3.893-36.717 11.438-36.877 25.633-38.728 58.792-16.907 106.594-2.713-33.767 16.332-64.54 53.28-76.532 37.416-12.134 69.88 3.05 86.94 32.813-4.615-45.514-47.25-75.096-86.595-74.314zm-169.56 17.5c-25.69.084-50.2 11.088-62.94 31.844-18.908 30.812-16.85 74.963 23.782 110.22-14.844-31.385-7.762-67.772 23.313-92.657 31.466-25.2 68.138-22.4 95.28 0-15.72-33.71-48.432-49.507-79.436-49.407zM396.187 72c-6.785-.01-13.927 1.124-21.25 3.5-42.61 13.826-56.068 57.903-30.72 97l135.344 227.22L455.72 136.31C453.744 98.335 428.877 72.055 396.186 72zM230.405 82.563c-12.38.136-24.75 4.354-35.594 14.062-35 31.333-33.52 77.625 5.844 106.563l217.03 172.656-121.092-249.5c-11.607-24.556-38.95-44.08-66.188-43.78zm187.75 17.78c.39-.017.79.008 1.188.094 1.59.346 3.323 1.577 5.656 4.126 4.665 5.097 10.026 16.894 11.813 36.624l12.78 141.157-40.78-117.28c-6.34-18.24-7.058-33.418-4.97-44.314 2.09-10.896 7.065-17.154 10.657-19.125 1.347-.74 2.49-1.227 3.656-1.28zm-167.97 7.282c1.732-.044 3.88.58 6.814 2.063 6.71 3.39 16.43 13.048 25.563 31.78l66.875 137.25-86.72-103.312c-13.113-15.617-19.506-30.274-21.5-41.78-1.992-11.508.62-19.536 3.563-22.907 1.472-1.687 2.84-2.77 4.69-3.032.23-.033.47-.057.718-.063zm-155.592 61.03c-19.493.385-37.62 9.087-51.938 23.814-45.886 47.2-12.043 122.265 44 138.436-26.15-22.903-34.14-59.183-15.53-94.437 18.845-35.69 53.625-47.73 87.468-38.032-20.924-21.174-43.25-30.19-64-29.782zm45.187 41.72c-21.447-.102-41.55 11.294-53.624 34.156-21.46 40.655.133 82.744 46.75 93.376l262.156 70.375-206-176.78c-15.118-14.016-32.6-21.046-49.28-21.125zm2.345 19.47c.726-.014 1.546.007 2.438.06 7.135.44 19.594 5.314 35.125 18.595l111.937 95.75-115.22-57.938c-17.772-8.932-29.26-19.588-35.624-29.156-6.362-9.568-7.27-17.85-6.06-21.906 1.057-3.55 2.322-5.314 7.405-5.406zM79.845 346.78c-23.928.28-43.398 13.062-50.532 40.626-13.608 52.57 17.112 104.094 77.468 106.22-28.063-12.457-44.32-40.917-37.874-75.532 6.53-35.043 32.695-54.327 63.78-55.03-18.014-10.808-36.472-16.474-52.842-16.283zm52.905 29.783c-21.467.47-40.398 13.326-47.625 44.625-8.838 38.274 21.108 67.474 61.844 64.312l231.78-9.125-212.938-91.938c-10.182-4.9-20.824-7.723-30.968-7.875-.698-.01-1.4-.015-2.094 0zm-1.156 19.03c6.193-.18 15.28 1.372 26.97 6.407l107.155 46.188-101.47-15.407c-16.466-2.498-28.016-8.167-35.094-14.155-7.078-5.988-9.374-12.162-9.28-15.594.092-3.43.87-5.226 6.5-6.75 1.406-.38 3.153-.626 5.218-.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteeltoeBoots;

impl IconShape for SteeltoeBoots {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M138.156 79.563c-31.152.182-59.2 12.183-81.656 49.656 14.524 7.443 25.94 20.494 34.594 36.718 23.192-19.45 47.258-25.422 70.344-26.032 1.115-.03 2.232-.056 3.343-.062 7.78-.04 15.44.485 22.907 1.28l-2 18.595c-30.506-3.252-57.477-3.168-86.53 24.03 3.292 8.65 6.04 17.943 8.374 27.72 14.596-9.007 29.497-12.176 44.064-12.25 1.196-.007 2.402-.004 3.594.03 11.435.33 22.625 2.46 33.25 5.094l-4.5 18.125c-26.066-6.46-48.34-9.59-72.375 8.905 1.126 6.625 2.105 13.396 2.906 20.313.392 3.398.713 6.826 1.03 10.28 9.115-3.8 18.35-5.536 27.375-5.687 1.955-.03 3.91.018 5.844.126 15.46.867 30.124 5.716 44.25 11.188l-6.75 17.437c-13.48-5.22-26.388-9.287-38.532-9.967-10.51-.59-20.403 1.075-30.75 6.906.684 13.683.838 27.62.5 41.56 16.186.72 33.618.074 50.28-1.936l5-.594 3.25 3.844c18.406 21.86 30.335 55.44 32.063 102 10.888-1.433 21.697-3.74 32.564-7.375-25.184-102.074-34.018-205.22-.344-308.533-31.203-16.298-66.677-30.76-99.063-31.343-1.01-.018-2.026-.037-3.03-.03zm219.906 16.124c-15.74.036-30.8 2.812-43.156 7.938-16.887 7.006-28.18 17.81-31.97 31.875 23.718 102.41 13.683 179.952.595 283.344 5.66 1.64 12.74 3.086 20.75 4.344 4-48.36 26.424-86.188 55.72-107.844l4.313-3.188 4.937 2.125c8.365 3.59 19.527 6.158 32.22 7.72-.475-5.436-.857-10.843-1.158-16.188-22.766-17.532-51.772-17.002-77.906-9.187l-5.344-17.906c11.303-3.38 23.542-5.617 35.97-5.876 15.748-.33 31.8 2.563 46.593 10.406-.017-6.967.15-13.778.563-20.375.287-4.61.706-9.106 1.218-13.5-22.627-20.67-45.18-19.31-71.812-14.906l-3.03-18.44c7.198-1.19 14.614-2.136 22.155-2.468 1.413-.062 2.828-.108 4.25-.125 17.42-.198 35.295 3.27 52.092 15 2.5-10.14 6-19.322 10.875-27.218-26.413-28.12-52.972-30.288-83.156-29.47l-.5-18.656c2.146-.058 4.296-.086 6.47-.094 2.174-.008 4.37.003 6.563.063 27.6.754 56.7 7.326 82.875 33.968 10.384-8.308 24.128-12.26 40-10.718-3.77-22.168-14.12-39.038-28.344-51.78-16.68-14.942-38.927-24.045-61.625-27.376-5.676-.832-11.375-1.32-17-1.437-1.056-.023-2.108-.035-3.158-.032zM64.625 333.47c-24.22 19.75-43.225 53.82-44.938 98.686 34.014 11.948 82.977 16.013 169.657-1.125-1.105-42.536-11.057-71.93-24.813-90.342-35.766 3.787-73.08 2.453-99.905-7.22zm302.813 0c-24.21 19.752-43.226 53.83-44.938 98.686 34.01 11.95 82.986 16.008 169.656-1.125-1.105-42.54-11.054-71.93-24.812-90.342-35.758 3.783-73.088 2.45-99.906-7.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SteelwingEmblem;

impl IconShape for SteelwingEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.156 87l-.875 47.688 145.564 48.718 8.937 2.97-3.06 8.905c-14.857 43.4-17.932 93.212-3.564 138.47 4.103 17.557 11.6 33.377 21.53 46.344l-9.405 10.656-5.468 6.188 5.47 6.156 69.53 78.97 7.032 7.936 7-7.938 69.562-78.968 5.438-6.156-5.438-6.188-9.562-10.875c9.85-12.927 17.294-28.664 21.375-46.125 14.367-45.258 11.292-95.07-3.564-138.47l-3.062-8.905 8.937-2.97 145.564-48.718L491.22 87l-201.25 80.188c15.49 20.604 25.624 54.782 25.624 93.468 0 34.853-8.233 66.033-21.188 86.938l-31.562-35.813-7-7.936-7.03 7.937-31.72 36c-13.023-20.904-21.313-52.165-21.313-87.124 0-38.664 10.118-72.83 25.595-93.437L20.155 87zM493.5 153.906L361.156 198.22c2.563 8.47 4.695 17.156 6.406 25.968l123.532-12.375c1.643-19.07 2.36-38.526 2.406-57.907zm-474.156.5c.057 19.218.776 38.496 2.406 57.406l122.063 12.22c1.706-8.758 3.827-17.39 6.375-25.813L19.344 154.405zm4.406 76.406c2.137 17.497 5.116 34.54 9.22 50.75l106.124-9.843c.017-9.794.65-19.534 1.812-29.19L23.75 230.813zm465.344 0L370.47 242.656c1.145 9.562 1.757 19.21 1.78 28.906l107.625 10c4.102-16.208 7.082-33.257 9.22-50.75zm-117.53 59.438c-.558 7.228-1.46 14.45-2.72 21.625l87.97 30.156c7.116-12.94 13.018-27.084 17.842-42.186l-103.094-9.594zm-231.783.156l-101.593 9.438c4.824 15.1 10.73 29.25 17.844 42.187l86.564-29.655c-1.298-7.288-2.242-14.624-2.813-21.97zm225 39.844c-2.015 7.52-4.447 14.958-7.342 22.28L412.28 394c13.427-9.784 24.838-21.827 34.47-35.688l-81.97-28.062zm-218.092.47L66.094 358.31c9.63 13.86 21.04 25.904 34.47 35.688l53.686-40.625c-2.98-7.443-5.493-15.007-7.563-22.656zm108.25 2.405v66.563H310.5l-54.688 62.03-57.093-64.78 56.218-63.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StickSplitting;

impl IconShape for StickSplitting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M336.688 19.28l-69.594 40.19h-.03c-10.144 5.872-16.94 21.494-17.283 43.03-.055 3.52.09 7.167.376 10.906l163-94.125h-76.47zM31.313 28.157c35.74 29.83 71.094 60.96 104.78 93.844-26.695-11.76-55.13-21.43-85.343-28.72 35.576 32.083 70.467 65.893 102.47 102.25-22.847-11.376-47.76-20.615-74.845-27.343 84.1 84.957 160.533 184.743 164.25 323.063H492.375v-64.594c-27.172-59.788-61.547-116.962-103.125-168.78l-5.375 3.093c-21.887 12.636-48.78 5.618-72.438-10-23.657-15.62-45.577-40.4-60.25-68.532-11.64-22.323-18.297-46.47-19.78-68.72C172.483 75.306 105.82 45.753 31.31 28.157zm463.53.094L262.438 162.438c1.632 3.834 3.402 7.65 5.344 11.375 2.527 4.84 5.314 9.577 8.314 14.187l218.75-126.313V28.25zm0 55L287.157 203.188c10.542 13.03 22.544 24.232 34.594 32.187 20.43 13.487 39.433 17.113 52.78 9.406h.033l120.28-69.155V83.25zM91.188 263.125c-10.555-.048-18.914 2.914-24.468 8.47-8.888 8.886-11.19 24.946-5.032 45.717 6.156 20.772 20.72 44.94 42.187 66.407 21.466 21.464 45.635 36.03 66.406 42.186 20.773 6.157 36.833 3.856 45.72-5.03.51-.51 1.003-1.04 1.47-1.595-10.497-45.277-29.17-86.01-52.845-123.436-17.523-14.44-35.9-24.454-52.188-29.28-7.79-2.31-14.916-3.41-21.25-3.44zm-51.53 28.906L20.03 311.657v47.625l27.032-27c-1.245-3.244-2.364-6.458-3.312-9.655-3.11-10.488-4.6-20.897-4.094-30.594zm33 84.533L20.03 429.188v46.375l74.657-74.657c-1.36-1.294-2.69-2.626-4.03-3.97-6.592-6.59-12.59-13.424-18-20.373zm36.156 36.656L28.53 493.5h112.595l45.656-45.656c-7.08-.46-14.43-1.843-21.81-4.03-18.405-5.456-37.766-15.88-56.157-30.595z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StickingPlaster;

impl IconShape for StickingPlaster {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M383.594 20.313c-28.797 0-57.576 10.982-79.53 32.937L53.093 304.188c-43.91 43.912-43.91 115.184 0 159.093 43.91 43.91 115.214 43.912 159.125 0l250.936-250.936c43.91-43.913 43.91-115.185 0-159.094-21.955-21.954-50.765-32.937-79.562-32.938zm9.97 23.812c3.18 0 6.352 1.23 8.78 3.656 4.853 4.855 4.853 12.71 0 17.564-4.854 4.853-12.71 4.853-17.563 0-4.852-4.854-4.852-12.71 0-17.563 2.428-2.426 5.6-3.655 8.783-3.655zm34.155 34.156c3.18 0 6.353 1.2 8.78 3.626 4.854 4.854 4.854 12.74 0 17.594-4.854 4.854-12.74 4.854-17.594 0-4.853-4.854-4.853-12.74 0-17.594 2.427-2.427 5.632-3.625 8.813-3.625zm-69.314 1c3.18 0 6.354 1.23 8.78 3.657 4.855 4.854 4.855 12.71.002 17.563-4.854 4.854-12.71 4.854-17.563 0-4.854-4.854-4.854-12.71 0-17.563 2.427-2.426 5.6-3.656 8.78-3.656zm34.156 34.157c3.182 0 6.354 1.198 8.782 3.626 4.853 4.853 4.853 12.74 0 17.593-4.854 4.854-12.74 4.854-17.594 0-4.854-4.853-4.854-12.74 0-17.594 2.427-2.426 5.63-3.625 8.813-3.624zm71.813 1.5c3.18 0 6.354 1.23 8.78 3.657 4.855 4.853 4.855 12.71 0 17.562-4.852 4.854-12.708 4.854-17.56 0-4.855-4.853-4.855-12.71 0-17.562 2.426-2.427 5.6-3.657 8.78-3.656zm-142.625 1c3.18 0 6.354 1.23 8.78 3.657 4.855 4.853 4.855 12.71 0 17.562-4.852 4.854-12.74 4.854-17.592 0-4.854-4.853-4.854-12.71 0-17.562 2.426-2.427 5.63-3.657 8.812-3.656zm34.125 34.157c3.18 0 6.385 1.23 8.813 3.656 4.853 4.854 4.853 12.71 0 17.563-4.854 4.853-12.74 4.853-17.594 0-4.854-4.854-4.854-12.71 0-17.563 2.427-2.427 5.6-3.656 8.78-3.656zm73.344 0c3.18 0 6.353 1.23 8.78 3.656 4.854 4.854 4.854 12.71 0 17.563-4.854 4.853-12.71 4.853-17.563 0-4.853-4.854-4.853-12.71 0-17.563 2.427-2.427 5.6-3.656 8.782-3.656zm-194.814 4.5l13.22 13.22-73.907 73.905-13.22-13.22 73.906-73.906zm55.78 0l73.908 73.906-13.22 13.22-73.905-73.907 13.217-13.22zm102.377 32.156c3.18 0 6.353 1.23 8.78 3.656 4.854 4.854 4.854 12.71 0 17.563-4.853 4.852-12.74 4.852-17.593 0-4.854-4.855-4.854-12.71 0-17.564 2.427-2.427 5.63-3.656 8.813-3.656zm-41.688 84.28l13.22 13.22-73.94 73.938-13.186-13.22 73.905-73.937zm-177.156.033l73.905 73.906-13.22 13.217L160.5 284.25l13.22-13.188zm-42.25 35.156c3.18 0 6.353 1.196 8.78 3.624 4.854 4.853 4.854 12.74 0 17.594-4.854 4.853-12.71 4.853-17.563 0-4.853-4.854-4.853-12.74 0-17.594 2.427-2.427 5.6-3.625 8.782-3.625zm34.155 34.155c3.18 0 6.354 1.198 8.78 3.625 4.855 4.854 4.855 12.74 0 17.594-4.852 4.853-12.708 4.853-17.56 0-4.855-4.854-4.855-12.74 0-17.594 2.426-2.427 5.6-3.625 8.78-3.625zm-69.313 1c3.182 0 6.354 1.198 8.782 3.625 4.853 4.854 4.853 12.74 0 17.594-4.854 4.853-12.71 4.853-17.563 0-4.852-4.854-4.852-12.74 0-17.594 2.428-2.427 5.6-3.625 8.782-3.625zm34.157 34.156c3.18 0 6.353 1.2 8.78 3.626 4.854 4.854 4.854 12.74 0 17.594-4.854 4.854-12.71 4.854-17.563 0-4.853-4.854-4.853-12.74 0-17.594 2.427-2.427 5.6-3.625 8.782-3.625zm71.81 1.5c3.182 0 6.355 1.2 8.782 3.626 4.854 4.854 4.854 12.74 0 17.594-4.853 4.854-12.708 4.854-17.562 0-4.854-4.854-4.854-12.74 0-17.594 2.427-2.427 5.6-3.625 8.78-3.625zm-142.624 1c3.18 0 6.354 1.2 8.782 3.626 4.853 4.854 4.853 12.74 0 17.594-4.854 4.854-12.71 4.854-17.563 0-4.854-4.854-4.854-12.74 0-17.594 2.427-2.427 5.6-3.625 8.78-3.625zm34.157 34.158c3.18 0 6.353 1.197 8.78 3.625 4.854 4.853 4.854 12.74 0 17.593-4.853 4.854-12.708 4.854-17.562 0-4.852-4.853-4.852-12.74 0-17.594 2.428-2.426 5.6-3.625 8.782-3.625zm73.312 0c3.18 0 6.354 1.197 8.78 3.625 4.855 4.853 4.855 12.74 0 17.593-4.852 4.854-12.708 4.854-17.56 0-4.855-4.853-4.855-12.74 0-17.594 2.426-2.426 5.6-3.625 8.78-3.625zm-36.656 36.656c3.18 0 6.353 1.23 8.78 3.656 4.854 4.854 4.854 12.71 0 17.563-4.854 4.853-12.71 4.853-17.563 0-4.853-4.854-4.853-12.74 0-17.594 2.427-2.428 5.6-3.626 8.782-3.626z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stigmata;

impl IconShape for Stigmata {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M273.476 19.613l-45.203 130.145c-7.845-3.678-15.76-7.28-23.66-10.9l.926-109.702c-4.378-2.912-11.307-5.25-18.345-5.355-7.33-.11-13.818 2.057-17.813 5.42l.39 108.723-11.923 30.24c7.442 9.823 13.687 19.976 18.61 30.487l-16.923 7.928c-2.784-5.943-6.086-11.817-9.883-17.625l-.022.052c-15.56-20.853-32.112-37.63-44.377-42.964-6.58-2.862-10.918-2.915-15.433-.505-3.77 2.01-8.26 6.867-12.604 15.605 37.9 37.35 50.285 75.245 58.916 99.86 2.766 7.885 3.73 15.42 5.766 20.818l3.168 8.396L11.68 346.807V494.8h54.122l157.91-148.22v-49.135c-9.57-20.84-22.533-23.885-22.888-48.906-.213-15.578 14.38-28.442 32.478-28.442s33.037 12.86 33.037 28.44c0 24.468-13.488 28.066-23.94 47.376v41.742c11.44-5.626 20.06-12.607 28.705-22.04 10.57-11.92 29.685-30.177 40.377-41.552 33.084-35.19 89.798-74.33 99.072-80.654.79-11.075-7.46-21.74-16.804-25.322l-68.536 51.285c-4.772-6.55-10.026-12.57-15.68-18.148L388.5 91.77c-1.074-6.142-4.977-13.043-10.55-18.118-5.028-4.577-10.857-7.084-15.152-7.613l-82.252 111.98c-6.64-4.392-13.546-8.492-20.636-12.39l50.63-132.228c-5.3-6.128-10.587-9.37-16.736-11.312-5.7-1.8-12.667-2.294-20.328-2.477zm-41.568 341.694c-7.872 65.245-36.92 56.714-37.504 97.82-.254 18.63 17.2 34.018 38.844 34.018 21.645 0 39.513-15.382 39.513-34.018 0-41.315-32.166-32.83-40.852-97.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stiletto;

impl IconShape for Stiletto {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M62.5 17.28c-9.747.288-20.824 5.23-29.844 14.25-15.192 15.193-18.838 36.194-8.125 46.907 7.99 7.988 21.716 8.027 34.47 1.22 16.167 30.05 42.154 57.687 71.438 76.374-18.77 24.156-29.97 54.48-29.97 87.376h18.688c0-28.9 9.828-55.474 26.344-76.53l2.156 39.405C274.5 320.554 402.09 428.196 496.062 494.94c-65.54-95.294-176.99-224.638-288.687-348.407l-38.97-2.124c20.764-15.68 46.638-24.967 74.72-24.97V100.75c-32.2.002-61.945 10.725-85.844 28.78-18.696-29.383-46.39-55.48-76.53-71.686 6.795-12.748 6.796-26.423-1.188-34.407-4.352-4.352-10.393-6.352-17.062-6.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StitchedWound;

impl IconShape for StitchedWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.688 14.47c-9.9 17.578-16.9 35.042-21.157 52.718-30 .05-60.354 6.118-90.25 19.343 30.206-1.245 58.853 1.256 85.94 7.064-1.807 20.477-.167 41.44 4.718 63.406 8.715-19.5 14.788-38.61 18.562-57.5 19.888 5.854 38.888 13.542 57 22.906-8.706 21.313-15.625 43.75-20.906 65.813 17.15-14.825 32.1-32.532 43.937-52.72 16.033 9.956 31.312 21.258 45.845 33.78-14.894 18.655-26.555 39.646-35.5 63.032 20.666-12.887 40.305-26.64 58.344-41.718 11.776 11.827 23.03 24.468 33.717 37.875-18.05 13.51-34.525 29.52-50.093 47.874 23.34-7.02 45.913-15.17 67.25-25.03 9.88 13.904 19.248 28.47 28.094 43.624-19.928 10.57-37.594 24.166-54.032 40.218 22.827-4.56 45.175-10.16 66.75-17.312 8.5 16.012 16.503 32.58 23.938 49.625-17.376 5.93-34.2 14.867-50.75 26.624 19.95-1.098 39.803-2.813 59.344-6.094 12.852 31.89 23.956 65.24 33.28 99.5 6.136-34.692 5.34-70.76-1.156-106.563 15.952-4.408 31.63-10.26 46.938-18.093-17.955-3.76-35.026-4.77-51.47-3.22-4.788-19.56-11.22-38.93-19.124-57.843 19.266-8.834 37.666-19.323 54.97-31.905-24.416.075-46.115 2.948-65.75 8.22-8.473-17.198-18.144-33.875-28.845-49.845 20.15-13.046 38.63-28.44 54.876-46.906-27.136 4.322-51.12 11.75-72.812 22.062-12.598-16.215-26.287-31.466-40.875-45.47 16.55-18.2 30.804-38.286 42.03-60.842-25.817 10.962-47.79 24.042-66.438 39.25-19.178-15.557-39.573-28.977-60.812-39.75 6.06-17.92 9.95-37.2 11.156-57.656-13.128 13.28-24.6 29.352-34.5 47.062-22.77-9.18-46.31-15.263-70.22-17.656 1.253-18.045.512-35.955-2-53.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stomp;

impl IconShape for Stomp {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M387.297 18.652l-251.774.01c-.124 4.428-.422 14.18-.964 27.867C186.5 63.434 254.807 68.975 325.61 57.42c-72.027 25.076-141.894 26.496-191.73 5.232-3.015 67.725-10.782 196.98-29.12 305.727-.845 5.013-.154 8.124 3.345 12.6 1.728 2.207 4.318 4.64 7.842 7.22 2.784-24.286 8.503-43.332 16.29-57.122 4.497-7.96 9.708-14.24 15.908-18.517 4.65-3.207 10.037-5.195 15.52-5.478.456-.024.913-.035 1.37-.035 1.373 0 2.75.11 4.117.338 14.596 2.42 25.21 15.674 32.246 35.447 1.457 4.093 2.768 8.543 3.936 13.318 1.066-2.498 2.183-4.9 3.36-7.175 10.353-20.002 25.817-32.162 42.874-32.06 17.057.1 32.38 12.45 42.485 32.606 1.367 2.728 2.647 5.625 3.85 8.664 1.473-5.234 3.12-10.09 4.937-14.534 7.856-19.22 18.968-32.173 33.603-34.853 1.83-.335 3.68-.473 5.53-.424 5.545.146 11.057 1.963 15.83 5.113 1.25.826 2.456 1.737 3.625 2.723 2.545-8.37 6.03-15.033 10.61-20.147 4.988-5.568 11.92-8.603 18.855-8.932 4.16-.197 8.32.58 12.062 2.368 1.94.927 3.79 2.04 5.563 3.32-9.595-74.893-15.03-149.15-18-201.953-29.56 29.647-80.008 45.813-149.938 35.742 54.903-7.37 107.707-19.57 149.264-48.252-1.593-30.37-2.32-52.028-2.547-59.703zm-18.065 183.176c-42.22 57.425-116.806 84.51-209.462 3.883 71.528 41.004 143.948 53.202 209.462-3.882zm124.516 72.084l-66.42 19.035c1.79 13.926 3.725 27.8 5.81 41.49 2.51 9.12 4.24 19.328 4.958 30.504l.117 1.855-13.156 38.652-36.295 3.375-30.272 28.746-53.576-1.207-57.62 19.806-46.325-16.922h-57.687l-23.595-26.97c-11.65-6.07-20.408-12.245-26.303-19.782-6.198-7.924-8.643-17.8-7.055-27.22 2.77-16.42 5.286-33.446 7.596-50.73l-75.13-19.827v25.568L54.073 345.8c-4.9 6.93-7.85 14.124-9.344 21.612l-25.935 2.73v26.655l31.777 3.318c7.79 14.5 21.55 27.854 41.467 39.13l-66.208 53.85h40.592l85.767-29.906c22.747 6.086 48.21 10.74 75.34 12.85l6.224 17.054h69.885l6.82-18.81c7.366-.82 14.45-1.83 21.61-2.917l33.184 21.727h61.523l-22.873-39.832c6.556-2.5 12.808-4.76 18.69-7.592l71.154 10.244V426.19l-26.77-11.473c3.918-4.274 8.504-8.28 11.098-12.85l15.672-1.693v-33.358l-11.586-1.162c-3.538-15.35-13.428-28.966-30.367-41.466l41.953-30.186v-20.09zM390.8 305.11c-.16.01-.32.03-.478.064-1.27.263-2.504 1.284-4.36 3.357-3.58 3.997-7.863 13.738-9.858 29.59l15.343 51.685 19.82-1.844 8-23.5c-1.232-16.29-4.848-29.898-9.507-39.815-4.825-10.27-10.87-16.376-14.865-18.286-1.748-.836-2.966-1.32-4.094-1.25zm-226.327 20.595c-1.647.05-3.416.65-5.717 2.238-3.07 2.117-6.76 6.154-10.246 12.325-6.856 12.138-12.796 32.282-14.893 59.545l18.147 20.744h40.95c.402-31.988-3.358-55.824-8.923-71.46-5.886-16.54-13.403-22.563-17.696-23.275-.537-.09-1.073-.134-1.62-.117zm177.16 1.3c-.6 0-1.203.06-1.822.175-4.952.907-13.107 7.48-19.67 23.54-5.994 14.664-10.455 36.365-11.263 64.706.035.768.057 1.555.086 2.332l42.246.953 19.948-18.942c-.425-6.905-1.095-13.32-1.96-19.245l-11.75-39.578c-3.366-6.05-6.944-9.883-9.94-11.86-2.27-1.5-4.07-2.075-5.875-2.08zm-90.176 8.597c-8.047-.048-17.797 5.8-26.164 21.964-7.426 14.347-13.012 36.283-13.88 65.598l36.07 13.176 42.593-14.64c.02-1.963.04-3.923.088-5.84-1.248-25.464-6.24-44.84-12.818-57.964-8.17-16.294-17.842-22.247-25.89-22.294z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StompTornado;

impl IconShape for StompTornado {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M141.94 19.12l18.43 56.653C191.107 94.458 328.19 62.62 356.276 26.13c-38.565 23.65-135.532 21.364-160.02-7.01H141.94zm230.453 12.243c-14.163 34.33-39.768 60.526-65.637 74.05 14.96 1.99 31.04 4.38 46.562-5.046l19.075-69.004zM330.05 63.55C281.18 86.94 255.644 95.63 224.298 101.36c17.388 18.688 46.528 29.985 76.012 36-15.733 15.91-45.844 30.012-74.757 36.79 30.223 5.794 114.962 0 124.045-53.564-14.108 10.965-58.055-.69-77.586-14.488 19.223-7.584 38.184-18.908 58.04-42.547zM164.333 92.84l8.33 44.826c11.172 10.12 48.684 24.685 98.774 5.947-54.655-2.796-85.698-28.03-107.104-50.772zm180.848 83.387c-14.148 57.413-116.86 103.996-178.71 88.185l-4.292 15.322 53.197 43.108 12.264-26.692c-10.46-2.576-20.838-6.285-30.802-11.296 63.5 6.462 141.947-24.855 148.926-48.475l-.584-60.152zm-170.024 1.03l-3.45 61.37c13.008 16.844 102.135 11.77 160.462-57.684-42.662 25.838-80.12 37.003-105.21 35.51 0 0 43.29-16.722 57.565-27.292-46.996 10.664-96.064 6.043-109.367-11.902zm174.696 89.49c-3.404 6.94-9.935 13.228-18.7 18.46l1.676 16.752 21.03-15.72-4.006-19.49zm51.26 7.503l-83.59 62.482-2.88-28.804-33.57 45.976-43.2-35.265-15.563 33.875-49.96-40.485-4.006 25.034-56.223-56.222 22.026 98.777c81.24 22.15 161.893 24.255 242.733.127l24.233-105.494zm-101.817 23.006c-16.766 3.702-36.05 4.7-55.652 1.97l33.966 27.73 21.685-29.7zM18.357 378.2v115.495h475.288V378.2H468.44l-87.108 23.044 56.05 34.324-106.767-19.488 34.06 41.947-68.33-26.28.036 44.966-43.8-43.815-50.074 43.91 4.844-51.863-66.41 31.196 11.835-32.58-82.345 5.47 50.716-29.17L43.27 378.2H18.358z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneAxe;

impl IconShape for StoneAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M165.088 23.9l-36.824 73.973 5.584 60.91 39.248 26.475 50.498-50.498 22.896-85.45-81.402-25.41zm114.648 11.786c-.43.002-.86.025-1.285.068-1.702.172-3.353.668-4.848 1.494-2.992 1.65-5.75 4.55-7.38 10.633l-48.917 182.556L238.72 242.8c1.165.672 2.277 1.388 3.337 2.14L292.94 55.044c3.18-11.877-2.487-16.975-9.32-18.844-1.282-.35-2.59-.523-3.884-.514zm57.21 18.207c-3.527-.127-7.513 1.456-11.86 5.802L305.9 78.88l-14.318 53.442 53.064-53.064c4.454-4.454 5.586-8.292 5.52-11.71-.066-3.416-1.584-6.708-4.102-9.2-2.517-2.492-5.59-4.33-9.117-4.455zm26.34 31.873c-1.507 2.336-3.308 4.59-5.425 6.707l-75.954 75.955-20.474 76.418 70.207 47.36 73.64-90.462 12.173-99.07-54.168-16.908zm72.3 22.568l-11.258 91.607 43.533 33.624 1.61-114.654-33.884-10.576zm-221.666 62.53l-31.15 31.148c-2.114 2.115-3.475 4.195-4.266 6.21 1.064.494 2.12 1.038 3.17 1.643l18.875 10.9 13.37-49.902zm202.605 46.665l-69.332 85.17 23.924 16.136 91.658-65.586-46.25-35.72zm-252.845 5.853c-.34.005-.672.024-.996.056-.866.087-1.678.267-2.452.51-3.095.966-5.83 3.317-7.584 6.495-3.504 6.356-3.73 14.03 5.846 19.56l57.05 32.934c10.648 6.147 17.037 1.992 20.61-4.126 1.787-3.058 2.4-6.632 1.58-9.95-.82-3.316-2.907-6.73-8.36-9.88l-57.046-32.933c-3.475-2.006-6.266-2.7-8.648-2.667zm-23.203 40.783c-.34.005-.672.024-.997.057-.865.087-1.677.268-2.45.51-3.096.967-5.833 3.318-7.585 6.496-3.504 6.354-3.73 14.028 5.844 19.555l57.05 32.938h.002c10.647 6.147 17.035 1.99 20.61-4.127 1.786-3.06 2.4-6.63 1.58-9.948-.82-3.317-2.908-6.733-8.362-9.882l-57.045-32.934c-3.475-2.007-6.266-2.7-8.648-2.666zm-7.334 46.96l-105.54 183.1h59.35l90.73-157.388-44.54-25.713z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneBlock;

impl IconShape for StoneBlock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209.875 44.156l-182 106.47 119.625 54.31 148.344 11.72 41.97-24.312 17.342 11.562L309 230.656V379.53l53.563-14.624-64.625 51.97-110.875-59.626-2.157-1.53-71.28 6.56 75.936-31.967 100.75 52.125v-147.5l-145.906-11.5-1.625-.125-1.5-.688-121.093-55V391.47L44 423.186l82 20.97 21.875-21.282 11.156 29.72 131.282 33.592V434l4.25 2.28 5.47 2.94 4.812-3.908L309 431.97v52.155L491.375 377.78v-96.405L466.78 269.47l24.595-38.75V125l-90.25 52.28-1.094 34.095-88-58.688 84.97 5.375L476.5 112 291.562 64.937l1.625.563-64.406 5.78 5.345-20.936-24.25-6.188z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneCrafting;

impl IconShape for StoneCrafting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M352.75 39.47l-33.094 83.374 111.156 111.28 58.22-58.28L352.75 39.47zm-160.344 5.218c-98.25 66.974-166.87 161.246-169.47 288.906 62.25-119.817 162.457-225.092 255.22-269.75l-85.75-19.157zM97.75 60.156L68.187 89.72c7.276 6.96 14.53 13.893 21.813 20.843 8.887-10.39 18.37-20.35 28.313-29.907l-20.563-20.5zm353.813 0L425.688 86l28.718 28.75c8.91-8.36 17.822-16.728 26.72-25.094l-29.563-29.5zm-263.938 89.75c-9.44 8.552-18.824 17.596-28.063 27.063 25.263 24.13 50.526 48.323 75.688 72.75l26.188-26.126-73.813-73.688zm153.313 20.72L68 443.155l29.313 29.22c83.48-96.13 175.757-186.498 269.812-275.532l-26.188-26.22zm-28.25 104.155c-8.692 8.42-17.35 16.853-25.97 25.314 55.896 55.38 111.166 112.353 165.157 172.437l29.438-29.374L312.688 274.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneSpear;

impl IconShape for StoneSpear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.563 20.844v44.593l73.124 72.907c4.878-7.945 10.962-15.65 18.126-22.813 7.152-7.15 14.825-13.194 22.75-18.06L58.156 20.843H20.563zm159.812 81.062c-.566-.005-1.138.014-1.72.03-3.097.097-6.42.522-9.905 1.283-13.942 3.043-29.973 11.753-43.75 25.53-13.777 13.777-22.487 29.808-25.53 43.75-2.905 13.296-.81 23.935 5.28 30.78 5.4-20.354 17.587-41.18 35.594-59.186 18.024-18.024 38.876-30.203 59.25-35.594-4.718-4.223-11.25-6.526-19.22-6.594zm40.47 22.156c-3.977.096-8.19.624-12.595 1.563-17.62 3.755-37.603 14.572-54.72 31.688C136.417 174.428 125.6 194.38 121.845 212c-3.755 17.62-.633 32.086 8.47 41.188.905.906 1.894 1.744 2.905 2.53 4.635-31.49 18.506-59.084 39.436-80 20.69-20.674 47.894-34.465 78.938-39.25-.678-.837-1.393-1.642-2.156-2.405-6.827-6.827-16.668-10.288-28.594-10zm55.343 28.657c-36.56.167-68.017 13.906-90.344 36.218-2.24 2.24-4.375 4.58-6.438 7 22.43 11.654 37.317 26.57 46.313 43.062 10.575 19.392 12.977 40.393 12.155 60.03l-18.688-.78c.736-17.565-1.448-34.863-9.875-50.313-7.466-13.688-19.874-26.317-41.03-36.687-18.155 29.68-24.497 68.66-12.657 111.844 36.472 3.146 72.888 24.29 86.375 66.25 45.025-6.375 119.336 26.557 127.22 64.25 39.96 18.477 84.588 33.368 125.717 45.094-11.33-35.873-24.38-81.097-40.718-116.97-34.53-21.506-49.702-62.82-46.626-106.343-40.336-30.105-70.18-69.518-74.78-112.625-19.782-6.95-38.806-10.113-56.627-10.03zm-9.532 45.5c10.293 52.54 58.667 86.17 100.625 93.718l-3.31 18.375c-11.09-1.996-22.478-5.503-33.595-10.438-6.93 19.615 1.34 41.252 19.75 60 19.638 19.998 50.412 34.906 81.094 35.97l-.658 18.686c-36.154-1.25-70.657-18.014-93.78-41.56-.98-1-1.936-2.004-2.876-3.033-15.47-12.362-27.615-16.12-38.47-15.5-10.918.624-21.598 6.012-33.03 15.063l-11.594-14.656c13.043-10.327 27.295-18.134 43.563-19.063 6.378-.363 12.9.373 19.563 2.283-5.637-15.188-6.428-31.344-.25-46.813-31.03-18.508-57.392-48.844-65.344-89.438l18.312-3.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneSphere;

impl IconShape for StoneSphere {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.875 19.5C206.14 19.5 160.037 34.86 122 61.063c33.35 9.71 66.81 10.924 98.563 4.624 23.058-19.33 50.26-33.13 81.156-41.75-14.83-2.91-30.157-4.437-45.845-4.437zm84.28 15.47c-39.835 5.745-73.35 19.004-100.78 39.874 31.776 38.663 58.146 80.623 77.063 126.937l2.125 1.064 67.906 33.812c9.494-23.477 16.547-46.637 16.124-70.47-14.33-36.806-21.36-73.78-21.375-110.75-12.902-8.085-26.644-14.965-41.064-20.467zm60.033 33.686c1.4 29.016 7.45 58.036 18.406 87.188L478 175.188c-15.394-42.552-42.668-79.38-77.813-106.532zm-294.25 6.75c-4.492 30.815-4.006 59.867 2.624 90.75l137.22 72.438c19.06-5.428 37.233-15.08 54.124-27.813-18.547-46.068-44.764-87.854-76.875-126.5-37.813 7.266-77.826 4.59-117.093-8.874zm-20.72 16.938c-38.897 40.635-63.402 95.16-65.374 155.437 12.708-9.902 24.53-20.713 35.625-32.31-.035-.084-.06-.17-.095-.25l.53-.22c12.524-13.14 24.12-27.26 34.94-42.25-6.154-27.393-7.755-53.692-5.626-80.406zm335.844 83.97c-1.416 25.13-9.332 48.69-18.75 71.342 27.002 39.79 45.036 85.1 54.188 132.72 22.526-36.18 35.53-78.914 35.53-124.72 0-20.237-2.535-39.886-7.31-58.625l-63.658-20.718zm-316.25 9c-8.685 11.924-17.89 23.38-27.687 34.28 17.71 47.887 24.35 96.876 27.625 145.72 19.492 1.947 44.6-.948 65.28-9.252 14.61-38.1 33.473-73.77 58.94-105.218l-124.157-65.53zm210.75 36.905c-20.514 16.267-43.27 28.78-67.937 35.218-25.362 29.9-44.158 64.425-58.875 102.03 25.945 16.47 49.38 35.766 66.5 60.844 53.625-28.136 118.39-54.17 174.875-69.625-9.758-33.28-24.35-64.76-43.72-93.156l-70.842-35.31zM62.688 234.812C49.61 247.83 35.511 259.882 20.22 270.78c2.602 41.27 15.764 79.64 36.843 112.44 10.402-1.57 19.94-6.687 29.187-14.22-2.964-45.772-8.778-90.685-23.563-134.188zm372.25 133.968c-56.05 15.36-121.654 41.877-174.593 70-10.558 17.43-13.517 34.648-13.938 52.814 3.145.124 6.294.187 9.47.187 75.177 0 142.078-35.016 185.31-89.655-1.577-11.25-3.65-22.378-6.248-33.344zm-258.843 4.876c-25.448 10.093-54.342 12.98-77.875 9.594-8.802 7.15-18.705 13.085-29.595 16.375 37.79 49.093 94.466 82.86 159.22 90.5.59-18.247 3.69-37.243 13.874-56.156-15.817-24.467-38.78-43.577-65.626-60.314z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneTablet;

impl IconShape for StoneTablet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206.355 24.53L23.982 171.567l.086.373h-.013l-5.7 124.037 131.676 82.55L245.66 492.14l63.94-8.59 109.808-109.587 72.772-35.453.953-70.24 1.186-50.508L327.75 104.63l-33.41 14.46-3.46 29.756-18.566-2.16 3.21-27.598-46.934-7.715-21.106 28.844-15.082-11.037 27.887-38.11 65.273 10.73-.13.78 25.2-10.908-51.485-64.012-52.793-3.13zM40.605 218.886l117.91 74.13 49.065-9.7-14.14-13.71 13.01-13.42 39.75 38.545-71.942 14.223-18.918 50.844-117.817-73.86 3.082-67.052zm362.754 59.068l44.382 20.55 26.463-12.92-.56 41.165-50.293 24.504 9.59-39.008-37.434-17.332 7.85-16.96zm-211.534 37.373l78.108 93-24.81 54.158-75.405-89.59.602.225 21.504-57.794zm218.403 11.028l-9.896 40.24-89.69 89.51 19.092-49.204 80.493-80.546zm-102.293 85.064l-21.904 56.44-24.312 3.267 26.118-57.01 20.1-2.697z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneThrone;

impl IconShape for StoneThrone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.563 21.125L162.5 53.188v216.75H180.063v35.093H333V269.94h17.564l-.002-216.594-95-32.22zm-143.22 9.156v239.657h31.47V30.28h-31.47zm256.907 0v239.657h31.47V30.28h-31.47zM203.687 59.157l30.938 33.875 22.188-33.28 22.218 33.28 28.595-31.53-11.688 63.656h-80l-12.25-66zM77.844 288.626v34.28h83.53v-34.28h-83.53zm273.844 0v34.28h83.53v-34.28h-83.53zm-171.625 35.093v17.874h-17.408v15.22l187.75-.002v-15.218H333V323.72H180.062zM95.25 341.593v150.47l48.72-.002V341.595H95.25zm273.844 0v150.47l48.72-.002-.002-150.468h-48.718zM162.656 375.5v97.156h187.75V375.5h-187.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StoneTower;

impl IconShape for StoneTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71 22.406v102.53h202.25v18.69h-73.22v36.968h-18.686v-36.97H79.156l43.375 53.782h180.44v18.688H180.905v36.97H162.22v-36.97h-39.407v163.562h58.53v-44.75H157.47V316.22h74.155V282.56H193.72v-18.687h97.218v18.688h-40.625v33.656h73.28v18.686h-32.437v44.75h26.313v18.688h-63.69l-2.686 74.03-18.688-.687 2.656-73.343H93.032V398h-.22l-28.687 92.844h79.844l9.81-70.688 18.5 2.563-9.468 68.124H453.25L424.562 398h-30.03V197.78l51.812-64.25V22.407h-64.406v52.438h-39.22V22.406h-65.124v52.438h-38.53V22.406h-65.126v52.438h-38.5V22.406H71zm129.03 312.5v44.75h72.44v-44.75h-72.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StonedSkull;

impl IconShape for StonedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.008 18.742C134.098 18.74 55.435 57.028 41.34 99.412h.002c-25.93 77.97 72.846 117.983 216.416 92.307 78.262-14 182.29 16.69 123.08 80.35 151.465-68.768 22.753-120.352-128.742-102.648-88.326 10.322-160.02 11.012-170.92-37.805-7.92-35.467 76.538-71.817 167.17-77.25 89.626-5.373 183.32 37.95 170.533 64.828-17.172 36.097-126.9 7.75-120.308-25.113 2.21-11.017 19.864-15.988 42.05-14.6-30.58-10.615-72.8-11.888-79.427 12.846-4.788 17.872 27.71 42.46 72.418 53.73 54.674 13.782 115.05 5.32 115.05-46.136 0-44.9-92.297-81.18-202.655-81.18zM234.928 214.9c-53.913.166-99.455 27.145-110.98 70.15-7.384 27.56 1.155 56.586 19.86 81.18 2.062 2.712-.42 8.23-3.505 11.094-51.883 48.172-12.11 89.938 25.113 51.393-16.988 47.312 24.365 66.46 46.72 24.53-2.453 47.795 41.422 54.253 51.977 8.76 12.305 50.245 66.506 34.658 47.305-33.29-1.426-5.044.676-9.273 4.672-10.506 33.486-10.338 58.973-33.09 67.164-63.66 5.56-20.75 2.315-42.26-7.766-62.013l-56.636 13.39 38.91-38.91c-18.736-20.818-45.76-37.6-77.88-46.206-13.436-3.6-26.748-5.462-39.712-5.837v-.004c-1.756-.052-3.503-.075-5.242-.07zm-37.04 65.096c3.502.035 7.058.51 10.598 1.457 22.658 6.07 36.103 29.36 30.032 52.018-6.07 22.658-29.36 36.103-52.018 30.032-22.657-6.07-36.102-29.36-30.03-52.018 5.12-19.117 22.5-31.676 41.417-31.488zm2.782 40.19c-7.255 0-13.137 5.883-13.137 13.136 0 7.253 5.882 13.133 13.137 13.133 7.255 0 13.137-5.88 13.137-13.133 0-7.255-5.882-13.136-13.137-13.136zm96.088 17.546c2.542.026 5.124.37 7.693 1.057 16.445 4.405 26.202 21.307 21.796 37.75-4.406 16.445-21.308 26.204-37.752 21.798-16.443-4.406-26.2-21.308-21.795-37.752 3.717-13.874 16.33-22.99 30.058-22.854zm-51.955 24.47c8.905 23.324 15.9 66.205-16.97 56.83-31.33-8.898-.897-41.16 16.97-56.83z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Stopwatch;

impl IconShape for Stopwatch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179.594 20.688v41.406h143.25V20.687h-143.25zM256.03 82C143.04 82 51.25 173.727 51.25 286.656c0 112.93 91.788 204.656 204.78 204.656 112.994 0 204.75-91.728 204.75-204.656C460.78 173.73 369.025 82 256.03 82zm0 35.625c93.42 0 169.126 75.665 169.126 169.03 0 93.368-75.706 169.564-169.125 169.564-93.417 0-169.155-76.197-169.155-169.564 0-93.366 75.736-169.03 169.156-169.03zm76.19 20.28l-72.47 107.5c10.67 1.036 20.516 6.045 27.625 13.814l44.844-121.314zm-85.533 1.064v45.31c3.077-.275 6.196-.405 9.344-.405 3.155 0 6.263.13 9.345.406v-45.31h-18.688zm-88.53 36.655l-13.22 13.22L177 220.874c3.992-4.784 8.432-9.198 13.22-13.188l-32.064-32.062zm195.75 0l-32.063 32.063c4.786 3.99 9.196 8.403 13.187 13.187l32.064-32.03-13.188-13.22zm-98.344 81.22c-2.08.01-4.195.243-6.313.686-16.948 3.544-27.7 20.005-24.156 36.94 3.544 16.932 20.02 27.698 36.97 24.155 16.946-3.543 27.7-20.004 24.155-36.938-3.102-14.816-16.104-24.925-30.658-24.843zM108.28 277.31V296h45.314c-.278-3.08-.406-6.192-.406-9.344 0-3.146.13-6.27.406-9.344H108.28zm250.157 0c.277 3.075.438 6.197.438 9.344 0 3.153-.16 6.264-.438 9.344h45.344v-18.688H358.44zm-60.062 6.72c.993 10.522-1.968 20.742-7.813 28.937l124 19.092-116.187-48.03zM176.97 352.405l-32.032 32.03 13.218 13.22 32.063-32.03c-4.798-4-9.253-8.424-13.25-13.22zm158.093 0c-4 4.796-8.423 9.22-13.22 13.22l32.063 32.03 13.188-13.22-32.03-32.03zM246.688 389v45.313h18.687V389c-3.082.278-6.19.438-9.344.438-3.147 0-6.266-.16-9.342-.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Strafe;

impl IconShape for Strafe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.5 18.95c-20.1.1-40.9 4.3-61.3 12.3 6 18.3 23 69.15 23 69.15l-17.7 6s-15.7-47.05-22.4-67.45c-17.9 9.3-35.34 21.7-50.94 37.3-16 16.1-28.9 34.15-38.3 52.85 21.8 7.2 66.6 22.3 66.6 22.3l-6 17.8s-48-16.2-68.3-22.9c-14.002 36.2-15.902 74-5 105.9 12.7-12.7 32.7-19.5 56.4-20.7l65.84 65.9 13.2-13.2-51.64-51.8c49.24 5.6 107.44 30.9 150.64 74.1l45.9-45.8c-42.4-42.4-66.8-101.3-72.5-150.9l51 51 13.2-13.2-65.3-65.35c.9-24.2 7.3-44.2 19.2-56.1-14.3-4.9-29.7-7.3-45.6-7.2zM318.3 154.9c-2.7 0-5.4.3-8 .9 2.7 1.8 5.4 3.9 7.8 6.3 12.1 12.1 15.9 28 8.4 35.5s-23.5 3.7-35.6-8.4c-2.4-2.4-4.5-5-6.2-7.7-.6 2.6-.9 5.2-.9 7.9 0 19 15.4 34.4 34.5 34.4 5.6 0 10.9-1.3 15.5-3.7l16.3 16.3 13.2-13.2-15.7-15.7c3.3-5.3 5.2-11.5 5.2-18.1 0-19.1-15.4-34.5-34.5-34.5zm-95.4 42c66.2 66.2 32 100.5-34.2 34.3zm153.6 39.5l-13.2 13.2 30.7 30.7 13.2-13.3zm43.9 43.9l-13.2 13.2 29.2 29.2 13.2-13.2zm-240 11.5c-2.7 0-5.4.3-7.9.9 2.6 1.7 5.2 3.9 7.7 6.3 12.1 12.1 15.8 28 8.3 35.5-7.4 7.4-23.3 3.7-35.4-8.4-2.4-2.5-4.5-5.1-6.3-7.7-.6 2.5-.9 5.1-.9 7.8 0 19.1 15.5 34.5 34.5 34.5 6.6 0 12.8-1.9 18-5.1l16.2 16.2 13.2-13.2-16.7-16.7c2.4-4.7 3.8-10 3.8-15.7 0-19-15.5-34.4-34.5-34.4zm282.5 30.9L449.6 336l34.5 34.4V344zM241 371.8L227.8 385l30.7 30.6 13.2-13.1zm43.9 43.8l-13.2 13.3 29.3 29.2 13.1-13.2zm42.6 42.5l-13.3 13.2 21.8 21.8h26.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StrikingArrows;

impl IconShape for StrikingArrows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M136.564 31.01l239.67 149.595c-12.418 21.234-20.756 28.302-45.027 46.936l156.3-26.33-85.603-125.474c4.936 24.85 8.85 38.5.75 60.49L136.568 31.01h-.004zM21.524 42.75l83.13 325.893c-21.017 5.232-30.98 3.262-58.875-3.96l124.046 113.45 13.426-166.844c-10.836 23.322-15.94 37.197-34.342 46.82L21.523 42.75zm64.353.215l252.2 353.16c-23.285 16.947-36.38 19.583-73.83 24.9l200.66 71.74L407.7 286.944c-2.477 33.743-2.313 53.14-20.37 74.09L85.877 42.965z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StrikingBalls;

impl IconShape for StrikingBalls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M28.47 52.22l26.655 106.25 72.25 161.436-42.97-44.75 20.97 83.47c12.218-17.024 32.14-27.943 54.063-28.063 2.257-.013 4.55.09 6.843.312 4.276.413 8.428 1.238 12.407 2.406L28.47 52.22zm81.624 2.31l241.562 126.407c-2.14-5.167-3.676-10.68-4.47-16.468-.23-1.698-.397-3.382-.498-5.064l-108.094-67.75L362 112.78c3.004-3.63 6.38-6.962 10.094-9.905l-262-48.344zM85.97 81.313L269.25 292.72l-72.563-57.69 117.875 161.345c3.147-18.118 11.676-34.284 23.813-46.906l-79.688-99.064 107.844 79.22c7.798-3.513 16.147-5.957 24.876-7.126L85.97 81.312zm328.405 25.813c-2.434-.04-4.92.097-7.406.438-26.52 3.63-44.883 27.856-41.25 54.374 3.63 26.52 27.824 44.882 54.342 41.25 26.52-3.63 44.913-27.825 41.282-54.343-3.178-23.204-22.113-40.177-44.563-41.625-.8-.053-1.594-.082-2.405-.095zM403.5 340.405c-1.225-.004-2.447.006-3.656.064-36.268 1.72-65.87 30.53-67.844 67.592-2.107 39.534 28.06 73.08 67.594 75.188 39.533 2.107 73.05-28.062 75.156-67.594 2.107-39.534-28.03-73.05-67.563-75.156-1.235-.066-2.462-.088-3.687-.094zm-244 8.845c-24.54.1-45.306 18.648-47.72 43.625-2.573 26.642 16.765 50.114 43.407 52.688 26.643 2.573 50.114-16.765 52.688-43.407 2.574-26.642-16.764-50.113-43.406-52.687-1.666-.162-3.334-.227-4.97-.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StrikingClamps;

impl IconShape for StrikingClamps {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M40.98 33.47c42.365 69.924 62.112 128.807 67.23 167.143-2.18-.5-4.446-.773-6.776-.773-15.047 0-27.516 11.026-29.778 25.437-14.03-22.296-30.308-61.62-45.88-121.623C86.005 464.07 279.215 338.11 40.978 33.47zm166.485 48.26c81.832 9.75 131.982 36.245 149.36 55.81-4.444 4.413-7.198 10.53-7.198 17.288 0 1.892.223 3.73.63 5.498-15.305.858-43.695-6.828-85.5-28.885 233.85 149.603 273.12-20.542-57.292-49.71zm-65.473 3.71c133.425 99.39 206.29 185.384 234.88 241.12-1.758-.23-3.546-.36-5.366-.36-22.58 0-40.885 18.302-40.885 40.882 0 3.86.547 7.59 1.546 11.13-41.953-26.657-103.148-88.887-173.48-197.18 321.64 535.806 553.76 265.665-16.694-95.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StrikingDiamonds;

impl IconShape for StrikingDiamonds {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M30.875 36.063L88.25 300.625 202.406 400.97l24.688-76.814L30.874 36.062zm102 42.343L333.72 198.344l96.374 2.375-46.78-68.345-250.44-53.97zm3.5 42.28l202 284.595 149.5 78.626L440.78 365.78 136.376 120.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StrikingSplinter;

impl IconShape for StrikingSplinter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.018 20.705l135.64 163.623-107.33-32.39 168.79 111.326L82.784 224.11l192.51 111.87-130.525-1.76 282.08 126.116c13.913 7.198 28.182 13.638 42.728 19.246l2.297.885 20.797 9.3-16.895-37.82c-3.67-9.115-7.69-18.094-12.03-26.926L338.312 144.24l1.094 129.362L228.352 82.393l38.482 136.49L155.906 50.668l31.684 106.467L23.018 20.705zm225.148 225.178c94.262 38.75 169.608 116.195 208.152 207.924-91.01-40.827-168.835-115.908-208.152-207.924z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct StripedSword;

impl IconShape for StripedSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.492 18.445V48.32l142.8 230.215 13.263-14.068L23.953 18.445h-3.46zm62.363 0L221.78 244.19l-.116.12 57.42 98.366c13.31-10.723 26.58-20.305 39.62-29.184l-61.907-105.66-21.63 22.457L104.8 18.444H82.854zm80.303 0l113.24 186.012.06-.035 57.827 98.697c14.364-9.413 28.354-18.235 41.688-27.07l-70.545-118.71-21.957 22.797-98.433-161.692h-21.88zm80.96 0L326.935 157.1l.066-.04 64.45 108.454c13.838-9.718 26.8-19.798 38.538-31.08l-75.97-127.543-21.79 22.626-66.34-111.07h-21.77zm76.56 0l54.984 88.522.113-.07L443.37 220.38c11.33-13.075 21.146-27.87 29.054-45.384L415.11 78.6l-29.126 9.564-43.306-69.72h-22zm76.136 0L442.42 87.96l38.508 64.772c8.563-26.848 13.343-59.395 13.343-100.128l-43.354 14.238-31.748-48.397h-22.354zM20.492 162.34v34.78l93.502 146.724 81.238 129.408 46.653-27.14-15.565-24.794-24.6 26.12-76.808-128.2 22.406-23.763-9.09-14.48-30.728 17.878L20.492 162.34zm187.7 95.96l-6.49 6.737-28.397 30.117 55.463 94.74c11.814-12.983 23.79-24.55 35.79-35.03l-56.367-96.565zm-48.25 51.026l-11.73 12.442 56.84 94.87 11-11.677-1.767-2.814-54.342-92.82zm-39.374 80.14c-29.078 28.91-67.018 54.394-98.775 73.612-.106 8.052 1.748 14.447 5.334 19.082 3.678 4.754 9.542 8.254 18.602 9.875 25.252-25.11 59.002-52.65 92.245-74.844l-17.407-27.725z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Strong;

impl IconShape for Strong {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.375 20.313c-13.418 0-26.07 7.685-35.938 21.75-9.868 14.064-16.343 34.268-16.343 56.75 0 22.48 6.475 42.654 16.344 56.718 9.868 14.066 22.52 21.75 35.937 21.75 13.418 0 26.038-7.684 35.906-21.75 9.87-14.063 16.376-34.236 16.376-56.718 0-22.48-6.506-42.685-16.375-56.75-9.867-14.064-22.487-21.75-35.905-21.75zm-150.25 43.062c-20.305.574-23.996 13.892-31.78 29.03-23.298 45.304-55.564 164.75-55.564 164.75l160.47-5.436 29.125 137.593-22.78 106.03h149.093l-22.282-106 24.25-137.5 157.53 5.313c.002 0-32.264-119.447-55.56-164.75-7.787-15.14-11.477-28.457-31.782-29.03-17.898 0-32.406 15.552-32.406 34.718 0 19.166 14.508 34.72 32.406 34.72 3.728 0 7.258-.884 10.594-2.126l7.937 74.406L309.437 165c-.285.42-.552.867-.843 1.28-12.436 17.724-30.604 29.69-51.22 29.69-20.614 0-38.782-11.966-51.218-29.69-.277-.395-.54-.816-.812-1.218l-116.75 40.032 7.937-74.406c3.337 1.242 6.867 2.125 10.595 2.125 17.898 0 32.406-15.553 32.406-34.72 0-19.165-14.507-34.718-32.405-34.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SuckeredTentacle;

impl IconShape for SuckeredTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M292.97 13.594c-2.632.016-5.295.076-8 .187-5.774.24-12.015 1.07-18.126 1.75-169.278 18.935-231.652 152.474-88.75 258.72 87.533 65.08 84.216 129.8-87.594 210.25h125.563c27.99-26.536 97.72-16.83 117.968-1.75 82.612-58.804 67.125-198.108-39.124-245.28-134.93-59.91-118.62-158.366-23.97-176.376 53.675-10.214 97.9 17.11 106.314 50.812 12.404 49.682-36.528 108.388-114.47 38.53 75.468 131.223 168.275 38.942 161.19-44.374-4.14-48.648-49.446-92.985-131-92.468zM218 201.624c3.67.1 6.518 1.456 7.125 3.72.882 3.293-3.288 7.292-9.313 8.906-6.024 1.614-11.648.23-12.53-3.063-.883-3.293 3.287-7.26 9.312-8.875 1.882-.504 3.737-.732 5.406-.687zm23.344 21.47c6.026-.21 10.822 1.795 11.78 5.375 1.28 4.772-4.767 10.534-13.5 12.874-8.73 2.34-16.845.367-18.124-4.406-1.28-4.774 4.768-10.536 13.5-12.875 2.183-.585 4.335-.9 6.344-.97zm40.5 23c8.61.098 15.31 3.21 16.72 8.47 2.002 7.476-7.448 16.49-21.127 20.155-13.678 3.664-26.402.57-28.406-6.908-2.002-7.477 7.48-16.49 21.157-20.156 3.42-.916 6.76-1.422 9.907-1.53.59-.02 1.176-.04 1.75-.032zm41.22 35.875c11.767.13 20.948 4.345 22.873 11.53 2.74 10.22-10.21 22.584-28.906 27.594-18.693 5.01-36.073.78-38.81-9.438-2.74-10.22 10.21-22.584 28.905-27.594 4.674-1.252 9.262-1.913 13.563-2.062.806-.028 1.59-.04 2.375-.03zm13.998 51.092c19.08.054 34.165 7.447 35.688 18.5 1.806 13.1-16.16 26.385-40.125 29.688-23.966 3.303-44.85-4.65-46.656-17.75-1.807-13.1 16.158-26.385 40.124-29.688 3.744-.516 7.435-.76 10.97-.75zm-15.937 64.313c23.456-.2 42.226 8.895 43.844 22.313 1.847 15.333-19.42 30.493-47.47 33.875-28.05 3.38-52.277-6.292-54.125-21.625-1.848-15.334 19.386-30.525 47.438-33.907 3.506-.42 6.96-.626 10.312-.655z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Suits;

impl IconShape for Suits {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M300.125 22.22c-16.803.392-34.233 9.65-45.53 29.218-27.148-47.017-96.42-34.833-94.626 21.374 1.87 58.528 85.608 92.668 94.624 126.313 8.25-30.797 96.137-70.224 94.375-126.313-1.03-32.814-24.287-51.168-48.845-50.593zm109.53 112.28s-86.616 63.248-85.03 113.78c1.356 43.213 45.503 58.606 73.53 33.564l-24.56 58.875h72.374l-24.595-58.908c28.416 24.42 74.963 10.286 73.563-33.53-1.683-52.735-85.282-113.782-85.282-113.782zm-303.436 2.03c-24.513.018-44.626 19.58-44.626 44.095 0 10.22 3.667 19.87 9.468 27.375-1.847-.232-3.652-.563-5.562-.563-24.526 0-44.656 20.13-44.656 44.657 0 24.525 20.13 44.656 44.656 44.656 10 0 19.224-3.35 26.656-8.97L69.75 341.44h72.375l-22.75-54.47c7.604 6.088 17.202 9.782 27.594 9.782 24.526 0 44.124-20.13 44.124-44.656s-19.6-44.656-44.125-44.656c-2.1 0-4.104.276-6.126.562 5.887-7.535 9.5-17.072 9.5-27.375 0-24.515-19.583-44.077-44.094-44.094h-.03zM254.53 283.5l-85.468 105.125 85.47 105.156 85.5-105.155-85.5-105.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sun;

impl IconShape for Sun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M320.063 19.72c-72.258 14.575-19.248 71.693-74.344 108.81 4.846-.49 9.746-.702 14.655-.624 16.288.26 32.785 3.72 48.594 10.72 4.96 2.196 9.723 4.667 14.25 7.405 12.107-47.476-37.103-96.38-3.158-126.31zM136.75 44.47c-40.76 61.357 36.984 64.33 24.406 129.405 17.407-21.255 41.17-35.9 67.156-42.313-25.006-42.138-94.4-41.924-91.562-87.093zm297.313 75.405c-32.547.872-45.475 46.314-96.594 36.22 21.35 17.42 36.034 41.25 42.467 67.31 42.306-24.92 42.053-94.466 87.282-91.624-13.43-8.92-24.06-12.15-33.158-11.905zm-177.97 26.656c-23.656.46-46.53 8.82-64.906 23.626l18.657 36.156L170 193.156c-3.576 5.264-6.737 10.908-9.406 16.938-8.726 19.708-11.002 40.59-7.78 60.344l44.78 2.125-34 30.312c10.798 20.622 28.414 37.852 51.406 48.03 3.077 1.364 6.186 2.574 9.313 3.626l24.53-38.25 9.095 43.814c27.3.075 53.737-10.387 73.593-29.188l-19.186-37.125 38.406 12.658c1.822-3.188 3.512-6.506 5.03-9.938 9.746-22.01 11.457-45.498 6.44-67.22l-37.626-1.75 27.687-24.718c-10.83-20.194-28.236-37.07-50.874-47.093-1.37-.607-2.745-1.176-4.125-1.72l-25.874 40.313-9.906-47.75c-.5-.016-1-.023-1.5-.032-1.3-.02-2.61-.024-3.906 0zM133.407 186.5c-41.652.725-82.483 34.847-108.72 5.094 14.573 72.234 71.664 19.3 108.783 74.312-2.154-20.972.934-42.758 10.06-63.375 2.178-4.915 4.637-9.604 7.345-14.093-5.822-1.47-11.642-2.038-17.47-1.937zm249.5 53.97c2.204 21.047-.867 42.926-10.03 63.624l-.188.375c-2.143 4.796-4.57 9.393-7.22 13.78 47.524 12.244 96.507-37.137 126.47-3.156-14.603-72.388-71.92-19.04-109.032-74.625zM136.53 283.405c-42.123 25.014-41.928 94.37-87.093 91.53 61.422 40.803 64.322-37.123 129.594-24.342-21.344-17.385-36.03-41.167-42.5-67.188zm219.064 48.906c-17.406 21.46-41.236 36.24-67.344 42.72 24.944 42.263 94.497 42.004 91.656 87.218 40.867-61.52-37.402-64.358-24.312-129.938zM193.406 360.72c-12.047 47.456 37.087 96.33 3.156 126.25 72.305-14.587 19.195-71.79 74.47-108.908-21.04 2.204-42.898-.9-63.594-10.062-4.884-2.162-9.57-4.594-14.032-7.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SunRadiations;

impl IconShape for SunRadiations {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M168.236 12.088l-94.404.004c10.896 8.36 17.928 21.505 17.928 36.3 0 25.262-20.48 45.74-45.74 45.74-15.066 0-28.43-7.287-36.762-18.528v98.755l5.29 41.3 17.313-100.47 26.728 82.066 2.236-67.27 35.838 31.01-12.25-54.86 54.086 28.135-36.762-46.575 53.04-2.56-45.45-22.887 56.268-12.486-47.965-8.153 50.606-29.522zm33.598 6.31l-33.938 17.928 102.02-5.318-105.445 36.53 107.22 23.17-111.36 10.636 109.586 46.105-108.754-14.188 94.57 75.656-90.785-42.2 46.455 75.3-92.21-85.588 56.154 134.648-72.7-94.57 13.004 108.758-42.086-93.037L60.09 338.362l-26.008-136.06-15.727 47.63v106.682L38.22 309.99 58.91 464.26 82.55 289.303l86.296 203.326-24.825-201.552L258.687 437.66l-70.926-172 170.224 127.67L220.86 212.467l189.138 75.656L266.96 175.82l198.6 25.414-184.412-77.427 209.235-29.55-206.28-28.374 113.752-47.485h-196.02z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sunbeams;

impl IconShape for Sunbeams {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.488 17.883V27.1l31.72 13.17c-4.947 16.663-7.873 34.187-8.507 52.275L17.49 89.443v63.428l28.852-3.917c3.968 16.532 9.893 32.31 17.527 47.068l-46.38 19.193v85.652l77.298-60.297c10.784 11.913 22.92 22.575 36.154 31.762L17.487 419.047v74.812h79.15l80.544-197.33c14.558 5.425 29.874 9.278 45.746 11.35l-24.914 185.98H299.93L275.055 308.18c16.05-1.902 31.553-5.62 46.29-10.948l79.96 196.63h92.16v-58.548L368.043 273.34c13.018-8.875 24.983-19.18 35.68-30.682l89.742 69.053V221.18l-57.643-23.737c7.784-14.768 13.854-30.573 17.95-47.15l39.693 5.292V87.275l-33.748 4.543c-.694-18.028-3.672-35.49-8.65-52.09l42.398-17.505v-4.338h-112.22l-42.282 32.527c-4.65-8.143-10.22-15.098-16.805-21.683l8.13-10.845H167.655l7.59 9.758c-6.94 6.73-12.477 14.34-17.346 22.767l-41.744-32.527H17.488zm416.22 29.012c4.37 15.116 6.913 31.006 7.392 47.43l-88.584 11.925c.04-1.177 0-2.065 0-3.254 0-7.216-.776-14.88-2.168-21.683l83.36-34.418zM66.57 47.48l78.856 32.747c-1.546 7.146-2.168 15.16-2.168 22.767 0 1.19-.04 2.075 0 3.254L59.31 95.03c.42-16.463 2.93-32.39 7.262-47.55zm82.65 87.5c2.51 7.588 5.67 14.977 9.758 21.684l-77.84 32.21c-7.003-13.298-12.48-27.522-16.204-42.446l84.287-11.448zm197.872 1.086l88.07 11.743c-3.854 14.962-9.48 29.21-16.63 42.514l-81.74-33.658c3.9-6.395 7.833-13.4 10.3-20.6zm-171.852 41.74c5.61 5.437 11.178 10.017 17.89 14.096l-50.806 65.703c-12.01-8.234-23.03-17.804-32.846-28.5l65.762-51.298zm144.203.003l69.49 53.47c-9.706 10.252-20.536 19.43-32.296 27.33l-52.915-68.333c5.71-3.65 10.837-7.81 15.72-12.468zm-37.404 22.768l32.274 79.365c-13.294 4.732-27.27 8.03-41.74 9.715L261.44 206.54c6.972-.943 14.133-3.712 20.6-5.962zm-66.138 1.084c6.534 2.07 13.58 4.128 20.6 4.88l-11.096 82.825c-14.282-1.85-28.07-5.276-41.18-10.1l31.676-77.605z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sundial;

impl IconShape for Sundial {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.02 45.682l-2.01 150.17c-10.8 2.273-21.273 5.438-31.334 9.423l-34.46-54.44 10.48 65.913c-11.186 6.322-21.69 13.712-31.362 22.043l-85.387-73.01 60.914 98.26c-10.724 13.255-19.744 27.943-26.725 43.73l-37.89-9.674 32.146 24.228c-5.19 14.893-8.618 30.607-10.036 46.89l-52.426 1.497 151.115 58.343c-5.937-13.1-9.244-27.634-9.244-42.922 0-57.535 46.842-104.378 104.378-104.378 57.535 0 104.377 46.843 104.377 104.38 0 14.662-3.05 28.628-8.535 41.304-.054.597-.1 1.188-.16 1.79l138.406-59.548-40.56-3.928c-2.213-21.043-7.78-41.097-16.17-59.607l29.804-34.71-41.317 13.08c-9.153-14.872-20.252-28.418-32.937-40.292l58.926-131.802-93.026 106.238c-13.207-7.81-27.41-14.104-42.377-18.64l2.535-65.838-24.547 60.54c-11.17-1.997-22.667-3.04-34.405-3.04-2.4 0-4.785.06-7.164.146L227.02 45.682zm38.173 164.685c9.258 0 18.345.717 27.213 2.09l-19.693 48.572-10.74-50.622c1.072-.02 2.143-.04 3.22-.04zm-40.44 4.664l-.515 38.53-20.392-32.218c6.78-2.518 13.76-4.633 20.908-6.31zm96.112 4.312c10.708 3.56 20.953 8.127 30.63 13.578l-32.585 37.213 1.955-50.79zm-148.03 17.15l5.85 36.803-26.048-22.274c6.366-5.3 13.115-10.156 20.197-14.528zm217.186 25.766c8.48 8.533 16.08 17.934 22.673 28.056l-41.02 12.987 18.348-41.042zm-265.73 18.605l26.808 43.24-45.643-11.654c5.185-11.22 11.508-21.8 18.836-31.587zM265.18 300.44c-47.435 0-85.69 38.256-85.69 85.69 0 47.436 38.255 85.688 85.69 85.688 47.435 0 85.687-38.252 85.687-85.687 0-47.434-38.252-85.69-85.687-85.69zm163.808 21.484c5.21 13.28 8.856 27.35 10.707 41.984l-43.17-4.18 32.463-37.804zM97.11 334.176l43.853 33.054-50.805 1.45c1.177-11.892 3.534-23.433 6.953-34.504z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SunkenEye;

impl IconShape for SunkenEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.4 89.85c-60.9-.06-118.49 21.35-161.74 66.05v28.3C70.62 121 146.3 98.56 225.6 112.3c-76.8-.7-151.72 30.3-204.94 93.4v30.6C70.71 164.8 146.8 129.9 225.4 130.8 127.5 152.7 55.35 209.6 21.97 287 83.23 356.4 186.2 404.9 269.4 419.2c81.5 13 164 2.3 225.5-37.6v-22.7c-57.1 42.1-139.7 55-222.5 41.8-9.3-1.4-18.6-3.3-27.9-5.4 90.4 10.6 183.5-8.2 250.4-59.7v-24.2c-45.2 39.6-107.3 61.3-173 66.3 55.1-13.2 110.3-41.8 164.7-85.1l7-5.6c-13.5-18.4-28.5-37.4-41.9-52.3C392.7 159.5 315.6 112 239 95.88c-16.7-3.51-33.4-5.5-49.9-5.94-2.3 0-4.7-.1-6.7-.1zm78.9 48.45c7.3 8.6 13.3 18 18.3 27.9-13 4.9-22.3 17.5-22.3 32.2 0 19 15.4 34.4 34.4 34.4 2 0 3.9-.2 5.8-.5 4.9 54.4-10.4 111.3-36.2 145.4-43.7-59.2-50.7-172.4 0-239.4zm-46 13.2c-41.6 17.8-70.8 59.2-70.8 107.4 0 46.5 27 86.6 66.3 105.4-44.1-6.8-87.5-24.7-129.93-54.2-7.73-22.9-9.04-45.8-2.83-68.8 41.96-49.5 88.66-79.8 137.26-89.8zm117.2 14.8c34.6 15.7 69.3 41.7 103.4 79 5.1 20.8 4.2 41.5-2 62.3-37.1 24.2-74.1 41-110.7 50.5 33-20.6 55-57.3 55-99.2-4.7-37.1-21.4-73.3-45.7-92.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Sunrise;

impl IconShape for Sunrise {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.375 16.25c-132.32 0-239.78 107.46-239.78 239.78s107.46 239.783 239.78 239.783 239.78-107.462 239.78-239.782-107.46-239.78-239.78-239.78zm33.5 20.406c26.563 4.015 51.57 12.708 74.156 25.25L308.907 209.03c-14.573-7.215-30.96-11.344-48.312-11.53l32.28-160.844zm-67.72.094l23.97 161.22c-17.2 1.56-33.28 6.986-47.313 15.436l-51-151c22.616-12.698 47.696-21.54 74.344-25.656zm193.25 64.5c17.683 18.164 32.28 39.32 42.94 62.688l-107.658 85.468c-8.9-14.076-20.863-26.014-34.968-34.875l99.686-113.28zm-319.092 1.063L192.5 219.686c-13.318 9.978-24.317 22.88-32.063 37.75L56.5 166c10.527-23.725 25.082-45.226 42.813-63.688zm378.75 115.906c2.105 12.286 3.218 24.92 3.218 37.81 0 11.49-.882 22.768-2.56 33.783l-107.876 16.062c-.463-17.028-4.757-33.097-12-47.375l119.22-40.28zM40.25 221.093l115.844 45.75c-4.918 12.077-7.81 25.224-8.188 39l-107.844-16.03c-1.678-11.016-2.562-22.295-2.562-33.783 0-11.89.954-23.554 2.75-34.936zm130.563 89.53h177.125L467 334.532c-31.674 83.843-112.62 143.376-207.625 143.376-95.018 0-175.968-59.548-207.625-143.406l119.063-23.875z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SuperMushroom;

impl IconShape for SuperMushroom {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M242.875 25.594c-46.25.117-92.147 12.63-130.375 39.75C68.81 96.34 35.56 146.5 23.625 217c-3.752 22.16 1.91 41.663 14.344 56.47 12.43 14.804 30.868 25.155 52.624 32.78 43.51 15.25 101.268 19.72 157.344 19.72 56.395 0 116.863-7.428 163.218-24 23.178-8.288 42.93-18.84 56.875-32.72 11.43-11.375 18.665-25.59 19.47-41.344h1.094l-1.438-10.594c-15.005-112.175-118.867-183.277-224.47-191-6.6-.482-13.204-.735-19.81-.718zm.063 18.687c6.123-.014 12.238.21 18.375.657 3.214.236 6.418.547 9.625.907-25.16 19.974 10.362 61.325 47.375 54.312 26.565-5.036 32.874-19.8 27.812-33.844 62.617 27.994 112.41 81.343 122.344 152.407l.155 1.06c1.887 14.112-2.827 25.35-13.78 36.25-2.64 2.627-5.673 5.182-9.033 7.658 3.986-14.92-.91-32.102-21.375-45.344-40.378-26.132-96.414 37.186-41.843 72.5.154.1.313.183.47.28-40.09 10.845-89.146 16.157-135.127 16.157-26.117 0-52.553-1.105-77.375-3.717 17.746-9.192 27.433-34.97 1.5-51.75-26.975-17.458-63.925 21.993-34.312 47.187-14.918-2.678-28.762-6.086-41-10.375-8.628-3.024-16.41-6.468-23.22-10.313 15.15-7.296 23.773-29.15 1.94-43.28-11.807-7.64-25.924-2.13-33 7.843-1.682-6.65-1.873-14.094-.407-22.75 3.89-22.972 10.086-43.39 18.156-61.438 2.32 19.157 15.042 34.623 35.56 31.094 62.195-10.696 55.24-98.255 9.22-90.343-1.82.314-3.578.685-5.28 1.126 7.402-7.423 15.286-14.076 23.593-19.97 12.744-9.04 26.488-16.332 40.906-21.937-.934 7.07 2.093 14.8 11.53 20.907 18.86 12.203 44.305-13.4 28.063-31.876 12.84-2.25 25.943-3.372 39.125-3.406zm-51.844 54.407c-4.59.115-9.263 1.438-13.656 4.282-38.004 24.593 1.004 68.694 29.125 50.5 32.066-20.753 9.32-55.4-15.47-54.782zm191.72 31.594c-24.964.418-21.014 38.305 2.81 45.564 36.154 11.015 34.472-35.725 7.72-43.875-3.954-1.206-7.466-1.74-10.53-1.69zm-116.845 27.626c-9.463.237-19.07 2.983-28.126 8.844-78.328 50.685 2.105 141.54 60.062 104.03 66.09-42.764 19.156-114.15-31.937-112.874zM335 338.594c-55.842 7.335-113.248 7.307-167.406 2.156-21.82 91.642-38.78 153.125 82.687 153.125 129.88 0 110.022-66.537 84.72-155.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SupersonicArrow;

impl IconShape for SupersonicArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M84.475 16.084L81.4 65.79 50.752 37.183l-11.68 11.68 30.043 32.19-52.877 3.266c41.824 51.46 65.345 68.355 119.215 67.81l22.322 23.915c3.147-3.24 6.332-6.474 9.555-9.697h.002c3.534-3.535 7.077-7.003 10.623-10.442l-23.404-21.844c6.066-54.95-22.426-79.39-70.075-117.978zM448.77 18.22c-.973-.014-1.966-.01-2.975.01-2.307.042-4.705.175-7.193.397-19.907 1.776-44.9 9.53-72.664 22.795C310.41 67.95 243.78 116.28 180.282 179.777 116.786 243.275 68.35 310.01 41.717 365.647 28.4 393.463 20.594 418.514 18.78 438.462c-1.81 19.948 2.155 34.023 10.974 42.842 8.82 8.818 22.896 12.783 42.844 10.97 19.948-1.812 44.997-9.62 72.814-22.935 47.236-22.612 102.476-60.954 156.942-110.875l-14.186-15.152c-2.085 1.93-4.17 3.864-6.248 5.757-8.912 6.327-17.464 11.443-25.21 15.15-8.84 4.233-16.638 6.57-22.19 7.073-5.55.504-8.082-.607-9.34-1.865-1.258-1.258-2.37-3.79-1.866-9.34.505-5.55 2.842-13.35 7.075-22.192 6.817-14.243 18.406-31.213 33.516-48.138l.108.115c2.182-2.53 4.395-5 6.64-7.412.345-.37.695-.73 1.04-1.097 1.232-1.275 2.48-2.548 3.75-3.816 20.78-20.78 42.63-36.552 60.273-44.98 8.82-4.215 16.598-6.536 22.133-7.03.69-.062 1.336-.1 1.937-.113.6-.014 1.16-.006 1.678.02 3.107.165 4.77 1.027 5.72 1.978 1.268 1.267 2.38 3.8 1.885 9.334-.493 5.534-2.813 13.31-7.027 22.133-3.854 8.065-9.26 17.015-15.96 26.337-.293.32-.596.64-.892.96l15.136 14.182c49.233-53.96 86.992-108.535 109.31-155.25 13.264-27.764 21.02-52.76 22.796-72.667 1.776-19.906-2.207-33.965-11.036-42.793-7.242-7.242-18.002-11.223-32.625-11.44zm-12.286 65.944c7.31-.162 13.042 1.596 16.9 5.453 18.066 18.068-9.964 77.3-65.58 147.06.42-8.303-1.506-16.573-7.406-22.472-4.734-4.733-10.992-6.91-17.57-7.367-2.192-.153-4.42-.114-6.64.084-8.873.792-18.358 3.923-28.528 8.78-20.34 9.718-43.39 26.586-65.43 48.628v.002c-22.044 22.044-38.948 45.126-48.7 65.496-4.874 10.185-8.02 19.683-8.827 28.568-.807 8.886.94 17.925 7.262 24.247 5.734 5.733 13.706 7.7 21.77 7.414-68.26 53.8-125.842 80.59-143.612 62.82C65.44 428.193 126.725 326.7 226.967 226.46c84.577-84.578 170.046-141.423 209.517-142.296zM252.95 225.902c-8.514 8.23-16.85 16.654-25.036 25.29l10.453 11.203c8.565-9.02 17.39-17.43 26.535-25.338l-11.95-11.155zm52.595 49.088c-10.287 8.657-19.75 18.025-28.715 28.615l25.016 26.803-.082.08 14.29 15.262.06-.055 37.995 40.707-73.872 23.692 211.117 81.55-81.552-211.12-22.65 70.634-39.66-37.017.093-.097-15.19-14.234c-.042.04-.084.083-.125.126l-26.725-24.946z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SupersonicBullet;

impl IconShape for SupersonicBullet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M52.75 18.77C219.1 90.98 350.8 176.7 426.6 273.5 363.1 354.7 262.1 428.8 135.1 494h40c79.3-43.1 147.9-89.9 202.6-140.5-39.1 50.4-88.1 97.4-144.9 140.5h30.4c80.1-63.9 144.3-136.2 185.4-216.3l2.2-4.2-2.2-4.3C399.4 173.5 315.9 89.89 211 18.77h-33.9C257.6 70.37 325.9 128.8 377 193.4 305.7 128.5 210.5 70.41 98.51 18.77H52.75zm286.85 0C419.5 87.02 464.5 168.5 472.2 250.8c7.7 83.6-22.8 168.6-96.8 243.2h25.8c20.8-22.7 37.9-46.5 51.5-70.9-7.6 24.5-17.1 48.2-28.8 70.9h20.9c72.3-148.7 61.7-336.5-17.8-475.23h-21.6c20 33.13 35.9 69.56 47.3 107.83-20.6-38.1-49.1-74.46-85-107.83h-28.1zM19.29 100.4v18.7c98.91.5 192.11 33.8 275.81 93.3-83.7-43.1-177-67.4-275.81-67.8v18.7c126.31.5 243.11 41.3 341.91 111.2C262 345.4 146.2 389 19.29 389.6v18.6c97.11-.4 187.91-25.2 269.81-67.6-82.1 58.6-172.8 92.6-269.81 93.2v18.7c138.51-.8 264.11-66.9 369.61-172.2l6.7-6.6-6.7-6.7c-104-106.4-248.8-163.9-369.61-166.6zM200.8 236.3v80.3c48.2 0 92-15.6 129-40.8-36.9-25-81.1-39.5-129-39.5zm-164.17.5V316h22.33v-79.2zm41.02 0V316H179.3v-79.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Surprised;

impl IconShape for Surprised {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M119.75 21.125l46.313 85.97L19.53 77.904l110.595 88.22-95.53 21.906 118.81 32.532-54.218 49.032 89.876-7.22c-1.908-9.424-2.938-19.26-2.938-29.405 0-33.145 10.464-63.34 27.875-85.595 17.41-22.254 42.197-36.688 69.813-36.688.447 0 .898.024 1.343.032L258.25 26.312 234.78 93.72 119.75 21.124zm164.063 108.25c-21.154 0-40.524 10.877-55.094 29.5-14.572 18.623-23.907 44.906-23.907 74.094 0 30.247 10.36 57.38 25.937 76.155l10.125 12.22-15.594 2.936c-44.37 8.354-65.334 25.41-77.5 54.033-11.426 26.885-13.802 65.837-14.06 115.625h46.186v-50.75h18.688v50.75h167.53v-50.75h18.72v50.75h50.53c-.03-50.187-.558-90.043-10.937-117.282-11.042-28.982-31.384-46.105-79.75-53.72l-15.875-2.498 10.032-12.532c14.82-18.577 23.97-45.282 23.97-74.937-.002-29.19-9.337-55.472-23.908-74.095-14.57-18.623-33.94-29.5-55.094-29.5zM251.905 193.5c12.803 0 23.188 17.03 23.188 38.063 0 21.035-10.385 38.093-23.188 38.093-12.802 0-23.187-17.058-23.187-38.094 0-21.035 10.384-38.062 23.186-38.062zm64.406 0c12.803 0 23.188 17.03 23.188 38.063 0 21.035-10.385 38.093-23.188 38.093-12.802 0-23.187-17.058-23.187-38.094 0-21.035 10.385-38.062 23.188-38.062z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SurprisedSkull;

impl IconShape for SurprisedSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M206.893 18.176l-27.23 74.533-84.936-28.235 17.134 83.593-86.297 25.768 51.99 54.76-59.252 48.69 93.805 25.314-72.3 67.283 50.978 13.012-22.8 51.867 60.937-37.405-13.543 86.213 100.975-61.183 39.156 75.894 39.135-61.16 77.744 46.284-2.74-93.998 85.386 35.367-31.36-70.043 48.653 1.272-42.88-52.065 63.88-19.67-63.064-36.73 57.404-72.982-70.96-12.328 66.82-100.553-109.022 44.486 13.414-65.402-71.193 58.504-13.135-65.244-41.22 52.388-55.477-68.23zm52.345 90.98h.047c82.104 0 146.59 52.22 146.59 113.3 0 19.404-9.242 30.604-25.768 41.433-16.525 10.827-40.02 19.56-63.863 30.28l-7.377 3.318 26.863 93.87c-8.333 2.637-17.08 4.926-26.1 6.845l-20.482-46.38-2.753 50.406c-8.003 1.085-16.117 1.883-24.26 2.377l-10.55-51.603-12.626 52.178c-8.13-.1-16.204-.517-24.138-1.274l-2.656-49.922-20.033 46.727c-9.805-1.852-19.24-4.285-28.1-7.36l34.276-92.197-6.82-3.953c-19.516-11.314-40.035-21.866-54.97-33.846-14.936-11.98-23.823-24.21-23.823-40.902 0-61.068 64.46-113.278 146.54-113.3zm62.9 55.53c-29.543-.155-56.048 24.43-50.378 65.375 10.284 74.273 136.613 22.558 103.254-32.357-13.756-22.645-33.94-32.915-52.877-33.016zm-140.925.486c-17.51.267-34.493 10.685-42.723 36.69-16.22 51.262 72.746 97.79 95.4 26.2 10.138-32.038-20.812-62.226-50.982-62.884-.565-.013-1.13-.015-1.695-.006zm3.63 21.062c16.585 0 30.23 13.645 30.23 30.23 0 16.587-13.645 30.23-30.23 30.23-16.583 0-30.23-13.643-30.23-30.23 0-16.584 13.646-30.23 30.23-30.23zm0 18.69c-6.484 0-11.54 5.056-11.54 11.54 0 6.488 5.055 11.544 11.54 11.544 6.487 0 11.544-5.056 11.544-11.543 0-6.487-5.057-11.54-11.543-11.54zm139.764 0c6.486 0 11.543 5.054 11.543 11.54 0 6.488-5.057 11.544-11.543 11.544-6.485 0-11.54-5.056-11.54-11.543 0-6.485 5.055-11.54 11.54-11.54zm-70.613 55.105l-22.414 49.923h37.188l-14.774-49.924z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SurroundedEye;

impl IconShape for SurroundedEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.346 18.877c-19.536.195-39.364 2.83-59.108 8.12C66.88 60.852-8.105 190.73 25.752 317.086c33.09 123.493 157.892 197.898 281.49 169.604-11.01-2.66-21.492-6.692-31.254-11.903-59.243 4.118-116.364-17.684-157.722-57.52l89.226-30.038-116.346-2.033c-9.852-14.41-17.99-30.27-24.054-47.36l138.064-4.85-148.19-36.716c-2.512-18.358-2.487-36.612-.18-54.366l164.66 47.21-153.97-91.075c7.012-19.295 16.845-37.454 29.155-53.843l154.395 108.356L132.96 106.785c18.577-14.824 39.982-26.635 63.677-34.49l95.49 158.21L247.06 62.22c4.312-.314 8.61-.492 12.895-.534 21.16-.212 41.92 2.86 61.656 8.837l29.372 152.756 16.305-132.65c21.806 12.92 41.258 29.83 57.164 50.042l-17.634 102.236 38.36-70.15c6.86 13.168 12.408 27.278 16.41 42.215 8.77 32.73 9.173 65.732 2.52 96.734 4.368 12.062 7.048 24.927 7.742 38.31 20.578-47.373 25.888-101.77 11.482-155.535C454.763 87.868 357.838 17.825 252.346 18.877zm88.484 223.426c3.214 1.914 6.224 4.218 8.955 6.95 12.214 12.213 16.07 29.897 13.256 47.35-2.814 17.45-12.047 35.214-26.825 49.993-14.78 14.78-32.543 24.01-49.994 26.826-17.45 2.814-35.133-1.044-47.347-13.258-6.858-6.858-11.08-15.44-12.967-24.736-1.324 6.987-2.025 14.2-2.025 21.578 0 63.473 51.256 114.728 114.73 114.728 63.473 0 114.73-51.255 114.73-114.728 0-62.73-50.067-113.524-112.51-114.703zm-28.34 11.478c-2.28.05-4.643.268-7.08.66-12.997 2.098-27.555 9.392-39.756 21.593-12.2 12.2-19.495 26.758-21.59 39.756-2.098 12.997.75 23.89 8.022 31.16 7.27 7.272 18.163 10.12 31.16 8.025 12.998-2.097 27.557-9.39 39.758-21.592 12.2-12.2 19.493-26.76 21.59-39.758 2.096-12.998-.75-23.89-8.022-31.16-5.453-5.454-12.944-8.418-21.832-8.676-.74-.022-1.49-.025-2.25-.01zm-13.808 20.35c4.61-.08 8.81 1.342 11.857 4.388 7.496 7.497 5.16 21.99-5.222 32.37-10.38 10.382-24.875 12.72-32.373 5.223-7.497-7.496-5.16-21.99 5.22-32.372 6.165-6.164 13.78-9.492 20.517-9.61z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SurroundedShield;

impl IconShape for SurroundedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.496 21.607l6.318 111.87 26.352-39.502 35.848-72.368h-68.518zm89.373 0l-47.47 95.83-6.834 19.184 48.793-30.65-.024-.03L452.98 21.608h-98.11zm123.915 0l1.516 1.864-87.152 70.915-78.554 70.47 69.467-19.244 109.727-42.077V21.607h-15.002zm-345.55.586c-1.197.04-2.08.143-2.643.143-37.722 0-66.125 37.65-66.125 81.605 0 17.037 4.316 32.848 11.64 46.023-12.274 4.675-22.294 12.76-29.855 22.896-10.174 13.64-16.37 30.73-20.426 49.288-8.11 37.118-7.623 80.647-7.623 115.81v9.343h39.713l9.672 146.626h122.148l7.174-96.196c-6.056-5.153-11.91-10.453-17.555-15.894l-6.964 93.402H85.085l-9.672-146.625H36.92c.017-33.33.38-71.425 7.164-102.476 3.706-16.962 9.328-31.62 17.148-42.104 7.82-10.484 17.386-17.03 31.254-19.18l15.926-2.466L98.36 149.79c-9.08-11.376-15.204-27.674-15.204-45.85 0-36.015 22.562-62.915 47.436-62.915 2.79 0 4.426-.112 4.617-.086l.1.013c22.578 2.953 42.72 29.22 42.72 62.988 0 18.513-6.364 34.904-15.757 46.33l26.434-7.823c5.084-11.485 8.01-24.554 8.01-38.506 0-41.176-24.445-77-58.985-81.516l-.002-.002-1.248-.086h.48c-1.46-.156-2.713-.177-3.728-.143zm3.726.143c.255.027.503.05.77.086l-.044-.008-.6-.078h-.125zM493.788 123.55l-104.22 39.964-70.083 37.465 98.082 5.493 76.22-10.008V123.55zm-199.172 30.706l-92.94 3.842L93.497 190.12c18.687 86.98 67.757 162.757 146.287 216.802 51.176-99.324 68.713-165.12 54.83-252.666zm199.172 61.058l-77.953 10.235-102.865 33.944 96.708 34.318 84.11 11.043v-89.54zm-77.25 98.25l-112.437.272 104.63 68.035.034-.073 85.023 38.396v-96.49l-77.25-10.14zm-118.926 55.54l54.347 62.43L427.02 493.8h66.767v-53.1l-92.715-41.87.055-.12-103.516-29.606zm-25.63 39.503l12.563 27.676 44.113 57.518h69.092l-61.703-51.185-64.065-34.008zM249.363 428.4l-3.234 65.4h58.974l-36.637-47.77-19.104-17.63z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Suspicious;

impl IconShape for Suspicious {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.422 18.346c-111.086 0-204.14 76.375-229.615 179.533-11.867 70.7 11.228 143.745 60.048 194.24-5.034 28.402-5.687 61.755-5.687 100.54h18.687c0-57.013 2.106-100.723 14.88-130.744 12.776-30.02 34.883-47.983 81.394-56.728l15.61-2.934-10.148-12.22c-16.364-19.7-27.22-48.142-27.22-79.84 0-30.586 9.785-58.117 25.093-77.66 15.308-19.54 35.707-30.99 57.99-30.99s42.683 11.45 57.99 30.99c15.308 19.543 25.094 47.074 25.094 77.66 0 31.072-9.61 59.05-25.186 78.55l-10.036 12.565 15.885 2.497c50.69 7.97 72.17 25.994 83.77 56.398 11.598 30.404 11.513 75.137 11.513 132.455h18.69c0-30.09.238-57.06-1.506-81.117 36.888-41.708 59.28-96.54 59.28-156.668 0-130.742-105.786-236.53-236.528-236.53zm8.2 43.45c30.12.1 60.5 7.25 88.24 21.995 99.02 52.642 132.557 179.59 80.525 276.79-1.816 3.392-3.722 6.703-5.698 9.95-1.455-5.895-3.186-11.558-5.256-16.985-.896-2.347-1.872-4.636-2.913-6.877 43.444-87.576 12.394-199.683-75.432-246.373-24.95-13.264-52.307-19.685-79.436-19.775-59.683-.2-118.266 30.23-147.71 85.798-25.907 48.89-22.56 108.01 5.224 152.838-4.82 4.473-9.11 9.337-12.906 14.582-34-50.89-38.835-119.552-8.834-176.17 32.91-62.107 97.928-95.992 164.195-95.77zm86.657 98.9c37.642 37.22 50.227 94.933 32.638 145.548-5.115-3.25-10.7-6.19-16.773-8.81 10.177-31.69 6.895-66.347-8.112-95-.702-14.7-3.382-28.753-7.754-41.74zM158.92 173.642c-2.762 11.597-4.24 23.864-4.24 36.55 0 7.46.533 14.768 1.543 21.875-1.932 21.073 3.05 42.43 14.21 60.077-6.35 1.94-12.302 4.153-17.867 6.638-19.113-32.745-21.045-74.92-2.818-110.215 2.726-5.28 5.8-10.255 9.172-14.925zm60.45 29.34c-15.794.205-19.24 4.585-24.546 8.15 12.483 11.99 36.9 10.832 47.748 0-4.992-4.043-10.37-8.317-23.203-8.15zm74.69.177c-15.794.205-19.24 4.586-24.546 8.15 12.483 11.992 36.9 10.833 47.748 0-4.992-4.042-10.37-8.317-23.203-8.15z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Swallow;

impl IconShape for Swallow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.563 22.156L68.156 385.53l98.063 105.314h161.936L425.97 385.53 353.75 22.157H139.562zm23.125 25.063c25.85 13.91 48.97 31.3 54.656 70.874l-72.03-18.625 17.374-52.25zm164.718 0l17.344 52.25-72 18.624c5.69-39.575 28.804-56.963 54.656-70.875zM159.626 151.5l12.343 72.5 33-72.5 22.655 64.22 23.313-64.22 20.156 65.594 20.78-65.594 32.72 71.656 10.72-71.656c-.002 0 54.78 100.043 54.78 154.156s-54.78 154.188-54.78 154.188l-12.19-73.625-31.25 73.624-19.062-58.72-21.875 58.72-27.718-58.563-18.25 58.564L170 379.438l-10.375 80.406s-54.78-100.075-54.78-154.188c0-54.113 54.78-154.156 54.78-154.156zm29.124 84.344l-11.375 28.125 47.22 10.03-35.845-38.156zm114.78 0L267.72 274l47.186-10.03-11.375-28.126zm-97.436 53.72c0-.002-19.22 29.87-19.22 46.123 0 16.254 19.22 46.157 19.22 46.157l12.812-31.53 15.25 31.53 13.188-25.78 13.187 25.78 15.283-31.53 12.78 31.53s19.22-29.905 19.22-46.156c0-16.252-19.22-46.125-19.22-46.125l-12.78 31.53-15.97-31.53-12.5 28.25-13.187-28.25-15.25 31.53-12.812-31.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Swan;

impl IconShape for Swan {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M372.67 44.934c-50.275.005-92.476 43.57-38.934 163.87 29.137 16.804 41.594 46.767 33.48 74.848-9.168 31.735-42.353 59.517-96.597 68.084-45.02 7.11-88.46 2.42-122.915-22.218-14.895-10.65-27.867-24.905-38.502-43.088-26.314-8.87-48.678-17.086-61.224-23.25-.197 10.192 1.916 21.786 6.594 33.963l-35.842-4.432L70.87 332.49 43.92 344.385l53.35 11.676c10.984 9.717 23.94 18.99 39.07 27.38l-.002.007c26.098 14.475 195.407 11.62 218.51.578 67.333-32.17 71.596-90.7 28.552-167.472-57.378-102.34-31.747-134.085 3.034-133.07.93 10.53 6.27 21.943 15.593 31.288 5.74 5.757 12.266 9.993 18.886 12.623 19.37 11.416 38.896 19.675 62.072 20.81 5.712.08 9.144-9.696 3.487-10.238-11.602-2.262-21.402-8.37-29.352-15.912 11.712-12.976 7.85-36.605-8.994-53.49-11.038-11.06-24.963-16.53-36.898-15.692-12.41-5.107-25.747-7.938-38.562-7.936zm56.598 37.433c6.16 0 10.95 4.793 10.95 10.953 0 6.157-4.79 10.95-10.95 10.95-6.16 0-10.954-4.793-10.954-10.95 0-6.156 4.795-10.953 10.954-10.953zm-208.653 118.95c-6.108.034-12.128.27-18.18.607-29.242 1.63-59.597 5.87-101.03 1.365 28.59 40.045 73.354 51.978 116.91 49.04-32.74 15.03-75.678 8.755-108.41-10.848.475 1.48.96 2.94 1.454 4.38 17.087 33.357 62.417 42.17 88.845 42.066-16.554 11.997-42.21 12.406-65.994 2.386 7.334 9.737 15.51 17.67 24.366 24.002 29.323 20.968 67.166 25.59 109.127 18.96 49.298-7.785 74.954-31.945 81.56-54.81 6.607-22.867-3.598-45.977-34.556-58.134-36.452-14.313-63.225-18.523-87.95-18.975-2.06-.037-4.106-.05-6.142-.04zM64.14 378.278c-29.424 5.99-46.933 13.47-46.933 21.588 0 19.668 102.56 35.612 229.072 35.612s229.072-15.944 229.072-35.612c0-8.098-17.424-15.562-46.72-21.545 12.117 3.613 18.923 7.643 18.923 11.895 0 15.515-90.098 28.092-201.24 28.092-111.14 0-201.24-12.577-201.24-28.092 0-4.27 6.858-8.314 19.064-11.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwanBreeze;

impl IconShape for SwanBreeze {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.848 64.37c-4.216-.027-8.49.18-12.8.634-55.17 5.8-95.806 49.862-90.71 98.35.106 1.01.203 2.193.334 3.183.927-1.65 1.642-3.144 2.717-4.79 25.247-38.602 83.043-59.15 129.063-45.745 46.02 13.403 62.854 55.91 37.608 94.516-2.82 4.32-6.102 8.118-9.68 11.962 26.987-18.47 43.175-48.472 39.847-80.138-4.7-44.703-46.632-77.64-96.38-77.97zm375.004 33.525c-42.71 89.996-101.97 173.25-167.03 230.687-44.41 39.21-113.416 70.452-164.107 39.715-30.767-18.66-42.313-70.813-15.77-116.22-53.058 22.698-93.682 100.59-64.242 161.773 45.65 94.867 165.072 93.635 286.17 42.048 55.41-23.603 89.392-40.718 124.98-65.41v-33.066c-61.925 43.79-116.094 73.34-196.953 96.22 78.083-36.174 130.285-70.63 196.952-124.476V274.81c-67.75 72.44-145.933 116.294-223.89 154.854 80.25-47.795 155.855-110.53 223.89-186.113v-44.224c-42.886 57.34-97.62 102.83-150.82 149.85 54.818-60.357 107.696-122.268 150.82-191.983V97.895z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwapBag;

impl IconShape for SwapBag {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.783 23.545c-9.782.057-16.583 3.047-20.744 10.22-17.51 30.18-38.432 61.645-48.552 97.245 2.836.83 5.635 1.787 8.373 2.853 7.353 2.863 14.38 6.482 20.542 10.858 27.534-25.542 58.165-45.21 87.45-65.462 11.356-7.854 12.273-13.584 10.183-20.83-2.09-7.246-9.868-16.365-20.525-23.176-10.658-6.81-23.87-11.33-34.73-11.68-.68-.022-1.345-.03-1.997-.027zm-68.998.746c-10.02-.182-17.792 6.393-23.924 20.24-8.94 20.194-10.212 53.436-1.446 83.185.156-.008.31-.023.467-.03 1.99-.087 3.99-.072 6 .03 9.436-34.822 27.966-64.72 44.013-91.528-10.31-8.496-18.874-11.782-25.108-11.896zM197.5 82.5L187 97.97c14.82 10.04 29.056 19.725 39.813 31.374 3.916 4.24 7.37 8.722 10.31 13.607 3.77-4.73 8.51-8.378 13.69-10.792.407-.188.82-.355 1.228-.53-3.423-5.44-7.304-10.418-11.51-14.972C227.765 102.83 212.29 92.52 197.5 82.5zm223.77 12.27c-29.255 20.228-58.575 39.152-84.348 62.78.438.576.848 1.168 1.258 1.76 20.68-6.75 49.486-15.333 73.916-19.41 11.484-1.916 15.66-6.552 17.574-13.228 1.914-6.676.447-16.71-5.316-26.983-.924-1.647-1.96-3.29-3.083-4.92zm-223.938 47.87c-14.95.2-29.732 4.3-43.957 12.766l9.563 16.03c21.657-12.89 42.626-14.133 65.232-4.563.52-5.592 1.765-10.66 3.728-15.21.35-.806.73-1.586 1.123-2.354-11.87-4.52-23.83-6.827-35.688-6.67zm75.8 3.934c-5.578-.083-10.597.742-14.427 2.526-4.377 2.038-7.466 4.914-9.648 9.97-.884 2.047-1.572 4.54-1.985 7.494.456-.007.91-.03 1.365-.033 16.053-.084 32.587 2.77 49.313 9.19 7.714 2.96 15.062 7.453 22.047 13.184 3.217-2.445 4.99-4.72 5.773-6.535 1.21-2.798 1.095-5.184-.634-8.82-3.46-7.275-15.207-16.955-28.856-22.27-6.824-2.658-13.98-4.224-20.523-4.614-.818-.05-1.627-.08-2.424-.092zm-24.757 38.457c-22.982.075-44.722 7.386-65 19.782-32.445 19.835-60.565 53.124-80.344 90.032-19.777 36.908-31.133 77.41-31.186 110.53-.053 33.06 10.26 57.27 32.812 67.782.043.02.082.043.125.063h.032c24.872 11.51 65.616 19.337 108.407 20.092 42.79.756 87.79-5.457 121.874-20.187 21.96-9.49 34.545-28.452 40.5-54.156 5.954-25.705 4.518-57.657-2.375-89.314-6.894-31.657-19.2-63.06-34.095-87.875-14.894-24.814-32.614-42.664-48.063-48.593-14.664-5.627-28.898-8.2-42.687-8.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwirlRing;

impl IconShape for SwirlRing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M231.07 20.854c130.555 79.7 225.307 195.886 220.758 277.41-.372 6.683-1.85 12.83-3.504 18.687-11.48-92.337-130.195-218.092-279.16-290.255-4.345-2.104-8.547-3.872-12.85-5.84H20.822v7.004c32.332 6.406 67.257 16.19 103.955 30.37C287.93 121.255 421.312 237.91 423.213 318.7c.13 5.782-.565 11.256-1.752 16.353-18.234-79.442-144.166-184.84-296.097-243.533C88.457 77.262 53.27 66.962 20.823 60.566v49.64c164.214 24.05 386.08 133.882 366.142 290.648-9.53 74.94-113.13 76.27-159.742 35.17 45.327 72.98 186.19 70.605 235.703 21.09 75.81-75.81 25.19-249.297-112.717-387.202-17.778-17.776-36.23-34.278-54.9-49.058h-64.24zm7.3 236.1c-15.488.026-29.213 4.776-39.155 14.718v.002c-18.66 18.66-18.67 50.702-3.938 82.69 1.353-13.847 6.2-26.328 15.75-35.878 27.665-27.664 80.464-20.165 117.692 17.063 23.264 23.266 34.894 52.858 33.686 78.313 15.033-30.094 1.188-77.565-35.875-114.63-27.348-27.35-60.554-42.322-88.16-42.278zm16.185 63.83c-12.806.1-22.824 4.544-26.412 13.015-6.38 15.06 9.98 37.144 36.537 49.327 26.56 12.184 53.26 9.852 59.638-5.207 6.38-15.06-9.98-37.147-36.537-49.33-11.62-5.33-23.265-7.882-33.225-7.805zm-41.022 22.226c-11.47 19.105-.906 49.236 27.373 72.763 32.573 27.1 76.033 35.056 97.143 17.498 14.236-11.843 14.244-32.184 3.003-52.49-1.032 8.79-4.73 16.712-12.016 22.775-21.11 17.56-61.394 12.8-89.8-10.832-17.75-14.772-26.625-33.555-25.704-49.713z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwirlString;

impl IconShape for SwirlString {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.493 22.18V127.3c78.742 126.922 174.79 219.187 252.88 237.11-7.142 1.665-14.68 2.528-22.78 2.337-67.67-1.59-153.3-68.902-230.102-171.702v70.082c76.9 77.2 159.02 128.697 227.768 137.245-8.208 2.318-16.913 4.15-26.28 4.673-58.776 3.28-130.573-30.502-201.485-88.77v46.137C182.62 479.155 356.19 508.117 441.49 422.817c69.39-69.39 71.76-265.946-29.786-330.554-16.728-10.643-35.31-18.69-56.65-18.69-53.35 0-96.946 43.013-96.946 96.363s43.597 96.947 96.947 96.947c45.006 0 83.972-31.806 80.228-72.418-5.44-59.032-88.172-44.01-98.33 7.59-.467 2.362-.835 4.685-1.17 7.01-4.268-11.258-5.688-23.116-2.336-35.625 8.496-31.707 41.295-51.128 73.002-42.632 11.888 3.186 21.69 10.036 29.2 18.69 11.045 12.727 14.586 29.672 14.016 47.303-1.934 59.767-24.98 108.154-87.018 119.14C210.906 342.814 88.242 190.12 17.493 22.18z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordArray;

impl IconShape for SwordArray {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M202.094 28.5c-9.125 0-16.344 7.19-16.344 16.313 0 9.122 7.218 16.312 16.344 16.312 3.927 0 7.488-1.337 10.28-3.58l58.84 21.394-10.92 30.025 17.563 6.387 4.83-13.276 159.887 58.135 51.908-9.948-32.734-40.9L301.256 51.01l4.826-13.274-17.562-6.386-10.92 30.027-60.053-21.836c-2.154-6.47-8.18-11.04-15.453-11.04zm92.775 40.072l124.017 45.092 10.935 13.477-14.93 3.122L289.07 84.514l5.8-15.942zM163.405 99.5c-9.125 0-16.312 7.19-16.312 16.313 0 9.122 7.186 16.343 16.312 16.343 1.84 0 3.597-.305 5.237-.85l-.303.432 52.8 36.946-18.32 26.175 15.313 10.714 8.1-11.574 139.39 97.533 52.715 3.822-21.033-47.976-139.92-97.9 8.1-11.574-15.31-10.715-18.32 26.18-52.187-36.515c.02-.346.05-.69.05-1.043 0-9.126-7.186-16.312-16.312-16.312zm-52.72 64c-9.123 0-16.342 7.19-16.342 16.313 0 9.122 7.217 16.312 16.344 16.312.925 0 1.823-.092 2.703-.234l36.99 44.05-24.472 20.546 12.018 14.315 10.82-9.083L258.56 396.494l49.637 16.738-8.435-52.173-109.4-130.285 10.818-9.08-12.016-14.314-24.47 20.544-37.96-45.2c.165-.945.266-1.914.266-2.91 0-9.128-7.186-16.314-16.313-16.314zm135.986 1.29l107.217 75.02 7.008 15.706-15.388-.864-108.563-75.964 9.725-13.897zM42.812 207.44c-9.124 0-16.312 7.19-16.312 16.312 0 7.827 5.297 14.238 12.563 15.906l24.083 51.602L34.19 304.77l7.904 16.933 12.804-5.974 72.22 154.74 43.616 29.014 5.358-52.58-71.95-154.154 12.797-5.973-7.903-16.935-28.955 13.512-23.603-50.57c1.69-2.58 2.676-5.675 2.676-9.034 0-9.126-7.217-16.313-16.343-16.313zm133.24 35.355l84.104 100.162 2.61 16.38-15.207-5.005-84.5-100.63 12.99-10.907zm-88.845 57.86l54.842 117.5-1.763 16.913-13.057-8.546-55.398-118.694 15.375-7.174z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordBreak;

impl IconShape for SwordBreak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M162.47 17.48c32.96 78.956 43.31 192.888 35.184 285.137-.338 2.716-.703 5.427-1.086 8.133-.104-.29-.202-.582-.31-.87h-.002c-10.73 62.467-55.732 130.073-108.043 183.386h55.482l.02-.03H165l-.03.03h55.483c39.526-57.087 70.653-135.464 52.563-183.385h-.002c-4.65 27.07-15.744 55.103-31.07 82.52 19.13-89.548 11.015-187.79-24.67-273.474-13.91-42.507-32.336-79.6-54.805-101.446zm234.39 89.87l-38.987 10.445 4.836 18.053 12.63-3.385 30.922 115.408-12.627 3.384 4.838 18.053 38.986-10.446-4.84-18.05-14.436 3.868c7.45-22.408 8.274-43.95 2.982-63.7-5.11-19.073-16.002-36.736-32.643-52.046l13.174-3.532-4.836-18.05zM16.954 135.076l39.432 67.553 96.215 54.99 6.554-41.67 16.08 7.212 5.303-29.805-89.11-51.576-74.474-6.704zm475.442 20.55l-54.93 14.634c.632 1.946 1.224 3.905 1.754 5.883 1.61 6.007 2.728 12.136 3.376 18.353l49.8-13.267v-25.605zm-127.327 10.71L260.4 193.91c4.902 22.988 8.122 46.343 9.647 69.774l113.123-29.79-18.102-67.558zm-191.08 102.87l-46.054 44.01 30.705 12.28 15.348-56.29zm105.797 4.46L295.6 309.73l15.64.354.028-15.777-31.483-20.64zm47.55 39.137l27.6 40.2 29.366-10.774-24.126-18.324-32.84-11.103zM117.74 337.535l-48.623 3.795-5.35 30.822 27.93-11.734 26.043-22.883zm198.905 1.072l.205 35.186 21.382 15.795 12.467-12.826-34.055-38.155zm-156.323 6.938l-42.77 28.04.038 21.435 21.25-.487 21.482-48.988zM88.074 407.61L64.22 423.78l5.97 20.398 26.855-5.18-8.97-31.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordClash;

impl IconShape for SwordClash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M311.313 25.625l-23 10.656-29.532 123.032 60.814-111.968-8.28-21.72zM59.625 50.03c11.448 76.937 48.43 141.423 100.188 195.75 14.133-9.564 28.405-19.384 42.718-29.405-22.156-27.314-37.85-56.204-43.593-86.28-34.214-26.492-67.613-53.376-99.312-80.064zm390.47.032C419.178 76.1 386.64 102.33 353.31 128.22c-10.333 58.234-58.087 112.074-118.218 158.624-65.433 50.654-146.56 92.934-215.28 121.406l-.002 32.78c93.65-34.132 195.55-81.378 276.875-146.592C375.72 231.06 435.014 151.375 450.095 50.063zm-236.158 9.344l-8.5 27.813 40.688 73.06-6.875-85.31-25.313-15.564zm114.688 87.813C223.39 227.47 112.257 302.862 19.812 355.905V388c65.917-27.914 142.58-68.51 203.844-115.938 49.83-38.574 88.822-81.513 104.97-124.843zm-144.563 2.155c7.35 18.89 19.03 37.68 34 56.063 7.03-4.98 14.056-10.03 21.094-15.094-18.444-13.456-36.863-27.12-55.094-40.97zM352.656 269.72c-9.573 9.472-19.58 18.588-29.906 27.405 54.914 37.294 117.228 69.156 171.906 92.156V358.19c-43.86-24.988-92.103-55.13-142-88.47zm-44.906 39.81c-11.65 9.32-23.696 18.253-36.03 26.845C342.046 381.51 421.05 416.15 494.655 442.75v-33.22c-58.858-24.223-127.1-58.727-186.906-100zm-58.625 52.033l-46.188 78.25 7.813 23.593 27.75-11.344 10.625-90.5zm15.844.812L316.343 467l36.47 10.28-3.533-31.967-84.31-82.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordHilt;

impl IconShape for SwordHilt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M410.195 19.492l-18.6.412L244.7 150.8c8.6 8.944 16.955 18.795 24.515 29.235L434.828 19.492h-24.633zm51.48 0L279.73 195.872c6.69 11.064 12.287 22.58 16.16 34.253L492.185 26.512v-7.02h-30.508zm-266.72 82.512c-16.896.332-31.25 5.706-41.54 15.996-5.618 5.62-8.06 12.204-8.155 20.957-.096 8.753 2.576 19.504 7.793 31.148 10.433 23.29 30.816 49.877 54.68 72.934 5.803 5.604 11.816 11.002 17.933 16.118 28.696 27.647 48.862 66.367-1.434 89.623-45.222 20.914-100.61 70.318-85.19 136.08 36.264-132.4 187.665-69.93 208.495-213.753l-.293-.173c2.513-11.1 2.357-23.805-.53-37.534-1.507-7.17-3.78-14.562-6.782-22.03l-54.795 56.837-3.215-18.03c-5.52-30.95-30.953-67.592-57.256-93.144l-7.203-6.998 36.373-32.41c-12.25-6.397-24.534-10.877-36.232-13.336-6.676-1.404-13.11-2.165-19.237-2.286-1.148-.023-2.285-.022-3.412 0zm-16.42 137.754c-54.74 29.308-99.172 79.724-120.053 137.88l-1.17 3.258c1.244 2.302 2.802 4.562 4.635 6.55 2.324 2.52 4.952 4.576 7.772 6.03l7.07-2.638c57.14-21.32 106.067-65.227 134.51-119.336-5.637-4.813-11.175-9.83-16.55-15.022-5.607-5.416-11.025-11.012-16.215-16.722zM38.2 384.388c-4.315 1.08-8.31 3.25-11.69 6.628-10.683 10.682-10.683 27.495 0 38.177 10.682 10.683 27.495 10.683 38.177 0 4.397-4.396 6.852-9.714 7.524-15.287-9.637-1.793-17.897-7.173-24-13.79-4.338-4.703-7.77-10.054-10.01-15.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordInStone;

impl IconShape for SwordInStone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M101.938 19.938c-8.837 0-15.813 6.978-15.813 15.812 0 7.358 4.84 13.427 11.563 15.25l23.134 55.4c-12.618 7.364-23.065 19.85-30.17 37.528L64.22 163.75l11.218 14.938 8.177-6.135c31.722-21.112 72.4-39.987 110.12-49.975l27.327-4.078-2.78-18.5-33.294 4.982c-13.01-4.957-25.152-7.096-36.113-6.607-3.67.164-7.202.62-10.6 1.334l-23.088-55.304c1.6-2.48 2.532-5.436 2.532-8.656 0-8.837-6.945-15.813-15.782-15.813zM178.81 147c-17.714 6.11-35.908 13.923-52.875 22.656l68.407 165.03 14.625-7.842 28.28-38.75L178.812 147zm169.094 111.53l-68.125 3.033-56.967 78-1.25 1.718-1.875 1.033-65.313 35.03-28.47 117.188h345.25l-15-63.686-165.56-54.688 5.874-17.75 89.905 29.688-38.47-129.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordSlice;

impl IconShape for SwordSlice {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M191.016 21.223l30.134 64.965-118.543-63.64 59.25 77.796-123.93-74.23L139.96 160.796l-86.446-49.315 69.675 89.41-41.096-16.087 55.174 59.226c-.14-2.69-.21-5.4-.21-8.124 0-42.632 17.186-81.3 44.98-109.478 35.214-25.46 80.616-19.796 119.876-1.115 11.515 5.478 22.556 12.13 32.926 19.515l23.685 19.252c11.312 10.59 21.05 21.986 28.627 33.607l77.15-68.765.01-.008c17.818-15.805 23.727-28.155 25.663-43.726 1.432-11.527-.004-26.39-1.815-43.502L368.84 147.262l-12.75-13.674 13.353-11.815c-12.63-8.46-26.75-14.87-41.884-18.78L260.17 30.726l22.723 63.59-91.88-73.094zm46.02 106.662c-15.684.07-30.484 4.126-43.352 13.195-23.513 24.63-37.94 58.012-37.94 94.826 0 75.94 61.36 137.3 137.3 137.3 75.938 0 137.296-61.36 137.296-137.3 0-15.76-2.652-30.89-7.522-44.976l-40.46 36.064-5.604-10.443c-14.45-26.928-47.06-57.324-82.87-74.363-19.023-9.05-38.534-14.383-56.847-14.302zm-104.73 173.053l-44.15 39.156 87.63 98.812 44.15-39.158-14.5-16.348-24.225 21.504-51.17-57.818-6.18-6.982 24.146-21.463-15.7-17.702zm34.274 26.197l-16.367 14.55 32.59 36.82 18.554-16.47c-13.347-9.727-25.097-21.517-34.777-34.9zm-60.207 61.668L75.867 415.86l38.21 15.146 16.638-14.756-24.342-27.447zM60.377 429.82l8.598 41.19 29.44-26.112-38.038-15.078zm-16.148 14.1l-21.304 18.894c-.68 8.615 1.325 14.94 5.197 19.33 3.872 4.39 10.162 7.378 19.262 8.014l5.48-4.86-8.636-41.378z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordSmithing;

impl IconShape for SwordSmithing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M29.438 59.375c-3.948.032-7.903.093-11.875.188 4.333 2.772 8.685 5.483 13.062 8.124C126.162 123.92 230.69 151.4 340.5 180.594c.022.006.04.025.063.03.02.006.043-.004.062 0 1.87.498 3.72 1.003 5.594 1.5l.155-.53c.947.078 1.91.125 2.875.125 4.26 0 8.34-.767 12.125-2.19l-12.5 46.595 18.063 4.813L383 170.968c25.828 1.312 50.508 6.867 74.28 15.845-1.065 11.948 2.73 21.82 9.814 23.718 8.71 2.335 19.136-8.313 23.28-23.78 1.27-4.742 1.78-9.366 1.657-13.594l.345-1.28c-.136-.008-.27-.025-.406-.032-.56-8.924-4.116-15.77-9.876-17.313-6.808-1.823-14.666 4.304-19.75 14.44-25.275-3.725-49.624-10.894-72.47-23.69l16.345-60.968-18.033-4.843-12.093 45.155c-3.24-3.908-7.318-7.1-11.938-9.313l.094-.374C250.12 83.98 144.89 58.446 29.437 59.374zm161.25 44.25c55.52-.002 105.272 12.492 159.656 27.03 8.536.55 15.094 7.463 15.094 16.157 0 9.06-7.127 16.22-16.188 16.22-2.4 0-4.653-.5-6.688-1.407-56.172-15.04-109.352-27.786-157.406-57.97 1.85-.027 3.694-.03 5.53-.03zm-46.22 164.25v20.344H55.532c15.996 38.806 51.258 65.428 88.94 74.28v32.97h58.56c-12.115 30.534-33.527 55.682-58.5 77.592h-25.436v18.72h284.344v-18.72H376c-28.728-21.894-50.024-47.016-61.594-77.593h63.656V366.31c19.75-6.995 39.5-19.54 59.25-36.718-19.806-17.518-39.235-27.25-59.25-31.938v-29.78H144.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordSpade;

impl IconShape for SwordSpade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M115.326 16.008l-6.607 6.687-84.652 85.69 5.59 6.53c10.402 12.15 29.93 23.87 51.26 30.993 10.664 3.562 21.715 5.826 32.377 5.492 5.407-.17 10.82-1.064 15.87-2.927 80.876 79.96 159.667 163.084 238.45 246.224-15.764 14.68-32.013 27.47-47.04 36.48 56.644 56.644 126.465 79.034 164.038 55.13 23.05-37.774 1.1-107.81-55.13-164.04-9.788 15.074-22.24 30.962-35.962 46.126L151.966 126.838c6.244-12.63 7.403-27.838 4.406-43.037-4.142-21.013-15.986-42.734-34.397-61.146l-6.647-6.646zm345.05.63c-32.676 47.53-70.88 89.537-116.368 124.258l-37.158-37.158c6.3-16.228 3.107-35.234-9.99-48.332-4.288-4.287-9.257-7.455-14.52-9.68 6.68 16.484 3.194 36.496-10.166 49.856s-32.888 16.36-49.373 9.68c2.225 5.262 5.397 10.234 9.682 14.52h.002c13.455 13.456 32.87 16.743 49.243 9.872l21.287 21.287c-15.632 18.116-31.658 35.568-48.014 52.503l20.088 20.088 48.916-48.915 13.215 13.215-48.917 48.916 18.748 18.748c16.877-16.2 34.298-32.163 52.495-48.02l21.9 21.9c-5.98 16.088-2.7 34.778 10.23 47.708 4.288 4.287 9.26 7.456 14.522 9.68-6.68-16.484-3.194-36.495 10.166-49.856 13.36-13.36 32.888-16.36 49.373-9.68-2.224-5.262-5.396-10.234-9.68-14.52h-.003c-13.62-13.62-33.345-16.814-49.842-9.606l-37.394-37.395c33.954-46.255 77.08-83.34 124.932-115.695l-33.37-33.373zM126.557 58.66c5.788 9.68 9.664 19.54 11.48 28.756 3.294 16.703.142 30.55-8.735 39.428-3.674 3.674-9.08 5.642-16.59 5.877-7.508.236-16.702-1.474-25.872-4.536-7.113-2.376-14.22-5.65-20.625-9.182l60.344-60.342zm79.075 193.522c-51.082 48.22-104.743 92.797-159.567 137.162L17.877 491.98l104.275-27.615c45.657-58.363 88.954-110.13 135.037-158.697-6.167-6.44-12.337-12.876-18.512-19.297L70.445 454.605 57.23 441.39 225.707 272.91c-6.684-6.924-13.376-13.835-20.076-20.73z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordSpin;

impl IconShape for SwordSpin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M259.738 20.38c-40.36-.244-81.305 9.895-118.744 31.51C28.566 116.8-10.03 260.837 54.88 373.265c64.91 112.427 208.947 151.024 321.376 86.113 77.686-44.852 120.106-127.485 117.498-211.363-3.575 65.865-35.942 128.62-91.082 169.41-10.81 9.596-22.748 18.254-35.762 25.767C263.228 503.053 130.926 467.6 71.066 363.92 11.206 260.238 46.66 127.936 150.34 68.076 185.98 47.5 225 38.183 263.3 39.03 336.42 40.65 406.9 79.31 446.183 147.35c.648 1.122 1.277 2.25 1.9 3.38.803 2.184 1.258 4.534 1.258 6.997 0 11.29-9.152 20.44-20.442 20.44-6.85 0-12.894-3.38-16.6-8.556-.763-1.432-1.547-2.858-2.355-4.276-.014-.035-.03-.068-.045-.104l-.01.004c-.15-.263-.293-.53-.445-.793-31.91-55.27-89.762-86.377-149.363-86.835-1.923-.014-3.848.002-5.773.05-28.007.718-56.228 8.227-82.162 23.2-82.99 47.914-111.498 154.31-63.584 237.3 2.93 5.072 6.08 9.936 9.426 14.597L95.65 365.648l9.344 16.184 24.848-14.348c53.686 59.734 143.727 75.99 216.017 34.254 51.455-29.707 81.957-81.898 86.294-137.05-12.315 44.767-41.423 85.652-83.564 113.128-3.87 2.732-7.892 5.32-12.076 7.737C273.02 422.21 194.6 408.96 146.41 357.92l45.278-26.143 19.99 34.625 16.185-9.343-16.707-28.937c24.072-21.104 54.165-23.015 62.973-5.96 93.825-32.597 231.378-110.21 190.755-180.57l-.4.173c-.692-1.26-1.396-2.514-2.118-3.764-42.597-73.78-119.27-115.764-198.724-117.565-1.3-.03-2.603-.048-3.905-.056zm.283 75.823c53.167.368 104.69 28.135 133.238 77.582.19.33.37.66.556.99-48.784 49.337-134.526 98.727-200.175 123.002l-15.1-26.148-16.183 9.343 19.987 34.62-48.08 27.76c-3.397-4.618-6.584-9.462-9.518-14.544-42.864-74.244-17.5-168.905 56.744-211.77 23.2-13.394 48.396-20.127 73.38-20.786 1.72-.045 3.436-.063 5.15-.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordTie;

impl IconShape for SwordTie {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.857 19.672c-1.538-.042-3.12.125-4.658.125-32.844 0-59.585 33.908-59.585 75.92 0 21.273 7.083 40.468 18.096 54.285-68.132 10.566-82.843 105.413-66.646 191.555h23.334l-.765-78.11 18.687-.183.94 95.715 9.004 136.618h109.9l11.477-154.04h.366l.77-78.294 18.687.183-.768 78.11h24.2c18.367-88.46-4.715-178.936-67.086-190.672 11.505-13.88 18.977-33.357 18.977-55.168 0-39.388-23.417-72.022-53.408-75.92-.5-.075-1.01-.11-1.523-.125zm-202.79.21v18.68H77.53v79.45H21.77v50.324h18.68v-31.643h23.34l-6.436 212.66L87.137 400.7l29.252-51.346-6.023-212.66h22.928v31.642h18.68v-50.324H96.21v-79.45h16.466V19.88h-51.61zm339.23 0v18.68h16.465v79.45h-55.764v50.324h18.682v-31.643h23.338l-6.436 212.66 29.785 51.346 29.252-51.346-6.022-212.66h22.927v31.642h18.682v-50.324h-55.764v-79.45h16.463V19.88h-51.61zm-167.95 66.59h53.385v18.688h-17.35v82.82h57.682v51.737h-18.687v-33.05h-24.04l6.237 220.296-30.26 53.113-30.808-53.113 6.664-220.295H210.7v33.05h-18.688V187.98h57.683v-82.82h-17.35V86.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordWound;

impl IconShape for SwordWound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.326 6.15l87.813 128.725-60.87-39.916 34.925 62.864L38.56 48.06h-.003c40.207 71.33 82.046 134.913 129.23 191.764L303.94 103.67c-45.164-37.052-96.674-69.324-157.614-97.52zm347.145 9.496L372.983 61.713l-214.59 214.09 13.213 13.215L383.367 77.75l78.078-29.85-29.402 78.56-211.746 211.25 13.213 13.214 214.61-214.106 45.35-121.172zM407.177 89.13l-259.95 259.95c-11.956-17.32-11.687-40.444.25-57.764l-31.26-31.255c-28.637 34.832-28.588 85.102.167 119.864L52.336 443.97c-2.528-.95-5.184-1.43-7.842-1.43-5.74 0-11.476 2.216-15.908 6.647-8.864 8.865-8.866 22.953 0 31.82 8.864 8.863 22.954 8.863 31.818 0 6.512-6.513 8.234-15.844 5.178-23.853l64.057-64.056c34.788 28.437 85.12 28.65 119.817.203l-31.262-31.26c-17.28 11.84-40.352 11.907-57.68.18l259.876-259.874-13.214-13.215zm-2.196 117.01L268.186 342.937c55.29 48.057 118.235 90.138 192.464 127.216L398.783 351.41l102.78 68.85-117.75-164.645 86.816 42.908c-20.895-33.04-42.523-63.772-65.65-92.382z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct SwordsEmblem;

impl IconShape for SwordsEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M66.54 18.002c-.327-.007-.655-.005-.98.006-4.064.136-8.105 1.634-11.39 4.535-7.508 6.632-8.218 18.094-1.586 25.602 4.394 4.974 10.906 6.945 16.986 5.792l57.838 65.475-50.373 44.498 24.188 27.38c9.69-21.368 22.255-39.484 37.427-54.65l6.91 36.188c25.092-6.29 49.834-10.563 74.366-12.873l-23.912-27.07-38.66-12.483c17.117-12.9 36.734-22.97 58.62-30.474l-24.19-27.385-50.37 44.496-57.92-65.57c1.79-5.835.617-12.43-3.72-17.34-3.498-3.96-8.34-6.03-13.235-6.128zm384.397 0c-4.895.1-9.735 2.168-13.232 6.127-4.338 4.91-5.514 11.506-3.723 17.343l-57.92 65.568-50.37-44.497-24.188 27.385c21.884 7.504 41.5 17.573 58.62 30.472l-38.66 12.485-23.255 26.324c24.71 1.863 49.367 5.706 74.118 11.46l6.498-34.03c15.173 15.166 27.74 33.282 37.43 54.65l24.185-27.38-50.372-44.498 57.838-65.475c6.08 1.153 12.593-.818 16.987-5.792 6.63-7.508 5.92-18.97-1.586-25.602-3.285-2.9-7.326-4.4-11.39-4.535-.326-.01-.653-.013-.98-.006zm-186.425 158.51c-39.56-.098-79.467 5.226-120.633 16.095-2.046 90.448 34.484 209.35 118.47 259.905 81.295-49.13 122.402-169.902 120.552-259.914-39.75-10.496-78.91-15.988-118.39-16.086zm-117.176 153.5L60.47 428.35l-12.2 63.894 61.9-19.994 68.49-77.535c-12.86-20.108-23.246-42.03-31.324-64.703zm228.203 6.11c-8.69 22.238-19.577 43.634-32.706 63.142l64.473 72.986 61.898 19.994-12.2-63.894-81.466-92.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Syringe;

impl IconShape for Syringe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M112.182 18.393c-.37-.007-.77 0-1.205.023-3.172.16-8.473 2.174-14.688 7.078-9.654 32.85-35.603 60.926-71.335 72.012-3.3 6.59-4.446 11.897-4.215 15.156.268 3.77 1.223 5.062 3.895 6.502 5.342 2.88 21.9 2.56 44.19-10.31l4.843-2.795 4.752 2.944c35.087 21.744 53.66 39.973 72.885 69.553l23.517-23.518c-31.97-18.754-48.732-38.902-68.935-73.91l-2.696-4.67 2.7-4.673c15.082-26.124 14.602-44.643 11.354-50.133-1.42-2.4-2.482-3.214-5.062-3.26zM275.8 87.45c-28.745 0-52.638 21.59-56.323 49.36l-84.444 84.448c-27.773 3.684-49.36 27.58-49.36 56.322 0 31.276 25.553 56.832 56.83 56.832 30.934 0 56.253-25 56.808-55.805l96.89 96.89 13.214-13.216L185.88 238.747l25.31-25.312 93.576 93.574 13.214-13.215-93.574-93.574 12.614-12.613 123.535 123.536 13.215-13.215-96.842-96.842c30.76-.608 55.703-25.906 55.703-56.803 0-31.276-25.553-56.832-56.83-56.832zm0 18.69c21.176 0 38.143 16.968 38.143 38.143 0 21.176-16.967 38.143-38.144 38.143-21.18 0-38.144-16.967-38.144-38.143 0-21.175 16.965-38.144 38.143-38.144zM142.503 239.437c21.177 0 38.142 16.966 38.142 38.142 0 21.176-16.965 38.145-38.142 38.145-21.178 0-38.145-16.97-38.145-38.145 0-21.176 16.966-38.142 38.144-38.142zm263.168 61.544c-5.287 0-10.573 2.044-14.66 6.13l-29.858 29.86-27.183-27.19-13.214 13.214 27.183 27.19-42.594 42.593h-.002c-8.18 8.186-8.176 21.15 0 29.33 8.172 8.175 21.147 8.175 29.326-.005l85.664-85.668c8.18-8.177 8.18-21.147.002-29.322-4.09-4.09-9.378-6.133-14.664-6.133zm-8.352 84.9L384.105 399.1l97.885 97.884 13.215-13.214-97.885-97.885z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tank;

impl IconShape for Tank {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M130.613 43.002v66.926c-22.925 19.7-38.03 48.177-40.533 80.252h234.51c-2.666-34.175-19.637-64.265-45.133-84.006H149.303V43.002h-18.69zM472.62 58.738L431.09 69.865l16.504 61.588 41.525-11.127-16.5-61.588zm-54.042 36.627l-98.787 26.47c5.382 7.835 9.97 16.256 13.647 25.15l92.342-24.745-7.202-26.875zM121.53 206.342l-78.364 37.045.002 50.3 18.207-7.556H442.11l19.316 6.413c0-51.397-119.076-83.53-183.166-86.2H121.53zm-38.17 97.88v.038c-35.936.645-65.065 30.15-65.065 66.232 0 36.484 29.777 66.26 66.262 66.26 1.286 0 2.563-.046 3.832-.12h106.473c1.27.074 2.545.12 3.832.12s2.563-.046 3.832-.12h107.34c1.27.074 2.545.12 3.832.12 1.286 0 2.562-.046 3.83-.12H423.7c1.268.074 2.544.12 3.83.12 36.486 0 66.263-29.776 66.263-66.26 0-36.485-29.777-66.262-66.262-66.262-.276 0-.55.02-.827.022v-.03H83.36zm47.2 18.686h22.13c-4.283 4.144-8.012 8.855-11.063 14.014-3.05-5.16-6.78-9.87-11.066-14.014zm114.14 0h22.995c-4.49 4.344-8.37 9.313-11.498 14.766-3.13-5.453-7.006-10.422-11.498-14.766zm115.003 0h21.824c-4.21 4.074-7.89 8.692-10.912 13.748-3.022-5.056-6.7-9.674-10.912-13.748zm-275.146.012c26.385 0 47.572 21.187 47.572 47.572 0 25.293-19.477 45.798-44.333 47.45H83.36v.09c-25.825-.63-46.378-21.558-46.378-47.54 0-26.383 21.19-47.572 47.575-47.572zm114.138 0c26.386 0 47.573 21.187 47.573 47.572 0 25.293-19.476 45.798-44.332 47.45h-6.48c-24.858-1.652-44.335-22.157-44.335-47.45 0-26.383 21.19-47.572 47.575-47.572zm115.004 0c26.372 0 47.548 21.166 47.57 47.533v.078c-.02 25.276-19.487 45.76-44.33 47.413h-6.48c-24.858-1.653-44.335-22.158-44.335-47.45 0-26.384 21.19-47.573 47.574-47.573zm113.83 0c26.387 0 47.575 21.187 47.575 47.572 0 26.383-21.188 47.572-47.574 47.572-.277 0-.55-.016-.827-.02v-.1h-2.412c-24.843-1.653-44.31-22.138-44.33-47.413v-.078c.022-26.364 21.2-47.532 47.57-47.532zm-171.333 80.39c3.098 5.398 6.928 10.32 11.362 14.633h-22.724c4.434-4.312 8.264-9.235 11.36-14.632zm-114.572.75c3.02 5.106 6.702 9.77 10.93 13.883h-21.858c4.228-4.112 7.91-8.778 10.928-13.882zm228.99.266c2.99 5.002 6.62 9.576 10.776 13.617h-21.55c4.155-4.04 7.786-8.615 10.775-13.617z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TargetArrows;

impl IconShape for TargetArrows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.48 25.695C37 62.802 51.945 100.233 69.07 137.86c17.496-31.598 41.214-52.96 71.563-70.473C102.823 50.575 65.097 36.27 27.48 25.695zm456.24 0c-37.62 10.575-75.347 24.88-113.156 41.692 30.35 17.514 54.067 38.875 71.563 70.472 17.125-37.627 32.07-75.058 41.592-112.165zm-367.1 81.315c-3.574 3.207-6.978 6.57-10.224 10.117L232.12 242.85l10.257-10.243L116.62 107.01zm277.956 0L28.018 473.11l10.54 10.26L404.8 117.126c-3.245-3.548-6.648-6.91-10.224-10.117zm-138.963 26.81c-24.338 0-47.014 7.245-65.998 19.682l13.494 13.477c15.33-9.19 33.285-14.472 52.503-14.472 19.214 0 37.16 5.28 52.483 14.465l13.492-13.477c-18.975-12.433-41.64-19.676-65.975-19.676zm-.004 45.08c-11.807 0-22.994 2.732-32.967 7.588l14.246 14.23c5.86-2.026 12.152-3.138 18.72-3.138 6.56 0 12.848 1.11 18.702 3.13l14.25-14.228c-9.97-4.853-21.15-7.582-32.953-7.582zm102.27 11.58l-13.556 13.55c8.464 14.877 13.297 32.102 13.297 50.488 0 19.172-5.255 37.087-14.403 52.392l13.496 13.48c12.386-18.958 19.598-41.59 19.598-65.872 0-23.51-6.76-45.467-18.43-64.04zm-204.56 0c-11.677 18.573-18.443 40.527-18.443 64.038 0 24.282 7.217 46.912 19.61 65.87l13.493-13.478c-9.154-15.305-14.416-33.22-14.416-52.392 0-18.386 4.838-35.61 13.307-50.487l-13.55-13.55zm171.315 33.24l-14.457 14.458c1.536 5.174 2.373 10.655 2.373 16.343 0 6.543-1.103 12.813-3.113 18.654l14.25 14.23c4.83-9.952 7.543-21.11 7.543-32.883 0-10.962-2.37-21.38-6.595-30.8zm-138.072.003c-4.227 9.417-6.598 19.836-6.598 30.798 0 11.773 2.715 22.93 7.547 32.882l14.25-14.23c-2.01-5.84-3.117-12.11-3.117-18.65 0-5.69.837-11.17 2.375-16.344l-14.458-14.455zm92.523 45.547l-10.274 10.273 203.83 203.826 10.54-10.26-204.096-203.84zm-39.84 39.84l-14.453 14.452c9.423 4.23 19.85 6.604 30.816 6.604 10.962 0 21.38-2.373 30.798-6.6l-14.453-14.453c-5.174 1.538-10.657 2.375-16.346 2.375-5.695 0-11.183-.838-16.364-2.38zM81.87 341.3l-68.024 68.026h51.588l68.11-68.025H81.872zm295.78 0l68.112 68.026h51.59L429.326 341.3H377.65zm-172.546 1.95l-13.55 13.553c18.58 11.68 40.544 18.45 64.06 18.45 23.51 0 45.464-6.768 64.036-18.444l-13.55-13.552c-14.875 8.47-32.102 13.306-50.487 13.306-18.39 0-35.625-4.84-50.51-13.314zm-34.88 34.883l-68.03 68.025.003 51.52 68.026-68.024v-51.52zm170.75 0v51.52L409 497.68l.002-51.52-68.027-68.025z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TargetDummy;

impl IconShape for TargetDummy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304.482 19.73c-19.18.347-39.96 9.122-56.498 25.66-22.422 22.423-30.554 52.63-22.783 76.09-65.956-30.317-59.724-32.208-123.327-73.015-10.072-6.462-19.445-9.412-27.816-9.805-13.953-.655-25.126 5.793-32.135 14.926-11.214 14.613-12.37 36.164 10.95 54.418 31.027 24.286 58.825 41.022 79.015 59.45 20.19 18.43 32.658 40.606 28.355 70.046v.002c-3.16 21.608-13.68 37.998-26.46 51.47-12.78 13.47-27.77 24.476-41.46 36.676-27.38 24.4-50.32 51.77-45.052 114.266 3.327 39.483 34.167 55.107 59.666 52.365 12.75-1.372 23.497-7.357 29.394-17.49 5.897-10.13 7.69-25.42-1.037-47.733h-.002c-7.592-19.416 3.128-40.832 18.368-57.09 15.24-16.26 36.807-28.817 58.852-24.998 6.175 1.07 11.446 4.722 15.056 9.157 3.61 4.435 5.982 9.604 7.955 15.234 3.948 11.262 6.26 24.69 9.117 38.58 5.71 27.777 13.67 55.973 33.068 68.474 37.964 24.468 75.254 17.395 91.902.44 8.325-8.475 11.916-18.84 9.127-31.14-2.788-12.297-12.694-27.158-34.267-41.845-23.664-16.11-32.657-48.282-33.846-80.118-1.188-31.836 5.29-64.08 20.13-84.033 6.878-9.25 17.534-13.128 29.645-17.417 12.11-4.29 26.21-8.48 40.753-14.694 29.086-12.426 59.652-32.204 79.14-76.788 17.078-39.068 3.357-64.292-15.298-73.474-9.327-4.592-20.128-5.156-30.435-.65-10.308 4.505-20.442 14.216-27.45 31.78-13.14 32.932-39.195 51.68-70.414 56.41-8.096 1.225-16.527 1.586-25.223 1.163 7.505-4.07 14.71-9.39 21.25-15.93 29.4-29.4 34.27-72.202 10.87-95.6-10.236-10.237-24.187-15.063-39.105-14.79zm-51.925 131.79c.84-.02 1.683-.017 2.525.007 4.49.13 8.978.873 13.393 2.305 17.656 5.73 29.82 21.068 35.47 39.566 5.65 18.5 5.292 40.598-1.843 62.635-7.136 22.038-19.795 40.148-35.213 51.815-15.42 11.666-34.268 16.947-51.925 11.218-17.657-5.73-29.82-21.067-35.47-39.566-5.65-18.5-5.29-40.6 1.845-62.637 7.135-22.038 19.795-40.148 35.213-51.814 10.84-8.204 23.378-13.25 36.004-13.53zm.21 18.65c-8.075.183-16.6 3.475-24.937 9.783-11.857 8.972-22.66 23.984-28.71 42.666-6.048 18.68-6.098 37.188-1.75 51.42 4.346 14.234 12.583 23.75 23.362 27.25 10.78 3.497 23.022.627 34.88-8.345 11.857-8.972 22.66-23.986 28.708-42.668 6.05-18.68 6.097-37.187 1.75-51.42-4.346-14.232-12.583-23.75-23.363-27.248-2.695-.875-5.48-1.352-8.33-1.434-.534-.016-1.07-.018-1.61-.006zm-7.25 27.643c.412-.01.826-.01 1.24.003 2.203.065 4.426.448 6.62 1.204 8.777 3.022 14.27 10.818 16.682 19.2 2.41 8.383 2.197 17.916-.7 27.415-2.9 9.498-8.015 17.453-14.762 22.87-6.748 5.42-15.967 8.365-24.744 5.343-8.778-3.023-14.27-10.82-16.682-19.202-2.412-8.382-2.2-17.917.7-27.416 2.897-9.498 8.01-17.453 14.76-22.87 4.743-3.81 10.71-6.398 16.886-6.548zm.46 18.63c-.477-.017-.995.038-1.563.192-1.137.307-2.475 1.006-4.082 2.297-3.215 2.58-6.668 7.466-8.586 13.752-1.917 6.285-1.854 12.49-.615 16.795 1.24 4.303 3.2 6.144 4.808 6.698 1.608.554 3.743.337 6.958-2.244 3.216-2.582 6.67-7.467 8.588-13.752 1.918-6.285 1.854-12.49.616-16.793-1.24-4.306-3.2-6.147-4.81-6.7-.4-.14-.837-.23-1.313-.247z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TargetShot;

impl IconShape for TargetShot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M58.11 20.152c20.53 18.986 40.747 38.58 60.482 58.592-.085.062-.168.127-.252.19 13.45 13.612 26.668 27.42 39.617 41.367l.213-.142c4.3 4.643 8.576 9.3 12.812 13.97l-.195.126c12.993 14.29 25.67 28.708 37.986 43.19l.106-.104c27.063 31.912 52.34 64.147 75.237 96.072 2.08 2.902 4.143 5.8 6.184 8.695l.723 1.026c1.75 2.486 3.48 4.97 5.2 7.45.463.67.93 1.338 1.392 2.007 1.43 2.076 2.845 4.15 4.254 6.22.68 1.003 1.37 2.007 2.048 3.008 1.403 2.076 2.786 4.148 4.166 6.22.54.808 1.09 1.62 1.627 2.43 0-.002 0 0 0 0l-.003-.003c-2.97-1.966-5.948-3.96-8.928-5.97-.582-.394-1.165-.794-1.747-1.188-2.45-1.66-4.9-3.33-7.353-5.02-.606-.417-1.213-.84-1.82-1.26-2.384-1.648-4.77-3.31-7.16-4.986l-2.05-1.442c-2.514-1.773-5.03-3.56-7.548-5.362l-1.032-.74c-2.94-2.11-5.883-4.238-8.828-6.387-28.878-21.073-57.928-44.03-86.693-68.44l.055-.057c-14.42-12.256-28.77-24.868-42.99-37.795l-.062.1c-4.677-4.246-9.342-8.522-13.99-12.832l.08-.117c-13.968-12.973-27.795-26.218-41.418-39.697l-.096.127C59.19 100.682 40.636 81.533 22.626 62.086c14.89 23.17 30.88 46.1 47.81 68.67C24.96 203.542 33.861 300.61 97.142 363.89c57.81 57.81 143.806 70.223 213.735 37.266-16.82-13.53-33.103-27.866-48.74-42.906-43.354 10.697-91.117-.853-124.934-34.67-38.908-38.91-48.344-96.285-28.325-144.162 4.546 5.473 9.143 10.917 13.793 16.33-12.57 39.06-3.322 83.547 27.748 114.617 26.16 26.16 61.83 36.84 95.764 32.063-30.955-31.627-59.076-66.004-83.49-102.184 97.134 103.204 211.78 192 327.656 250.217C432.41 375.526 344.058 261.308 241.47 164.308c35.714 23.993 69.634 51.706 100.897 82.21 4.888-34.028-5.787-69.84-32.027-96.08-22.12-22.123-51.042-33.183-79.963-33.183-11.797 0-23.594 1.842-34.93 5.523-5.398-4.646-10.83-9.24-16.287-13.783 16.332-6.867 33.773-10.31 51.217-10.31 33.743 0 67.487 12.847 93.178 38.54 33.88 33.88 45.414 81.762 34.615 125.182 15.026 15.575 29.362 31.8 42.904 48.555 32.952-69.93 20.536-155.932-37.27-213.74-36.82-36.82-85.077-55.232-133.333-55.232-34.703 0-69.406 9.522-99.855 28.565-23.82-17.92-48.043-34.778-72.506-50.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Targeting;

impl IconShape for Targeting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M310.537 18.758L295.6 74.506c-13.073-2.813-26.154-4.16-39.067-4.156v18.662c11.306.01 22.76 1.187 34.217 3.59l-14.488 54.066c2.972.543 5.946 1.206 8.916 2.002 3.11.834 6.152 1.798 9.127 2.873l14.502-54.123c11.127 3.643 21.627 8.365 31.425 14.006l9.338-16.174c-11.182-6.454-23.19-11.818-35.918-15.912l16.235-60.582h-19.35zM208.4 76.756c-31.462 8.497-60.265 25.152-83.328 48.181l13.15 13.15c8.15-8.16 17.1-15.426 26.684-21.704l27.936 48.387c5.127-3.557 10.544-6.68 16.19-9.334l-27.948-48.41c10.225-5.174 20.994-9.3 32.133-12.297L208.4 76.755zm179.668 48.105l-13.154 13.156c8.155 8.164 15.418 17.127 21.69 26.722l-48.692 28.114c3.55 5.132 6.664 10.554 9.31 16.205l48.725-28.13c5.168 10.23 9.292 21.003 12.278 32.147l17.97-4.816c-8.473-31.48-25.11-60.31-48.127-83.397zm-292.55 38.574c-6.442 11.175-11.8 23.17-15.885 35.888l-60.737-16.275v19.348L74.8 217.373c-2.805 13.06-4.13 26.126-4.122 39.025H89.33c.008-11.293 1.157-22.734 3.553-34.18l53.847 14.428c.554-3.077 1.233-6.157 2.057-9.232.805-3.005 1.732-5.944 2.762-8.822l-53.843-14.428c3.634-11.116 8.346-21.606 13.973-31.398l-16.162-9.332zm162.023 20.484c-.895.003-1.788.022-2.68.06-30.888 1.26-58.825 22.36-67.23 53.73-10.347 38.61 12.708 78.54 51.317 88.886 38.61 10.345 78.54-12.71 88.885-51.32 10.345-38.607-12.708-78.538-51.316-88.883-6.335-1.697-12.706-2.494-18.975-2.472zm-.01 18.658c1.287 0 2.582.045 3.88.137l-5.498 20.377c.9-.072 1.806-.12 2.725-.12 5.642 0 10.955 1.398 15.623 3.856l5.293-19.617c21.288 9.357 34.11 31.358 31.818 54.456l-19.15-5.168c0 .018.003.036.003.055 0 6.584-1.904 12.722-5.178 17.906l19.332 5.214c-9.793 20.695-31.702 32.98-54.574 30.39l5.385-19.96c-6.583-.28-12.67-2.457-17.74-5.995l-5.59 20.706c-19.83-9.728-31.712-30.68-29.83-52.753l21.054 5.68c-.014-.396-.03-.79-.03-1.19 0-6.18 1.675-11.964 4.587-16.938l-20.882-5.633c8.495-18.616 26.727-30.598 46.777-31.367.663-.025 1.328-.038 1.994-.04zm166.353 53.822c-.02 11.3-1.186 22.75-3.598 34.2l-54.342-14.56c-.547 3.007-1.214 6.02-2.02 9.024-.823 3.074-1.774 6.08-2.833 9.02l54.346 14.563c-3.65 11.117-8.38 21.608-14.024 31.398l16.172 9.338c6.46-11.173 11.833-23.17 15.936-35.89l60.654 16.252v-19.346l-55.805-14.953c2.822-13.065 4.162-26.137 4.17-39.045h-18.657zM95.027 299.672l-17.97 4.814c8.487 31.435 25.118 60.222 48.11 83.278l13.157-13.155c-8.142-8.15-15.396-17.094-21.664-26.67L165.057 320c-3.57-5.118-6.708-10.528-9.377-16.168l-48.37 27.928c-5.166-10.213-9.292-20.965-12.283-32.088zm224.965 47.95c-5.122 3.563-10.534 6.692-16.178 9.355l28.112 48.69c-10.22 5.157-20.98 9.274-32.112 12.255l4.815 17.965c31.454-8.46 60.26-25.07 83.34-48.053l-13.152-13.15c-8.158 8.14-17.112 15.39-26.7 21.652l-28.126-48.715zM218.81 361.08l-14.49 54.07c-11.104-3.64-21.583-8.36-31.363-13.992l-9.338 16.174c11.163 6.446 23.15 11.807 35.855 15.9l-16.293 60.8h19.35l14.993-55.96c13.053 2.815 26.115 4.172 39.01 4.178v-18.674c-11.288-.018-22.725-1.18-34.164-3.584l14.5-54.11c-3.113-.558-6.227-1.244-9.34-2.077-2.97-.796-5.875-1.71-8.72-2.725z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TatteredBanner;

impl IconShape for TatteredBanner {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M93.313 19.406c-11.24 0-20.157 8.916-20.157 20.157 0 6.968 3.436 13.022 8.72 16.624L35.218 494.25H54l46.438-435.875c7.637-2.84 13-10.1 13-18.813 0-11.237-8.886-20.156-20.126-20.156zm23.906 52.688l-21.157 198.78 92.624 19.532 64.157-194L117.22 72.094zm137.593 78.28L190.625 344.44l58.28 11.03-3.81-57.874 27.03 29.906 18.594-7.844 11.31 45.875 82.69 15.626-34.033-68.437 29.844-12.658 23.033 32.563 42.5.188 1.875 17.875 39-24.375-35.813-8.532-7.938-29.655-45.78-2.406 3.28-30.845-35.437-19.406 15.03-31.095 28.064-21.344v-.093l-153.53-32.562zm189.875 9.44l2.125 34.53-51.22 23.312 71.782 4.375 16.22-15.718L462.904 172l-18.217-12.188zm-4.47 84.874l35.126 45.625 18.47-25.625-53.595-20zm-98.468 8.25l24.813 1.406 5.218 23.75-50.155 9.062 20.125-34.22zm-4.03 76.687l11.967 19.22-37.062 2.217 5.094-15.906 20-5.53zm79.874 16.5l-17.53 29.188 39.717 32.718 40.876-11.092-40.28-19.875-22.782-30.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Teapot;

impl IconShape for Teapot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.826 85.162c-12.295 0-22.263 9.973-22.263 22.274 0 6.545 2.824 12.43 7.318 16.505-17.227 3.053-33.423 10.562-48.218 21.564 4.093 1.436 8.62 2.72 13.525 3.777 16.838 3.627 37.55 5.008 57.97 4.407 20.42-.6 40.615-3.183 56.406-7.125 1.224-.305 2.41-.63 3.578-.964-16.056-11.974-33.772-19.82-52.663-22.327 4.08-4.036 6.613-9.638 6.613-15.834 0-12.3-9.968-22.274-22.264-22.274zm-79.273 74.225c-4.527 4.47-8.882 9.288-13.057 14.412 26.254 9.453 58.836 15.887 94.848 15.887 36.46 0 69.31-5.498 95.36-15.2-4.11-5.09-8.39-9.89-12.845-14.346-4.836 1.703-10.117 3.17-15.766 4.58-17.532 4.375-38.765 7.02-60.375 7.655-21.612.635-43.545-.738-62.47-4.813-9.363-2.015-18.09-4.593-25.697-8.175zm-101.272 1.8C59.95 161 47.278 165.13 37.938 175c-9.34 9.87-14.998 24.657-16.312 44.53-1.47 22.042 1.022 38.312 6.97 50.814 5.946 12.502 15.397 20.635 25.31 26.22 9.815 5.526 19.944 9.16 29.503 13.207-1.39-6.85-2.278-14.083-2.646-21.688-6.516-2.555-12.605-4.932-17.7-7.8-7.797-4.392-13.495-9.354-17.593-17.97-4.1-8.615-6.525-21.508-5.19-41.53 1.123-16.975 5.726-27.132 11.22-32.938 5.494-5.806 12.203-8.096 20.5-7.97 10.355.16 22.67 5.086 33.033 12.23 3.188-5.497 6.64-10.85 10.328-16.055-12.74-8.877-27.897-14.63-43.08-14.863zm387.882 6.614c-11.768-.228-23.427 4.766-32.387 19.817h.002c-11.343 19.057 10.273 70.745-16.515 78.233-.035-.346-.063-.694-.1-1.04l-.094.928c-17.243-1.76-27.984 2.648-35.298 9.666-7.315 7.02-11.37 17.463-12.075 28.785-.706 11.322 2.086 23.248 7.276 31.964 3.395 5.702 7.53 9.915 12.387 12.395l-.322 1.608c28.657 2.568 82.005-3.247 86.13-57.637 3.07-40.457-30.97-111.518 15.565-89.764-3.6-11.372 1.018-19.242 12.096-21.092-9.85-6.638-23.327-13.604-36.664-13.863zm-326.474 15.012c-21.276 28.462-34.438 61.033-34.438 97.313 0 43.367 16.458 69.532 44 86.688 27.542 17.155 67.3 24.375 112.063 24.375 44.76 0 84.658-7.208 112.375-24.375 1.61-.998 3.177-2.03 4.71-3.088-7.236-4.373-13.164-10.75-17.486-18.01-7.407-12.44-10.806-27.66-9.87-42.69.938-15.028 6.362-30.14 17.788-41.105 9.998-9.593 24.464-15.386 42.293-15.217.978.01 1.975.054 2.973.1-5.512-23.568-16.517-45.475-30.815-63.834-31.777 16.617-74.14 25.405-121.936 25.405-48.047 0-90.2-10.66-121.656-25.563zm226.193 209.11c-29.715 13.08-65.89 17.953-104.567 17.953-38.47 0-74.382-4.812-103.89-17.738 5.108 11.837 13.503 20.477 24.602 27.236 19.175 11.677 47.392 16.79 79.366 16.79 31.974 0 60.325-5.113 79.628-16.802 11.236-6.803 19.725-15.502 24.863-27.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TearTracks;

impl IconShape for TearTracks {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.938 18.22c-42.195 0-80.92 25.056-109.782 67.75-28.862 42.692-47.312 102.834-47.312 169.06 0 66.228 18.45 125.715 47.312 168.407 8.205 12.137 17.224 22.822 26.875 31.938V345.062c-1.848-68.64-15.293-95.28-56.374-95.28 0-33.167 45.555-52.78 82.563-52.313 25.32.32 46.655 10.066 46.655 31.28-34.76 19.23-50.127 40.276-54.156 97.625V470.5c19.73 13.406 41.468 20.688 64.218 20.688 22.727 0 44.44-7.276 64.156-20.657V325.97c-4.074-57.04-19.45-78.038-54.125-97.22 0-21.214 21.334-30.96 46.655-31.28 37.008-.47 82.563 19.145 82.563 52.31-41.08 0-54.526 26.64-56.375 95.282v110.375c9.675-9.128 18.683-19.837 26.906-32 28.86-42.692 47.342-102.18 47.342-168.406s-18.48-126.368-47.343-169.06c-28.863-42.694-67.588-67.75-109.783-67.75zm-78.344 194.56c-12.51 0-22.656 10.147-22.656 22.657s10.146 22.657 22.656 22.657c12.51 0 22.656-10.146 22.656-22.656 0-12.51-10.146-22.657-22.656-22.657zm156.656 0c-12.51 0-22.656 10.147-22.656 22.657s10.146 22.657 22.656 22.657c12.51 0 22.625-10.146 22.625-22.656 0-12.51-10.115-22.657-22.625-22.657z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tearing;

impl IconShape for Tearing {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M14.223 16.04C61.87 72.49 129.64 160.757 96.22 203.394c56.01 18.077 119.235 143.897 150.99 175.052 1.477-24.13 23.964-14.4 51.776 7.51 10.106-14.555 19.463-30.113 28.04-46.437-71.51-21.026-159.736-152.712-108.915-135.123C159.834 150.63 67.013 58.298 14.224 16.04zm392.732.126c.013.28.022.557.035.838 3.71 31.3 4.355 64.147 2.094 97.443 35.58 48.458 39.525 120.59 24.836 190.244-11.444 54.268-34.302 107.376-64.797 147.394 23.478 24.646 40.965 44.89 40.965 44.89 56.49-99.385 157.33-291.34-3.133-480.808zm-.865 129.848c-11.03 90.59-42.957 181.907-92.518 252.078 14.08 12.273 28.75 26.505 42.31 40.304 27.426-37.093 49.073-86.927 59.75-137.562 11.892-56.388 10.05-113.31-9.542-154.82z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TechnoHeart;

impl IconShape for TechnoHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M139.625 23.563c-1.58.008-3.147.052-4.72.125l171.75 258.093h146.25c15.35-16.906 27.875-35.263 35.69-56.56h-96.876c-7.317 18.17-25.136 31.093-45.845 31.093-27.173 0-49.375-22.233-49.375-49.407 0-11.436 3.95-21.978 10.53-30.375l-49.155-77.655c-.03.053-.063.103-.094.156-1.183-2.05-2.395-4.036-3.624-6-30.106-48.086-73.28-69.694-114.53-69.468zm228.656 2.656c-35.864.328-72.648 18.056-100.78 57.655h204.125C447.147 47.133 408.293 25.85 368.28 26.22zm-253.967.25c-11.495 2.624-22.58 7.007-32.876 13 10.672 9.08 17.47 22.6 17.47 37.624 0 12.72-4.873 24.35-12.844 33.125l43.187 67.31h85.594L114.314 26.47zM49.5 46.374c-17.074 0-30.72 13.645-30.72 30.72 0 17.073 13.646 30.686 30.72 30.686 17.074 0 30.72-13.612 30.72-30.686 0-17.074-13.646-30.72-30.72-30.72zm232.844 56.188l38.97 61.53c7.24-4.184 15.635-6.593 24.56-6.593 27.05 0 49.203 22.03 49.407 49.03h98.75c2.575-11.807 3.757-24.49 3.345-38.25-.735-24.555-6.237-46.66-15.22-65.718h-199.81zm-259.47 16.062c-4.02 15.02-5.985 31.62-5.436 49.656.095 3.143.293 6.215.562 9.25h89.063l-35.97-56.06c-6.533 3.197-13.86 5-21.593 5-9.79 0-18.926-2.887-26.625-7.845zm323 57.563c-17.073 0-30.687 13.644-30.687 30.718 0 17.074 13.614 30.72 30.688 30.72 17.074 0 30.72-13.646 30.72-30.72 0-17.074-13.646-30.72-30.72-30.72zm-325.03 20.03c3.693 16.938 10.187 32.203 18.75 46.345H196.562l2.75 4.343L276.97 369.53l9.092 14.345H212.22c-1.403 6.96-4.274 13.418-8.282 19 22.164 24.562 41.335 52.573 53.843 86.75 35.156-90.944 118.132-134.872 176.564-189.156h-137.72l-2.78-4.19-66.594-100.06H20.844zM52.5 261.25c21.193 27.23 49.796 50.764 79.313 75.313 8.633-7.354 19.808-11.813 31.968-11.813 24.116 0 44.348 17.504 48.595 40.438h39.72L186.28 261.25H52.5zm111.28 82.188c-17.073 0-30.718 13.644-30.718 30.718 0 17.074 13.645 30.72 30.72 30.72 17.073 0 30.687-13.646 30.687-30.72 0-17.074-13.615-30.72-30.69-30.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Telepathy;

impl IconShape for Telepathy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.813 20.813c-.73.03-1.536.107-2.407.218-33.88 4.403-58.97 36.928-58.97 78.157 0 17.885 4.538 35.768 12.626 50.157-11.006 4.402-20.227 11.366-27.5 20.094-9.996 11.996-16.582 27.018-21.124 43.5-9.086 32.963-10.125 72.234-10.125 107.625v9.343H63.344l9.968 154.75.563 8.75H191.78l.564-8.75 9.97-154.75h42.03v-9.344c0-35.39-1.04-74.66-10.125-107.625-4.544-16.48-11.13-31.503-21.126-43.5-7.273-8.727-16.494-15.69-27.5-20.093 4.88-8.683 8.453-18.635 10.53-29.094l65.814 15.938 16.218 3.937L273 124.22l-12.75-39.345L313.72 98.5c-.003.23 0 .457 0 .688 0 17.884 4.535 35.767 12.624 50.156-11.007 4.402-20.26 11.366-27.53 20.094-9.998 11.996-16.553 27.018-21.095 43.5-9.086 32.963-10.158 72.234-10.158 107.625v9.343h42.064l1.968 30.875v1.408h.094l7.875 122.468.562 8.75H438.03l.564-8.75 7.844-122.28h.125l.03-2.126 1.938-30.344h42.064v-9.344c0-35.39-1.04-74.66-10.125-107.625-4.544-16.48-11.13-31.503-21.126-43.5-7.273-8.727-16.525-15.69-27.53-20.093 8.087-14.39 12.623-32.272 12.623-50.156 0-41.23-25.056-73.755-58.937-78.157h-.03c-1.743-.22-3.205-.254-4.376-.218-.893.028-1.45.068-2 .094-.56-.026-1.136-.065-2.03-.093-1.173-.037-2.635-.003-4.377.218h-.03c-28.334 3.682-50.472 27.03-56.97 58.69L248.47 62.593l-16.44-4.188 5.22 16.125 12.813 39.564-51.875-12.53c.017-.795.03-1.583.03-2.376 0-41.23-25.056-73.755-58.937-78.157h-.03c-1.742-.22-3.204-.254-4.375-.218-.91.03-1.5.07-2.063.094-.56-.026-1.135-.065-2.03-.093-.586-.02-1.24-.032-1.97 0zm3.406 18.812c.433.006.7 0 1.218 0 5.338 0 10.785 1.384 15.875 3.78l.093-.155c16.9 7.98 29.447 27.32 30.094 53.78l-19.28-4.655c-3.217-12.606-14.644-21.906-28.25-21.906-16.103 0-29.157 13.053-29.157 29.155s13.052 29.156 29.156 29.156c11.977 0 22.262-7.234 26.75-17.56l19.093 4.624c-2.573 13.025-7.828 25.176-14.22 32.875l-10.155 12.218 15.593 2.937c12.813 2.408 22.09 8.375 29.72 17.53 7.63 9.158 13.393 21.712 17.47 36.5 7.434 26.98 9.063 60.967 9.31 93.282h-24.874l.563-58.593-18.69-.188-1.06 109.78.03.002-7.22 112.53H141.5V335h-18.688v139.72H91.406l-7.25-112.345h.063l1.06-109.78-18.686-.19-.563 58.782H40.126c.25-32.315 1.908-66.303 9.344-93.28 4.075-14.79 9.806-27.344 17.436-36.5 7.63-9.157 16.907-15.124 29.72-17.532l15.593-2.938-10.126-12.218c-9.083-10.943-15.97-30.87-15.97-49.532 0-27.573 12.788-47.748 30.157-55.938l.064.156c5.09-2.397 10.536-3.78 15.875-3.78zm246.25 0c.44.006.722 0 1.25 0 5.337 0 10.784 1.384 15.874 3.78l.062-.124c17.33 8.21 30.094 28.368 30.094 55.907 0 18.664-6.855 38.59-15.938 49.532l-10.156 12.218 15.625 2.937c12.813 2.408 22.06 8.375 29.69 17.53 7.63 9.158 13.39 21.712 17.467 36.5 7.436 26.98 9.096 60.967 9.344 93.282h-24.717l.562-58.593-18.688-.188-1.03 107.03L420.5 474.72h-32.906V335h-18.688v139.72h-31.25l-7.344-114.533 1.063-107.593-18.688-.188-.593 58.78-25.72.002c.25-32.316 1.91-66.304 9.345-93.282 4.075-14.79 9.838-27.343 17.467-36.5 7.63-9.156 16.876-15.123 29.688-17.53l15.625-2.94-10.156-12.217c-8.415-10.138-14.902-27.996-15.813-45.407l16.72 4.25c3.46 12.237 14.685 21.218 28.03 21.218 16.105 0 29.158-13.053 29.158-29.155S393.382 70.47 377.28 70.47c-12.17 0-22.57 7.466-26.936 18.06l-16.625-4.218c3.687-19.918 14.76-34.387 28.81-41.03l.064.124c5.09-2.397 10.536-3.78 15.875-3.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Teleport;

impl IconShape for Teleport {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.334 22.717c-18.64 2.424-35.677 23.574-37.043 51.49v.02c-.057 1.186-.097 2.38-.097 3.59 0 16.362 5.658 30.827 13.942 40.818l10.127 12.213-15.592 2.933c-10.75 2.025-18.622 7.702-25.373 16.978-2.285 3.14-4.384 6.707-6.31 10.62-57.54-6.44-97.91-21.06-97.91-37.952 0-17.363 42.647-31.983 102.75-37.97-.213-2.51-.323-5.057-.323-7.636v-.002c0-.84.024-1.674.047-2.51-96.43 6.77-167.298 29.15-167.3 55.71-.002 25.33 64.462 46.86 154.074 54.67-.19.742-.394 1.465-.576 2.216-2.36 9.72-4.05 20.22-5.268 31.03-.01 0-.02 0-.03.002-.418 3.653-.78 7.34-1.095 11.046l.05-.005c-1.316 15.777-1.772 31.88-1.893 46.95h35.894l2.115 28.4c-68.24-4.994-118.444-21.004-118.444-39.843 0-13.243 24.83-24.89 63.27-32.33.3-4.056.66-8.115 1.076-12.162-76.42 9.353-129.17 29.168-129.172 52.086-.002 28.17 79.71 51.643 185.098 56.768l5.94 79.77c10.5 2.648 24.84 4.162 39.017 4.068 13.79-.092 27.235-1.71 36.45-4l5.263-79.846c105.308-5.14 184.935-28.605 184.935-56.76 0-23.013-53.196-42.895-130.13-52.2.304 4.02.557 8.047.755 12.07 38.883 7.43 63.965 19.17 63.965 32.536 0 18.84-49.804 34.85-117.908 39.844l1.87-28.402h34.18c-.012-15.113-.127-31.27-1.033-47.094.01 0 .02.002.032.004-.214-3.687-.472-7.352-.782-10.986l-.02-.002c-.94-11.157-2.367-21.984-4.546-31.967-.09-.405-.184-.803-.275-1.206 89.518-7.826 153.893-29.344 153.893-54.656 0-26.787-72.076-49.332-169.77-55.887.025.895.053 1.788.053 2.688 0 2.5-.104 4.97-.304 7.407 61.19 5.836 104.61 20.61 104.61 38.2 0 16.805-39.633 31.355-96.524 37.848-2.01-4.283-4.26-8.15-6.762-11.505-6.83-9.167-15.063-14.81-27.14-16.682l-15.913-2.47 10.037-12.59c6.928-8.69 11.912-20.715 13.057-34.268h.002c.163-1.95.25-3.93.25-5.938 0-.77-.022-1.532-.048-2.29-.015-.48-.033-.958-.057-1.434h-.002c-1.48-29.745-20.507-51.3-41.076-51.3-2.528 0-3.966-.087-4.03-.08h-.003zM194.54 355.822c-97.11 6.655-168.573 29.11-168.573 55.8 0 31.932 102.243 57.815 228.367 57.815S482.7 443.555 482.7 411.623c0-26.608-71.02-49.004-167.67-55.736l-.655 9.93c60.363 6.055 103.074 20.956 103.074 38.394 0 22.81-73.032 41.298-163.12 41.298-90.088 0-163.12-18.49-163.12-41.297 0-17.533 43.18-32.502 104.07-38.493l-.74-9.895z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TemplarEye;

impl IconShape for TemplarEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M209.184 55.31C144.46 64.63 80.792 97.483 24.28 155.692c59.752 63.505 126.923 99.683 196.394 106.89-46.82-12.208-81.494-54.884-81.494-105.485 0-46.364 29.112-86.07 70.004-101.79zm77.953.028c40.853 15.737 69.93 55.423 69.93 101.76 0 49.845-33.645 92-79.405 104.92 67.035-8.242 134.898-43.203 199.162-106.325-57.2-56.64-122.697-90.757-189.687-100.355zm-39.014 11.445c-49.96 0-90.262 40.324-90.262 90.315 0 49.99 40.304 90.312 90.263 90.312 49.96 0 90.264-40.322 90.264-90.312 0-49.993-40.304-90.315-90.264-90.315zm.9 20.192c3.902 0 7.725.33 11.454.943-16.333 3.802-28.504 18.44-28.504 35.932 0 20.38 16.52 36.9 36.9 36.9s36.9-16.52 36.9-36.9c0-3.375-.462-6.64-1.31-9.746 9.29 11.92 14.838 26.898 14.838 43.183 0 38.832-31.464 70.313-70.277 70.313-38.812 0-70.275-31.48-70.275-70.313 0-38.83 31.463-70.312 70.275-70.312zM470.71 193.932c-73.638 63.713-151.264 93.704-226.487 93.056C169 286.34 95.726 255.083 30.668 194.176l-12.772 13.642c58.084 54.38 123.598 86.834 191.637 95.494 12.768 23.6 20.733 48.914 23.196 74.948-26.732-2.408-53.086-10.325-77.328-23.772v83.56c24.266-13.46 50.387-21.79 77.266-24.275-2.602 26.746-10.89 53.142-24.166 77.397l83.518-.004c-13.42-24.217-21.333-50.542-23.752-77.246 26.556 2.657 52.75 10.926 76.84 24.13v-83.562c-24.085 13.36-50.255 21.268-76.81 23.73 2.432-26.244 10.178-52.114 23.24-75.97 64.896-9.863 130.026-41.082 191.4-94.184l-12.227-14.132z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TemplarHeart;

impl IconShape for TemplarHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M332.893 24.46c-28.788.09-58.326 13.893-78.948 43.06-25.802-33.94-66.387-47.043-101.986-40.067-39.714 7.782-73.4 41.826-72.13 94.83 1.203 50.248 35.647 83.413 71.764 115.047 21.513 18.843 43.86 37.513 62.06 59.25 11.54 23.798 18.216 49.248 20.576 74.943-29.393-2.8-57.648-11.638-84.19-26.353v91.902c26.518-14.695 54.958-23.64 84.19-26.345-2.71 29.228-11.014 58.316-25.707 84.83h91.9c-14.574-26.624-23.46-55.476-26.347-84.83 29.233 2.708 58.317 11.65 84.83 26.345V345.17c-26.478 14.497-55.636 23.412-84.83 26.353 2.536-27.582 10.353-54.176 23.383-79.293 18.175-19.046 39.397-35.617 59.667-52.552 18.543-15.493 36.226-31.296 49.39-50.176 13.166-18.88 21.6-41.106 20.977-67.66-1.167-49.86-33.55-84.978-72.29-94.674-7.265-1.818-14.76-2.73-22.31-2.707zm-.018 18.55c1.894.016 3.783.113 5.666.273-23.313 7.815-40.118 29.82-40.118 55.764 0 32.483 26.333 58.816 58.816 58.816 22.212 0 41.544-12.317 51.55-30.49-.527 20.08-7.037 36.29-17.6 51.44-11.444 16.41-27.843 31.317-46.043 46.523-31.857 26.616-69.413 54.153-92.62 95.404-21.54-41.422-57.462-70.18-88.62-97.47-35.664-31.237-64.39-59.52-65.393-101.434-1.084-45.253 25.016-69.768 57.04-76.043 6.41-1.256 13.045-1.713 19.727-1.37-21.685 8.664-37.01 29.848-37.01 54.624 0 32.483 26.333 58.816 58.816 58.816 31.712 0 57.55-25.1 58.758-56.517l6.582-12.23C278.688 58.9 302.762 45 326.856 43.207c2.007-.148 4.015-.213 6.02-.196z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Temptation;

impl IconShape for Temptation {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M236.28 21.53c-185.644.495-313.788 255.03-99.936 404.845 12.265 23.964 49.66 34.098 104.344 41.656 39.702 5.587 44.827-11.274 37.312-34.31-14.935-45.782-52.38-68.562-120.22-57.095C-12.09 239.802 136.31 44.317 291.626 89.095 458.56 137.22 421.335 291.012 343.75 366.53c-70.898 69.013-37.743 124.546 22.094 129 73.38 12.87 137.08-59.02 113.28-115.967 6.166 53.188-90.466 121.6-126.687 82.5-24.154-45.743 72.12-75.863 101.938-163.97C500.43 162.016 442.752 55.69 274.125 24.938c-12.82-2.337-25.45-3.44-37.844-3.406zm22.157 114.44l-11.656 47.75c-4.155-2.81-8.567-4.918-12.905-5.782-4.027-.804-7.993-1.22-11.78-1.125v.03c-26.51.935-48.896 23.905-48.47 56.095.486 36.782 39.767 78.312 54.656 78.312 14.89 0 24.85-8.214 30.376-13.47 5.422 4.43 12.1 13 29.406 13 17.306 0 51.455-42.493 50.97-79.28-.487-36.787-26.89-60.97-58.938-53.97-4.586 1.008-9.617 3.024-14.063 6.064l10.564-43.188-18.156-4.437zM188.063 407c1.093.007 2.25.102 3.438.25 12.662 1.575 22.752 11.945 23.125 18.97.187 3.512-.98 5.694-3.938 7.78-2.956 2.086-8.012 3.538-14.343 2.75-12.663-1.575-22.752-11.973-23.125-19-.188-3.513 1.01-5.664 3.968-7.75 2.217-1.564 5.587-2.793 9.812-2.97.352-.013.698-.032 1.063-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TensionSnowflake;

impl IconShape for TensionSnowflake {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.605 23.408c-4.65 17.35-8.818 34.405-12.507 51.238-19.713 1.31-39.85 5.777-61.67 13.547 19.416 6.913 37.946 11.197 56.244 12.875-1.572 8.217-3.027 16.39-4.36 24.522-24.36 1.644-49.31 6.006-76.175 13.205 24.944 6.684 48.787 10.903 72.316 12.693-3.337 24.934-5.526 49.596-6.547 74.233-24.47 1.025-49.13 3.204-74.215 6.56-1.79-23.585-6.02-47.43-12.696-72.34-7.12 26.57-11.552 51.496-13.21 76.203-8.12 1.33-16.287 2.777-24.518 4.35-1.68-18.343-5.974-36.877-12.877-56.264-7.676 21.55-12.23 41.665-13.546 61.684-16.787 3.674-33.84 7.83-51.237 12.492 17.297 4.635 34.37 8.772 51.27 12.42 1.355 19.536 5.815 39.504 13.512 61.12 6.857-19.262 11.132-37.65 12.84-55.807 8.228 1.54 16.42 2.963 24.582 4.266 1.662 24.25 6.017 49.09 13.182 75.828 6.662-24.86 10.874-48.628 12.674-72.082 24.938 3.237 49.636 5.344 74.252 6.33 1.025 24.468 3.203 49.122 6.56 74.202-23.54 1.79-47.39 6.007-72.343 12.693 26.877 7.202 51.835 11.564 76.203 13.207 1.33 8.12 2.777 16.29 4.35 24.52-18.305 1.677-36.84 5.96-56.262 12.876 21.824 7.773 41.968 12.24 61.685 13.547 3.674 16.787 7.83 33.843 12.492 51.24 4.636-17.3 8.77-34.375 12.418-51.277 19.833-1.365 39.77-5.908 61.12-13.51-19.226-6.845-37.613-11.128-55.805-12.837 1.54-8.23 2.964-16.42 4.267-24.58 24.584-1.677 49.392-6.1 75.827-13.182-24.818-6.65-48.582-10.873-72.08-12.677 3.235-24.928 5.34-49.615 6.328-74.22 24.63-.987 49.318-3.094 74.224-6.327 1.8 23.453 6.013 47.218 12.674 72.078 7.165-26.737 11.52-51.577 13.182-75.824 8.163-1.304 16.356-2.728 24.582-4.27 1.706 18.156 5.982 36.545 12.84 55.805 7.696-21.614 12.156-41.58 13.51-61.117 16.91-3.65 33.982-7.787 51.27-12.42-17.35-4.65-34.403-8.816-51.235-12.506-1.318-20.015-5.873-40.126-13.545-61.673-6.902 19.38-11.195 37.91-12.875 56.247-8.217-1.573-16.39-3.027-24.522-4.362-1.658-24.698-6.09-49.615-13.207-76.176-6.672 24.9-10.902 48.74-12.695 72.316-24.923-3.336-49.575-5.526-74.2-6.547-.988-24.635-3.096-49.328-6.33-74.24 23.5-1.803 47.26-6.025 72.08-12.675-26.435-7.084-51.242-11.507-75.826-13.184-1.304-8.16-2.726-16.353-4.267-24.58 18.192-1.708 36.577-5.99 55.803-12.837-21.347-7.6-41.286-12.145-61.118-13.51-3.65-16.91-7.787-33.985-12.42-51.275zm-.32 137.797c7.71 28.78 12.16 56.08 13.272 83.246 27.225 1.11 54.41 5.9 83.728 13.755-28.937 7.754-56.41 12.19-83.728 13.274-1.094 27.177-5.524 54.564-13.272 83.487-7.92-29.562-12.383-56.816-13.512-83.488-27.115-1.11-54.638-5.543-83.488-13.275 29.558-7.918 56.82-12.372 83.488-13.512 1.124-27.15 5.678-54.252 13.512-83.488z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TentacleHeart;

impl IconShape for TentacleHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M358.834 61.088c-16.677.158-33.4 3.933-49 12.023-21.366 11.083-40.224 30.342-54.084 58.193-13.86-27.85-32.718-47.11-54.084-58.192-16.42-8.515-34.087-12.25-51.633-12.016-10.528.14-21.012 1.706-31.158 4.525-54.11 15.032-100.2 65.618-97.844 128.216C22.144 223.394 34.923 248.74 53.32 271c13.254 16.036 29.445 30.674 46.823 44.813 1.536 62.25 49.414 85.402 96.515 77.097 21.517 19.774 39.698 40.855 50.594 64.686l8.498 18.586 8.498-18.586c10.56-23.096 27.953-43.614 48.604-62.858 38.73.263 70.002-20.92 78.976-63.515 24.636-18.988 48.233-38.3 66.352-60.223 18.398-22.26 31.177-47.606 32.29-77.164 2.354-62.598-43.734-113.184-97.845-128.217-10.99-3.054-22.38-4.64-33.79-4.532zm-208.61 18.668c14.693-.212 29.29 2.917 42.84 9.945 21.678 11.245 41.143 32.584 53.885 68.306l8.8 24.674 8.8-24.674c9.17-25.704 21.82-43.96 36.272-56.367 42.38-32.464 75.468 1.13 81.944 20.153 17.593 51.696-40.657 77.01-90.434 44.572 9.057 34.565 64.323 57.726 109.563 22.453 25.06-19.542 32.273-60.32 18.162-84.765-1.93-3.342-3.97-6.47-6.106-9.39 34.043 19.405 59.444 55.933 57.843 98.47v.002c-.927 24.645-11.312 45.744-28.02 65.96-13.474 16.302-31.075 31.77-50.36 47.14-3.396-32.532-28.867-60.732-72.632-72.633 37.742 25.785 50.993 69.674 29.945 105.433-36.287 27.684-72.58 57.176-94.975 94.815-10.18-17.11-23.243-32.53-37.86-46.87 50.032-19.325 90.573-74.834 60.057-156.552-10.006 99.388-63.498 121.28-116.892 108.82-9.705-7.406-19.41-14.69-28.854-21.955-24.76-19.05-47.766-37.984-64.473-58.2-16.708-20.214-27.093-41.313-28.02-65.958v-.002c-.347-9.22.578-18.155 2.58-26.697C59.897 202.6 88.5 232.264 132.05 252.83c77.033 36.38 147.145-25.855 70.425-93.076 28.247 49.57-4.545 91.677-60.08 49.81-36.166-27.262-56.032-62.257-63.96-101.392 13.264-11.443 28.938-19.96 45.444-24.547 8.68-2.412 17.53-3.742 26.345-3.87z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TentacleStrike;

impl IconShape for TentacleStrike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M13.31 21.65v223.883c44.806 47.182 105.238 54.52 173.526 65.305-4.484-22.66-8.26-45.048-13.395-66.047C95.66 215.198 36.983 167.26 41.956 21.653H29.637l.002-.002H13.31zm48.004.002c-.87 28.147.438 60.87 6.055 84.123 60.46 15.992 92.433 50.085 110.003 90.62 18.113 41.79 22.444 89.817 32.848 134.57s26.214 85.67 65.755 115.918c32.98 25.23 83.547 43.427 163.11 48.273-71.23-32.09-114.32-67.862-139.99-105.904-30.973-45.903-35.99-94.26-36.73-139.97-.74-45.712 2.363-89.093-9.908-127.223C240.3 84.28 213.76 50.507 150.29 21.65H61.313zm10.54 104.756c13.443 44.624 44.905 62.1 85.302 70.71-15.182-31.505-38.977-56.41-85.302-70.71zm202.08 3.1c6.505 26.962 7.097 54.743 7.064 82.596 69.97 10.56 141.545 36.41 188.527 130.34-9.777-145.698-101.31-192.293-195.59-212.936zm8.51 150.13c1.51 18.56 4.51 36.906 10.474 54.967 65.22 21.79 133.59 62.777 199.88 152.42-41.53-135.21-125.783-179.167-210.355-207.386z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TentaclesSkull;

impl IconShape for TentaclesSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.672 18.535c-71.2 0-127.248 47.1-127.248 102.24 0 25.67 12.008 49.233 32.187 67.452l2.925 2.638 2.14 55.63 57.368-31.026 33.887 54.335 33.3-53.743 55.303 30.272 1.598-54.844 3.026-2.68c20.666-18.306 32.764-41.967 32.764-68.035 0-55.14-56.048-102.24-127.248-102.24zm-79.76 89.14c23.366-.295 58.385 18.522 58.385 18.522 0 21.772-17.648 39.422-39.422 39.422-21.774 0-39.424-17.65-39.424-39.423h.003c.416-13.678 9.048-18.38 20.46-18.523zm159.516 0c11.41.142 20.043 4.844 20.46 18.522 0 21.772-17.65 39.424-39.423 39.424-21.772 0-39.422-17.65-39.422-39.423 0 0 35.02-18.817 58.385-18.523zm-79.756 48.118l20.334 45.418h-40.67l20.336-45.417zm-39.192 84.47l-22.2 12.008c6.823 35.1 2.77 66.833-17.956 98.933-17.857 27.644-63.35 49.007-95.68 28.678-40.016-25.15-11.61-63.596 12.72-39.98-1.513-52.516-48.833-47.87-63.393-16.078-40.502 88.417 95.507 149.848 170.432 82.79.808 41.927 23.872 78.693 72.996 84.695 39.8 4.862 72.77-38.585 22.364-71.606 8.466 37.96-46.156 42.623-46.707-11.58-.213-20.954 10.71-39.112 26.29-52.454 7.443 13.896 16.868 27.638 28.616 41.078C376 479.168 526.48 416.23 484.147 323.822c-14.56-31.79-61.88-36.438-63.394 16.078 24.33-23.616 52.737 14.83 12.723 39.98-32.332 20.33-77.825-1.033-95.682-28.677-20.493-31.74-24.678-63.12-18.176-97.75l-22.828-12.496-39.808 64.248-40.502-64.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tentacurl;

impl IconShape for Tentacurl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M218.28 24.75c-2.17-.013-4.333.008-6.5.03-20.792.224-41.285 2.13-60.905 6.19-51.55 10.667-96.954 35.72-128.688 84.686v381.531h127.376c-38.755-38.575-54.373-84.178-55.188-126.562-.936-48.658 16.79-93.022 40.344-120.563 43.635-51.02 91.08-74.803 135.155-78.218 44.075-3.415 84.224 13.502 113.094 41.594 28.87 28.09 46.75 67.413 46.686 109.28-.05 32.946-11.65 67.287-36.97 98.344 30.567-11.346 52.987-30.856 68.69-55.5 20.618-32.36 29.403-73.84 27.437-116.25-4.687-101.07-74.37-194.062-173.063-213.843-31.705-6.356-64.89-10.53-97.47-10.72zm91.47 168.656c33.82 51.784 33.24 110.215 9.906 155.28-18.004 34.773-49.19 61.838-87.47 72.033-29.606 7.884-63.312 5.26-97.5-10.94 18.148 26.34 41.48 42.92 67.47 51.97 34.494 12.01 74.06 10.45 111.78-1.688 6.486-2.086 12.846-4.488 19.064-7.187l-.75.125 24.688-21.53c38.51-33.66 53.976-72.27 54.03-108.783.055-36.512-15.653-71.15-41.03-95.843-16.58-16.133-37.175-27.99-60.188-33.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Terror;

impl IconShape for Terror {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.594 20.906c-45.425.318-89.65 20.975-112.78 61.282-22.594 39.374-34.23 82.722-31.314 115.406 1.458 16.34 6.393 29.793 14.72 39.5 8.325 9.706 20.104 16.173 37.53 18.03l11 1.19-3 10.655c-2.337 8.272-3.75 16.256-3.75 24.905 0 27.038 4.292 79.342 18.5 123.563 7.104 22.11 16.715 42.157 28.78 56.093 12.068 13.938 25.855 21.845 43.814 21.845 17.96 0 31.777-7.907 43.844-21.844 12.066-13.935 21.677-33.982 28.78-56.092 14.21-44.22 18.5-96.525 18.5-123.563 0-8.65-1.41-16.635-3.75-24.906l-2.968-10.533 10.875-1.28c17.146-2.04 29.05-8.367 37.47-17.72 8.417-9.352 13.49-22.17 15-38 3.02-31.66-8.958-74.675-34.814-117.03-25.5-41.774-70.927-61.8-116.374-61.5h-.062zM173.406 145.47c24.447 0 44.063 19.58 44.063 44.03 0 24.446-19.617 44.063-44.064 44.063-24.446 0-44.03-19.617-44.03-44.063s19.584-44.03 44.03-44.03zm161.438 0c24.447 0 44.062 19.58 44.062 44.03 0 24.446-19.616 44.063-44.062 44.063-24.447 0-44.03-19.617-44.03-44.063-.002-24.446 19.583-44.03 44.03-44.03zm-162.47 35.093c-6.623 0-11.78 5.188-11.78 11.812s5.157 11.78 11.78 11.78c6.625 0 11.814-5.156 11.814-11.78 0-6.627-5.188-11.813-11.813-11.813zm164.22 0c-6.624 0-11.78 5.188-11.78 11.812-.002 6.624 5.156 11.78 11.78 11.78s11.812-5.156 11.812-11.78c0-6.627-5.187-11.813-11.812-11.813zm-81.406 51.906c38.762 0 68.875 36.01 68.875 78.593 0 19.938-2.457 56.192-11.532 88.687-4.536 16.247-10.655 31.58-19.686 43.563-9.03 11.98-21.96 20.812-37.656 20.812-15.696 0-28.626-8.83-37.657-20.813-9.03-11.98-15.15-27.315-19.686-43.562-9.075-32.495-11.563-68.75-11.563-88.688 0-42.584 30.145-78.593 68.907-78.593zm0 18.686c-17.93 0-34.16 11.453-43.063 29.063h86.094c-8.895-17.61-25.103-29.064-43.033-29.064zm-27.282 173.938c1.45 2.532 2.956 4.878 4.53 6.97 6.78 8.99 13.692 13.373 22.75 13.373 9.06 0 15.943-4.383 22.72-13.375 1.576-2.09 3.08-4.436 4.53-6.968h-54.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeslaCoil;

impl IconShape for TeslaCoil {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M157.78 18.72l-71.686.56-30 93.157 89.094 38.72-31 120.874 69.562-133.467-79.094-39L157.78 18.72zm197.532 0l76.47 131.093-86.094 21.437 80.062 184.875-36.813-162.906 83.25-18.876L412.97 19.28l-57.658-.56zm-99.937.5C223.01 19.22 197 45.26 197 77.624s26.01 58.406 58.375 58.406c32.365 0 58.406-26.04 58.406-58.405S287.74 19.22 255.376 19.22zM236.22 152.28v14.626h38.31V152.28c-6.13 1.58-12.54 2.44-19.155 2.44-6.614 0-13.025-.86-19.156-2.44zm-24.376 33.314c-17.463 0-22.313 8.166-22.344 14.625-.03 6.457 4.61 14.53 22.344 14.53h93.75c6.046 0 9.463-1.904 11.875-4.5 2.41-2.596 3.77-6.313 3.78-10.125.01-3.812-1.327-7.483-3.72-10.063-2.39-2.58-5.807-4.468-11.936-4.468h-93.75zm24.375 47.844v12.656h38.31v-12.656h-38.31zm-68.095 31.343c-6.13 0-9.515 1.89-11.906 4.47-2.393 2.58-3.73 6.25-3.72 10.063.01 3.81 1.37 7.528 3.78 10.125 2.413 2.596 5.798 4.5 11.845 4.5h167.78c17.734 0 22.376-8.073 22.345-14.532-.03-6.458-4.88-14.625-22.344-14.625h-167.78zm68.094 47.845v14.688h38.31v-14.688h-38.31zM131.53 346c-6.128 0-9.514 1.92-11.905 4.5-2.39 2.58-3.73 6.25-3.72 10.063.012 3.81 1.37 7.497 3.782 10.093s5.798 4.5 11.844 4.5H372.5c17.733 0 22.375-8.073 22.344-14.53-.032-6.46-4.882-14.626-22.344-14.626H131.53zm104.69 47.844v15.125h38.31v-15.126h-38.31zm-139 33.812c-6.13 0-9.516 1.92-11.907 4.5-2.392 2.58-3.73 6.25-3.72 10.063.01 3.81 1.37 7.496 3.782 10.092 2.412 2.597 5.797 4.5 11.844 4.5H406.81c17.733 0 22.376-8.072 22.344-14.53-.03-6.46-4.88-14.626-22.344-14.626H97.22zm139 47.844v18.53h38.31V475.5h-38.31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TeslaTurret;

impl IconShape for TeslaTurret {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.25 65.438c-16.888.292-31.98 8.265-43.625 20.53-13.8 14.54-22.688 35-22.688 55.97 0 23.592 10.85 46.488 27.75 60.968-16.63 20.026-23.824 40.488-23.406 58.938.462 20.306 10.22 37.75 24.845 48.5 14.624 10.75 34.166 14.9 53.656 9.594 18.535-5.046 36.713-18.573 51.032-41.563h102.313v-64.47l-156.313 22.19v42.28H131c-10.582 13.32-22.16 20.546-33.125 23.53-14.113 3.843-27.553.825-37.688-6.624-10.134-7.448-16.917-19.23-17.25-33.874-.312-13.763 5.157-30.422 20.657-48.312 9.81 4.438 20.733 6.306 32.218 4.687l4-.56 185.625-26.345v-39.47h37.532v34.126l18.686-2.655v-31.47h34.28L375.94 178l18.687-2.625v-23.97h27.938c4 15.145 17.786 26.314 34.187 26.314 19.532 0 35.375-15.844 35.375-35.376 0-19.532-15.843-35.344-35.375-35.344-16.19 0-29.804 10.872-34 25.72h-28.125v-20.47l-18.688-2.97v23.44h-34.28v-28.907l-18.688-2.97v31.876h-37.533V94.843l-12.218-1.938L95.81 66.062c-3.24-.494-6.435-.68-9.562-.624zm119.938 44.718l-5 21.813 62.218 11.843-82.437 27.562 5-21.813-62.22-11.812 82.438-27.594zM187.75 297.062v102.594h-40.188v26.47l-78.468 48H39.438v18.687h34.906l2.25-1.375 92.656-56.657h39.594l7.28 39.345h-15.343v18.688h54.626v-18.688h-20.28l-7.282-39.344h28.187l92.69 56.658 2.25 1.375h42.811v-18.688h-37.56L275.905 425v-25.344h-41.47l-.467-.28V297.062h-46.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TestTubes;

impl IconShape for TestTubes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.154 21.588l-97.39.047c.71 5.647 2.193 12.66 5.685 19.353 6.086 11.665 16.458 22.127 42.687 22.127 25.66 0 36.383-10.45 42.81-22.176 3.635-6.63 5.333-13.7 6.207-19.352zm144.838 0l-97.39.047c.71 5.647 2.193 12.66 5.685 19.353 6.087 11.665 16.458 22.127 42.688 22.127 25.66 0 36.383-10.45 42.81-22.176 3.635-6.63 5.333-13.698 6.207-19.352zm136.66 0l-97.39.047c.71 5.647 2.193 12.66 5.685 19.353 2.31 4.426 5.238 8.677 9.412 12.25.033.03.07.057.103.086.392.333.797.658 1.21.98.082.06.163.124.245.186.42.32.852.632 1.297.938l.12.084c.494.338 1.004.668 1.53.988.06.037.125.07.186.107.45.27.91.534 1.382.79.127.07.257.136.386.205.456.24.923.474 1.4.7.1.048.197.097.298.143.59.275 1.195.54 1.82.793l.096.04c.585.236 1.19.46 1.806.677.136.048.275.094.412.14.505.173 1.02.338 1.545.497.19.057.376.116.57.172.678.196 1.373.383 2.09.556.037.01.08.018.118.028.67.16 1.36.31 2.064.45.226.046.456.09.686.132.566.106 1.144.204 1.732.297.21.033.416.068.63.1.805.118 1.625.227 2.472.32.07.007.143.012.213.02.774.082 1.568.152 2.376.212.275.02.554.036.833.054.616.04 1.244.07 1.88.097.32.014.638.03.962.038.92.028 1.852.047 2.813.047.938 0 1.85-.02 2.748-.047.327-.01.648-.023.97-.037.633-.025 1.257-.058 1.87-.098.256-.017.514-.034.767-.053.87-.067 1.728-.143 2.56-.235.01-.002.018 0 .028-.002.833-.093 1.64-.204 2.434-.323.19-.028.38-.06.568-.09.624-.1 1.237-.207 1.838-.322.195-.037.39-.072.584-.11.742-.15 1.473-.31 2.18-.484.007 0 .014-.004.02-.005.724-.18 1.423-.37 2.11-.572.148-.043.292-.088.438-.133.56-.17 1.108-.348 1.645-.533.13-.045.264-.088.394-.135 1.315-.466 2.563-.977 3.745-1.53.083-.037.163-.077.244-.116.508-.24 1.004-.49 1.49-.747.095-.05.192-.1.287-.152 1.115-.602 2.17-1.242 3.166-1.917l.173-.12c.448-.308.884-.622 1.31-.943.06-.047.125-.093.187-.14 4.942-3.78 8.373-8.443 11.052-13.33 3.635-6.63 5.333-13.698 6.207-19.352zm-296.1 52.41c-5.537 2.877-11.877 5.112-19.058 6.44-.113 47.25-.436 120.64-.283 161.048.032 8.097-6.767 14.837-15.595 14.848-8.827.01-15.525-6.654-15.502-14.795v-.007c.09-40.075.358-113.676.303-161.138-7.104-1.327-13.368-3.528-18.826-6.358.027 104.356-.45 285.02-.598 357.54-.045 20.65 15.557 36.74 34.473 36.714 18.917-.03 34.696-16.216 34.625-36.817-.258-74.726.25-254.896.46-357.475zm144.837 0c-5.546 2.882-11.897 5.118-19.09 6.445-.132 36.89-.393 71.557-.25 109.024.03 8.096-6.77 14.837-15.6 14.847-8.826.01-15.524-6.656-15.5-14.796v-.004c.083-37.297.306-72.125.294-109.12-7.1-1.328-13.362-3.528-18.818-6.357.027 104.356-.45 285.02-.598 357.54-.045 20.65 15.56 36.74 34.475 36.714 18.916-.03 34.696-16.216 34.625-36.817-.258-74.726.25-254.896.46-357.475zm136.66 0c-5.534 2.876-11.872 5.11-19.048 6.438-.103 51.75-.45 165.517-.293 207.146.028 8.096-6.77 14.837-15.597 14.848-8.827.01-15.524-6.656-15.502-14.797v-.002c.094-41.295.387-154.942.308-207.234-7.106-1.326-13.373-3.528-18.832-6.36.027 104.357-.45 285.022-.598 357.542-.045 20.648 15.56 36.738 34.475 36.713 18.916-.03 34.696-16.216 34.625-36.817-.258-74.726.25-254.896.46-357.475zM17.68 98.2v51.755h43.177c.023-17.875.048-35.785.055-51.754H17.68zm149.507 0c-.036 16.48-.067 32.794-.11 51.755h38.616c.022-17.875.048-35.785.055-51.754h-38.56zm144.836 0c-.036 16.48-.067 32.794-.11 51.755h30.44c.023-17.875.048-35.785.055-51.754h-30.385zm136.66 0c-.036 16.48-.067 32.794-.11 51.755h43.833V98.2h-43.722zM17.68 443.44v51.755h474.726v-51.755H447.02c-5.244 24.68-26.506 43.5-52.032 43.54h-.002c-25.566.034-46.75-18.834-51.95-43.54H310.36c-5.244 24.68-26.506 43.5-52.032 43.54h-.002c-25.566.034-46.75-18.834-51.95-43.54h-40.85c-5.246 24.68-26.508 43.5-52.034 43.54h-.002c-25.566.034-46.75-18.834-51.95-43.54H17.68z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThermometerScale;

impl IconShape for ThermometerScale {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.875 19.594v57.03H369.72v-57.03H132.874zm29.03 75.72v266.405h18.69V95.31h-18.69zm160.095 0v266.405h18.688V95.31H322zm-56.75 17.75v18.686h35.813v-18.688H265.25zm-47.53 42.874v18.687h85v-18.688h-85zm47.53 40.687v18.688h35.813v-18.688H265.25zm0 42.156v18.69h35.813v-18.69H265.25zm-47.53 42.876v18.688h85v-18.688h-85zm47.53 40.688v18.687h35.813v-18.686H265.25zm-132.375 58.094v57H369.72v-57H132.874zm45.656 75.718v34.78l145.532.002v-34.782h-145.53z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThirdEye;

impl IconShape for ThirdEye {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.076 20.326c-44.403 0-85.074 25.412-115.224 68.104-22.122 31.322-38.243 71.822-45.268 117.295 11.268-3.406 22.4-5.216 33.176-5.47 13.302-.316 26.063 1.73 37.87 6.024h.64c.506.263.99.537 1.49.804 14.208 5.552 26.97 14.42 37.545 26.42 27.592 31.31 40.233 82.2 31.002 147.836 11.677 2.103 25.794 2 37.056-.014-9.227-65.628 3.416-116.514 31.006-147.822 26.953-30.586 68.11-40.84 111.224-27.63-7.012-45.533-23.145-86.087-45.29-117.444-30.152-42.692-70.825-68.104-115.228-68.104zm-2.478 78.69c1.268-.017 2.536-.018 3.804 0 40.59.548 80.635 18.362 114.31 50.902l6.983 6.748-7.01 6.72c-37.295 35.744-78.045 53.636-118.17 53.253-40.128-.384-78.892-19.074-112.103-53.515l-6.353-6.588 6.454-6.488c33.47-33.64 72.76-50.512 112.084-51.034zm1.732 19.545c-20.775 0-37.55 16.932-37.55 38.225 0 21.293 16.775 38.225 37.55 38.225s37.55-16.932 37.55-38.225c0-21.294-16.775-38.224-37.55-38.224zm47.816 8.37c5.332 8.7 8.42 18.933 8.42 29.855 0 11.535-3.442 22.304-9.337 31.307 16.365-6.818 32.772-17.236 48.954-31.46-15.21-13.253-31.398-23.184-48.038-29.702zm-95.92.457c-15.647 6.447-30.93 16.173-45.464 29.384 14.99 14.17 30.685 24.68 46.806 31.537-5.98-9.046-9.476-19.896-9.476-31.522 0-10.73 2.973-20.8 8.133-29.398zm48.186 12.808c9.22 0 16.695 7.583 16.695 16.936 0 9.354-7.475 16.934-16.695 16.934s-16.693-7.58-16.693-16.933c0-9.352 7.472-16.935 16.692-16.935zm138.736 79.553c-1.77 23.523-18.57 43.682-42.44 57.676-16.024 9.395-35.52 16.348-57.147 20.178-5.55 24.405-6.327 54.318-.484 89.334l1.344 8.052-7.8 2.412c-18.743 5.8-43.65 6.162-63.57 0l-7.8-2.412 1.344-8.052c5.83-34.932 5.07-64.782-.444-89.155-22.05-3.786-41.922-10.808-58.207-20.356-23.814-13.962-40.593-34.06-42.43-57.514-7.567 1.242-15.398 3.354-23.458 6.397-.91 10.044-1.383 20.29-1.383 30.693 0 66.152 19.03 125.88 49.18 168.57 4.094 5.798 8.39 11.265 12.855 16.405 6.487-5.172 14.775-9.26 24.592-12.69 20.326-7.1 47.276-11.228 77.026-11.228 29.75 0 56.7 4.127 77.028 11.228 10.163 3.55 18.706 7.796 25.29 13.23.063.054.124.11.188.163 4.687-5.343 9.19-11.044 13.47-17.108 30.15-42.69 49.18-102.418 49.18-168.57 0-10.56-.49-20.955-1.427-31.145l-.203.538c-8.503-3.228-16.75-5.42-24.704-6.645zM251.326 436.744c-27.984 0-53.328 4.058-70.863 10.184-7.556 2.64-13.624 5.7-17.725 8.61 25.946 24.332 56.627 38.136 89.338 38.136 32.43 0 62.867-13.568 88.672-37.512-4.087-3.096-10.458-6.405-18.557-9.234-17.533-6.126-42.88-10.184-70.864-10.184z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThorFist;

impl IconShape for ThorFist {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.87 18.84v49.25C38.19 111.9 58.49 155.7 78.81 199.5c29.69-1.2 59.49-2.3 89.19-3.4 14.5-15.4 30.1-29.5 48-44L101.1 74.97 86.91 18.84H17.88zm94.63 0c6.1 16.15 12.2 32.33 18.4 48.47 23.5 1.98 47.1 3.9 70.6 5.85l22.8 72.34c5-4 10.3-8.1 15.7-12.2-8.2-25.9-16.2-51.83-24.4-77.71-23.8-1.99-47.6-3.94-71.4-5.9l-11.7-30.85zM65.37 126.1l42.23 2L152 178l-61.47 2.3zm196.93 13.6c-48.9 36.6-79.3 62.9-109.2 103.6 3.8 12 9.1 24.2 15.6 36.3l100.4-88.5 12.4 14-103.1 90.8c7 11 15 21.7 23.8 31.8l107.2-88.6 11.9 14.4-106.4 87.8c8 8 16.5 15.5 25.4 22.2L344 287.9l11 15.1-98.4 71.7c10.2 6.4 20.8 11.7 31.7 15.9 41.1-16.8 77.9-50.1 105.8-82.6 6-7 8.3-14 7.5-20.3-.9-6.3-4.9-13.2-15.7-20.1l-5.2-3.3 1-6.1c2.5-15.2-1.2-22.1-6.5-26.8-5.2-4.6-13.7-6.8-21.1-6.8l-15-.1 6.7-13.5c4.4-8.9 3.5-18.5-1.9-25.8-5.4-7.3-15.6-12.9-32.5-11.4l-12.7 1 2.8-12.4c3.1-14.2-2.2-21-10.7-25.1-9.4-3.9-20.4-3-28.5 2.4zM132.5 240c-8.9 10.1-16.6 21.1-22.4 32.6 8.4 20.9 19.7 36 33 44.9 10.1 6.8 21.4 10.3 34.4 10.4-20.1-29.1-36.2-58-45-87.9zm262.7 94.8c-4.2 4.5-8.5 8.9-13 13.4l23.7 20.6-18 15.7-16.9-25.8c-12.3 11.1-25.6 21.5-39.8 30.6l14.2 32.1c-17.7 15.4-35.4 30.7-53.1 46.1 12.9 8.9 25.7 17.8 38.5 26.7h32.8l-40.9-28.4 30.6-26.5 11.7 26.6 20.1-3.3 11.7 31.6h20l-13-34.8 60.9-10.3-13.3 45.1h41.8v-91l-86.6 9.7-8.3-12.7c12.1-10.4 24.1-20.9 36.1-31.3-13.3-11.6-27.5-24.1-39.2-34.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThornHelix;

impl IconShape for ThornHelix {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M71.875 18.688c3.203 7.786 3.926 16.95 4.03 27.78.117 11.915-.877 25.668-2.468 40.126-2.693 24.49-6.377 49.535-.656 71.78-6.075 11.6-19.268 17.043-35.218 20.095 16.236 11.488 36.372 16.193 55.75 11.155 4.172 2.988 8.886 5.517 14.063 7.406 12.283 4.483 26.604 5.65 45.03 3.845.483-7.57 1.287-14.966 2.126-22.125-18.17 2.18-30.275 1.23-39.155-2-8.93-3.248-14.99-9.736-18.03-16.563-3.664-8.236-4.52-18.246-4.657-30.375-.14-12.128.8-26.15 2.406-40.75 1.655-15.05 3.667-30.256 3.53-44.812l-.53-3.563c.147-.022.29-.04.437-.062-.267-7.548-1.168-14.902-3.093-21.938H71.876zm54.344 38.406c-2.93.008-5.966.116-9.095.312-.462 7.62-1.278 15.044-2.125 22.25 7.17-.687 13.54-.854 19.125-.594 8.052.377 14.53 1.59 19.688 3.313 9.983 3.337 15.33 10.67 18.125 16.313.004.007-.004.023 0 .03 4.084 8.26 4.915 18.162 5.03 30.063.116 11.915-.91 25.67-2.5 40.126-3.174 28.863-7.678 58.49 3.407 83.406 1.387 3.118 3.24 6.112 5.438 8.97 2.654 17.69-5.822 30.658-19.22 40.062 21.26.607 38.842-6.724 54.032-19.25 10.6 2.244 22.79 2.488 37.594.875.07-.633.148-1.313.218-1.94l.062-.467c.755-6.864 1.368-13.512 1.78-19.782-19.424 2.535-32.108 1.636-41.342-1.717-8.934-3.245-15.024-9.73-18.063-16.563-3.663-8.236-4.487-18.278-4.625-30.406-.138-12.13.77-26.12 2.375-40.72.205-1.863.414-3.727.625-5.593 17.935-6.422 33.858-16.394 43.594-37.155-14.194 6.125-27.66 5.143-40.688-2.063-.13-13.513-2.115-26.493-8-38.374-5.732-11.577-16.797-21.134-31.875-26.157-9.67-3.22-20.668-4.97-33.56-4.936zM56.405 67.687C40.13 69.94 28.428 69.9 19.53 68.03v22.064c9.908 1.497 21.237 1.45 34.69-.125.212-1.813.43-3.636.624-5.407.64-5.812 1.162-11.468 1.562-16.876zm261.625 98.407c-9.924 12.336-24.8 18.83-41.155 18.344-4.872-3.597-10.56-6.574-17-8.72-9.672-3.22-20.67-4.972-33.563-4.937-3.625.01-7.406.17-11.343.47-.082.71-.174 1.453-.25 2.156-.765 6.95-1.358 13.738-1.75 20.156 8.056-.874 15.108-1.1 21.25-.812 8.05.376 14.53 1.59 19.686 3.313 9.998 3.34 15.334 10.668 18.125 16.312 4.098 8.263 4.917 18.18 5.033 30.094.115 11.913-.88 25.666-2.47 40.124-1.157 10.53-2.49 21.157-3.187 31.625-14.21 8.57-28.415 6.47-42.625 2.967 12.176 19.17 26.11 34.532 45.47 38.313.976 3.577 2.2 7.086 3.72 10.5 5.11 11.485 16.065 21.71 30.53 27 10.1 3.675 21.575 5.122 35.563 4.53 28.41 16.137 58.544 27.008 89.906 34.595-6.23-29.518-17.78-58.992-31.75-88.53-.816.236-1.642.453-2.47.655 1.122-12.293 1.614-24.397.094-35.938 13.016-15.182 22.528-30.87 24.812-51.343-12.36 11.8-26.07 15.875-41.47 14.217-5.83-5.63-13.32-10.213-22.248-13.187-9.673-3.222-20.67-4.982-33.563-4.938-2.927.01-5.965.115-9.094.313-.462 7.617-1.28 15.083-2.124 22.28 7.162-.686 13.51-.854 19.094-.592 8.052.376 14.563 1.59 19.72 3.312 9.995 3.34 15.3 10.668 18.092 16.313 4.096 8.263 4.948 18.18 5.063 30.093.09 9.358-.556 19.863-1.594 30.94-.005.017.007.043 0 .06-3.253 10.205-12.32 16.49-22.374 19.126-17.327 1.948-28.993.983-37.625-2.156-8.93-3.248-14.99-9.734-18.03-16.563h-.03c-3.664-8.236-4.488-18.278-4.626-30.406-.14-12.127.77-26.12 2.375-40.717 1.658-15.09 3.673-30.27 3.53-44.844l-.53-3.564c.157-.023.31-.04.467-.062-.178-4.943-.63-9.805-1.468-14.563 14.082-11.002 20.396-32.75 19.81-55.936zm132.345 143.594c-10.293 10.04-20.307 19.424-31.156 26.125 16.522 34.94 30.197 70.528 35.78 107.375l2.03 13.28-13.155-2.718c-36.956-7.69-72.802-19.764-106.625-38.594-5.232 9.03-13.202 17.718-23.844 28.094 55.5 27.003 116.156 41.43 180.156 47.78-2.68-62.727-20.228-122.558-43.187-181.342z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThornedArrow;

impl IconShape for ThornedArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.03 19.875v19L75.657 95.5l-48.47 28.125 86.658 12.47-46.938 27.25 88.063 12.686-47.69 27.69 89.5 12.905 3.407 3.406-48.468 28.095 88.124 12.688-47.75 27.718 89.47 12.876.06.063.032-.032 23.125 3.312-28.718 28.72c31.304 19.57 71.2 39.18 100.594 46.874-7.61-31.554-26.336-68.222-46.906-100.563l-15.614 15.208c-16.25-17.246-.464-.61-19.855-20.863l-14.843-103.22-27.718 47.75-12.69-88.124-30.436 52.5-13.97-96.936-27.718 47.75L154.22 45.72l-32.44 55.905-81.75-81.75zM390.47 185.47l-8.064 36.81c35.057 67.22 63.472 144.408 63.47 215.47v9.344h-9.345c-62.652 0-144.955-28.477-211.78-61.906l-43.5 9.53c89.616 51.746 220.718 102.597 311.813 102.594.005-102.37-48.425-218.022-102.594-311.843zm-14.44 65.905l-11.155 50.906c16.02 29.348 28.89 60.25 32.906 88.72l1.75 12.313-12.31-1.75c-25.628-3.615-57.698-16.82-87.658-32.75l-44.875 9.812c57.178 26.034 122.48 46.993 172.22 49.47-2.193-56.77-23.28-119.44-50.876-176.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThornyTentacle;

impl IconShape for ThornyTentacle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M27.93 24.984l93.373-5.423 36.01 79.905-65.557 192.5 34.856-25.44 58.512 92.284 109.087 2.458-13.782 40.5 116.88-95.562-32.297-90.13 42.807-15.588-101.81-26.556-24.407-43.978-32.727 129.108 34.536 3.5 11.863 34.4 10.72-45.844-30.216-5.416 36.8-22.733 19.185 59.858-40.365 41.63-95.76-31.723-28.355-132.644 170.14-144.574-20.01 59.737 111.622 41.438 60.064 97.9-35.12 275.226-20.288-62.49-135.668 63.09-268.112-60.94 51.547-21.294-60.254-213.92 28.28 29.354 39.812-104.33 18.432 27.776-3.158-68.39L65.494 62.8 16.89 98.314 27.932 24.98z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThornyVine;

impl IconShape for ThornyVine {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M170.03 19.97c-9.84-.048-20.1 1.433-30.468 4.718 35.302 10.096 48.28 38.273 28.313 50.874-19.99 4.045-38.712 10.416-55.438 19.5-29.128-24.24-76.94-16.207-98.374 27.126 25.322-15.383 53.47-5.423 51.062 13.406-4.616 6.22-8.8 12.928-12.47 20.156C29.29 201.79 22.633 246.438 32 283.188c9.368 36.75 34.264 66.22 77.313 83.375 31.047 12.37 67.714 6.876 92.437-10.47 17.063-11.97 28.697-28.66 29.97-49.843-5.095 7.016-11.27 12.66-18.25 16.656-15.738 9.01-34.5 10.306-51.94 5.97-17.438-4.338-33.843-14.324-45.186-29.063-11.344-14.74-17.314-34.496-13.406-56.47 7.892-44.383 43.592-73.596 83.25-80.343 39.657-6.747 84.25 9.094 109.312 52.5 18.92 32.77 19.77 66.857 8.156 97.406-11.614 30.55-35.028 57.797-64.187 80.25-48.663 37.47-125.09 46.22-216.532 19.72v81.5H357c7.82-5.284 14.934-10.99 21.406-17.063 51.168 12.833 106.224-25.224 118.188-93.594-27.192 29.037-59.208 30.884-70.125 11.78 1.63-5.822 3.052-11.756 4.25-17.78 5.384-27.102 6.4-56.04 4.53-85.033 48.266-16.233 70.995-76.93 42.03-138.656-5.8 43.27-40.027 61.433-60.06 41-7.794-19.842-18.865-37.928-32.408-53.81 17.286-40.49-7.463-92.795-64.687-116.22 23.025 31.505 16.59 61.334-6.594 62.906-21.08-9.474-43.803-15.414-67.124-17.156-10.18-29.884-40.52-50.61-76.375-50.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThreeBurningBalls;

impl IconShape for ThreeBurningBalls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M328.598 22.143c12.03 9.487 23.73 19.412 35.017 29.882-24.67-9.444-49.39-13.995-72.93-13.853-48.447.292-91.91 20.39-119.757 58.316-7.19-.762-14.395-1.162-21.594-1.172-45.042-.06-89.874 14.756-129.7 46.145v.003c5.198-2.437 10.294-4.65 15.294-6.656 93.608-11.524 107.275 67.72 88.455 160.04l-20.442-58.26c-1.04 48.303-8.33 96.605-27.98 144.907l.358-.164c-19.91 37.174-8.988 84.372 26.596 108.697 38.112 26.054 90.406 16.226 116.46-21.886 24.48-35.812 17.28-84.146-15.302-111.464 17.057-119.542-47.078-227.97-135.04-227.88-8.1.01-16.4.945-24.856 2.868 43.498-15.75 79.39-14.96 109.195-1.547-.018.048-.038.095-.058.143.03-.044.062-.084.092-.127 53.26 23.99 87.08 88.283 110.102 170.562-9.013 15.1-14.764 32.445-16.188 51.135-4.922 64.618 43.654 121.206 108.272 126.13 64.617 4.922 121.206-43.657 126.13-108.274 4.864-63.87-42.54-119.89-106.04-125.93-47.412-83.042-119.016-134.224-193.168-145.883 50.066-40.72 105.886-16.305 161.578 35.395-1.378 14.625 1.054 29.786 7.855 43.953 19.98 41.62 70.182 59.256 111.8 39.276 41.62-19.98 59.256-70.182 39.276-111.8-8.748-18.226-23.297-31.843-40.38-39.725l.083-.368c-43.945-22.468-88.205-38.804-133.125-42.46zM152.312 130.26l-.003.006.002-.006zm273.465-54.457c2.192-.026 4.375.065 6.543.26l-58.593 64.212 45.957 31.938-32.51 20.687c-7.997-6.06-14.726-14.063-19.383-23.765-15.608-32.516-2-71.262 30.517-86.87 8.128-3.904 16.65-5.98 25.097-6.39.792-.04 1.583-.063 2.373-.072zm27.02 5.547c13.686 6.042 25.37 16.826 32.38 31.43 3.326 6.928 5.312 14.138 6.085 21.347l-54.55-35.154 16.085-17.623zm-28.86 31.623l66.043 42.56c-4.273 18.62-16.683 35.172-35.32 44.12-15.78 7.575-33.02 8.25-48.38 3.24l47.138-29.997-51.502-35.79 22.022-24.133zM363.408 261.9c2.523 0 5.063.097 7.62.29 28.96 2.208 54.006 16.596 70.51 37.773l-14.23 57.63-68.436 11.2 22.85-57.125-53.69-43.23c10.28-3.946 21.35-6.22 32.863-6.506.836-.02 1.675-.032 2.515-.032zm-53.637 15.83l49.466 39.83-22.94 57.346-53.782 42.608c-12.663-18.067-19.373-40.483-17.56-64.264 2.442-32.068 19.823-59.336 44.816-75.52zm145.267 45.522c5.65 13.8 8.26 29.1 7.047 45.016-1.883 24.72-12.643 46.59-28.924 62.728l-17.517-52.555 26.853-4.393 12.54-50.795zm-305.443 32.44c12.53.078 25.184 3.782 36.35 11.415 1.51 1.033 2.95 2.13 4.345 3.262l-51.12 22.94-24.58-27.654c10.532-6.622 22.707-10.04 35.004-9.965zm-49.227 22.093l33.944 38.188 33.526-15.043 7.478 31.062-76.294 30.37c-18.11-21.8-20.393-53.635-3.567-78.25 1.53-2.235 3.173-4.343 4.914-6.327zm296.596 3.713l20.68 62.04c-17.592 11.508-38.992 17.51-61.633 15.786-24.032-1.83-45.366-12.054-61.364-27.58l53.3-42.224 49.017-8.022zm-193.436 3.416c14.212 21.417 14.865 50.093-.578 72.684-19.81 28.98-58.568 36.93-88.077 18.568l82.402-32.8-12.09-50.22 18.342-8.232z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThreeKeys;

impl IconShape for ThreeKeys {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M82.875 19.125c-33.954 0-62.5 31.494-62.5 71.844 0 40.348 28.545 71.84 62.5 71.843 28.553 0 53.19-22.276 60.406-53.5l1.657-7.25h133.594v61.313h22.564V134.5h24.78v28.875h47.845v-16.5h-23.064V117.97h23.063V102.06h30.967v-26.28H144.125l-1.906-6.813c-8.274-29.326-31.934-49.845-59.345-49.845zm0 24.063c22.423 0 40.594 21.41 40.594 47.812 0 26.403-18.174 47.78-40.595 47.78-22.42 0-40.594-21.377-40.594-47.78 0-26.403 18.172-47.813 40.595-47.813zm44.25 138.53c-33.954 0-62.5 31.495-62.5 71.845 0 40.35 28.545 71.84 62.5 71.843 28.553 0 53.16-22.276 60.375-53.5l1.688-7.25H322.78v36.814h26.69v24.5h23.967V278.31h24.782v47.657h19.75v-61.314h30.936v-26.28h-260.53l-1.907-6.814c-8.274-29.324-31.934-49.843-59.345-49.843zm-23.03 49.47c.366-.02.752 0 1.124 0 11.905 0 21.53 9.625 21.53 21.53 0 11.907-9.625 21.563-21.53 21.563-11.907 0-21.564-9.655-21.564-21.56 0-11.535 9.047-20.955 20.438-21.532zM182 352.063l-51.844 28.593v81.125l51.47 27.47 56.468-55.375 2.72-2.688H374.28V448.75h40.533v24.78H374.28v19h119.126v-38h-34.812v-24.78h34.812v-24.844H241.062l-2.656-2.375L182 352.064zm-19.22 53.312c8.26 0 14.97 6.68 14.97 14.938 0 8.257-6.71 14.968-14.97 14.968-8.256 0-14.936-6.71-14.936-14.967 0-8.258 6.68-14.938 14.937-14.938z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThreeLeaves;

impl IconShape for ThreeLeaves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M161.563 19.28c10.093 10.734 16.743 23.678 20.562 37.657 6.202 22.707 5.806 48.148 3.72 74.094-4.176 51.894-14.58 106.512-2.44 140.407 11.396 31.814 29.668 50.71 49.94 60 8.72 3.998 17.9 6.21 27.186 6.782 22.195-65.084 17.46-148.144-19.06-204.283 48.352 48.234 71.19 121.068 56.436 197.407l-8.78 3.53c2.723-.808 5.42-1.763 8.093-2.843 41.783-16.87 75.975-66.253 61.75-138.655-6.536-33.265-28.966-80.165-66.5-116.5-32.472-31.432-75.827-55.212-130.908-57.594zM445.53 202.813c-.84 12.1-4.638 23.528-10.56 33.907-10.353 18.14-26.448 33.757-43.876 48.593-34.856 29.67-75.057 57.156-88.313 85.218-12.555 26.583-12.884 49.252-6.186 67.283 2.92 7.86 7.21 14.894 12.625 20.968 53.708-26.787 101.73-80.91 113.81-138.03.076 59.646-30.63 118.687-86.624 156.906 35.802 14.545 86.282 5.034 121.72-47.75 16.418-24.456 31.558-67.3 30.812-112.875-.634-38.688-12.264-79.23-43.407-114.217zm-424.874 73.47c-9.483 45.878.708 86.832 19.5 120.656 22.136 39.84 56.682 69.376 83.125 82.343 57.07 27.988 105.514 10.968 129.25-19.53-67.59-5.1-123.692-40.873-153.436-92.563 39.02 43.428 107.658 66.29 167.562 62.625 1.654-7.963 1.87-16.204.47-24.468-3.214-18.965-14.87-38.447-39.032-55.188-25.505-17.67-74.045-21.36-119.063-29.625-22.508-4.13-44.247-9.59-62.28-20.124-10.323-6.03-19.314-14.06-26.094-24.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThrownCharcoal;

impl IconShape for ThrownCharcoal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176.938 16.313c-48.69.004-101.062 8.413-156.282 23.187 90.522-18.285 226.376.697 338.188 105.594-73.79-50.613-149.953-75.118-222.75-77 51.32 13.564 102.688 37.988 151.22 74.625C195.68 93.44 104.173 80.47 21.78 95.655c48.09 10.59 97.853 31.526 146.94 65.063-34.338-12.246-68.58-19.27-102.44-23.5 69.168 25.33 135.483 72.104 189.75 141.718C189.955 216.394 117.413 180.8 44.94 167.53c61.548 32.83 101.606 74.716 136.156 135.22-27.142-23.432-55.872-42.913-85.125-59.094 21.83 20.756 42.673 45.098 62 72.906-16.595-14.324-37.69-24.69-64.095-30.968 35.598 30.838 49.234 68.717 71.75 107.72 120.902 209.406 401.145 54.24 299.156-178.47C401.815 71.17 301.368 16.3 176.94 16.314zM389.844 136.47l-7.938 52.686-40.656-23.844 48.594-28.843zM253.5 168.655l73.063 17L275.5 232.72l-36.03-20.032 14.03-44.032zm163.125 42.03L456.47 303l-67.814-4.063-3.72-.218-2.842 2.374-53.97 45.25-19.093-25.47 3.5-85.155 104.095-25.032zm-136 54.345l7.594 48.5-.658.5-28.343-9.155 21.405-39.844zm-79.813 24.408l45.157 39.218-45.69 11.938.532-51.156zm203.313 29.156l53.53 3.22-23 68.248-30.53-71.468zm-18.625 4l35.78 83.75-42.686 7.53 9.03 34.032-77.593 22.53-69.56-35.53-14-82.094 70.31-17.125 21.126 28.157-6.062 65.906 18.625 1.72 6.25-67.94 48.78-40.936z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThrownDaggers;

impl IconShape for ThrownDaggers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M167 18.813c-20.39-.002-36.813 16.92-36.813 37.312 0 20.39 16.423 36.813 36.813 36.813 12.06 0 22.896-5.747 29.75-14.657l73.094 19.595L305.5 145.75l186.844-.094-161.75-93.5-53.906 23.25L204.344 56c-.07-20.335-16.996-37.19-37.344-37.188zm0 18.656c10.29 0 18.656 8.365 18.656 18.655 0 10.288-8.366 18.156-18.656 18.156s-18.125-7.867-18.125-18.155c0-10.29 7.835-18.658 18.125-18.656zM64.062 69.874c-3.547.035-7.133.54-10.718 1.5C30.4 77.523 16.79 101.088 22.937 124.03c4.89 18.253 20.803 30.59 38.657 31.782l22.78 84.907-27.56 63.874 109.03 188.625.125-217.876-54.876-40.844-22.97-85.72c15.04-9.912 22.795-28.642 17.876-47-5.187-19.357-22.783-32.096-41.938-31.905zm.25 19.22c10.707-.108 20.57 6.99 23.47 17.81 3.435 12.825-4.177 26.003-17 29.44-12.825 3.435-26.002-4.177-29.438-17-3.436-12.825 4.144-26.003 16.968-29.44 2.004-.536 4.018-.79 6-.81zm112.438 44.28c-12.127.323-24.084 5.554-32.625 15.47-16.078 18.662-13.976 46.827 4.688 62.905 14.85 12.794 35.712 14.094 51.718 4.688l69.032 59.5 13.688 70.843 203.594 98.033L359.75 257.969 288.844 255l-69.656-60.063c7.095-17.28 2.774-37.888-12.157-50.75-8.747-7.536-19.58-11.097-30.28-10.812zm.72 19.813c5.98-.16 12.015 1.818 16.905 6.03 10.432 8.988 11.612 24.756 2.625 35.188-8.987 10.432-24.724 11.58-35.156 2.594-10.432-8.987-11.612-24.724-2.625-35.156 4.773-5.542 11.47-8.476 18.25-8.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThrownKnife;

impl IconShape for ThrownKnife {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M92.563 18.563c-18.602-.002-37.226 7.096-51.47 21.343-28.49 28.498-28.496 74.41 0 102.906 6.024 6.024 29.352 22.373 58.907 41.094 20.86 13.213 45.242 28.09 70.25 43.094-4.39 11.828-6.418 24.323-6.094 36.78 51.78 37.817 94.45 64.762 127.28 81.22 18.323 11.016 47.167 25.522 70.877 37.03-6.13 1.612-13.094 1.737-20.47.75-13.575-1.814-29.605-7.277-48.75-16.186-32.603-15.173-74.185-40.565-124.687-76.625 4.546 14.903 12.712 28.93 24.5 40.717 38.375 38.377 295.72 156.75 295.72 156.75S370.25 230.09 331.875 191.72c-11.802-11.804-25.857-19.96-40.782-24.5 36.08 50.51 61.51 92.075 76.687 124.686 8.91 19.144 14.374 35.175 16.19 48.75.985 7.375.86 14.338-.75 20.47-11.478-23.642-25.965-52.39-36.97-70.72-16.452-32.853-43.418-75.59-81.28-127.437-.823-.023-1.647-.033-2.47-.032-.824 0-1.647.01-2.47.03-10.82.26-21.596 2.307-31.874 6.126-14.995-25.017-29.85-49.422-43.062-70.28-18.72-29.557-35.072-52.885-41.094-58.908-14.243-14.24-32.836-21.342-51.438-21.343zm-6.282 23.75c23.424 0 42.22 18.764 42.22 42.187 0 23.426-18.796 42.22-42.22 42.22-23.42 0-42.218-18.794-42.218-42.22s18.796-42.188 42.22-42.188zm69.282 75.093c20.263 0 36.532 16.27 36.532 36.53 0 20.266-16.27 36.533-36.53 36.533-20.264 0-36.533-16.268-36.533-36.532 0-20.265 16.27-36.532 36.532-36.532zm55.313 62.72c16.094 0 29 12.905 29 29s-12.906 29-29 29-29-12.905-29-29c0-16.097 12.906-29 29-29zm43.72 53.218c10.916 0 19.624 8.708 19.624 19.625s-8.71 19.624-19.626 19.624c-10.917 0-19.625-8.707-19.625-19.625 0-10.92 8.706-19.626 19.624-19.626z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThrownSpear;

impl IconShape for ThrownSpear {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M248.25 16.688C124.165 17.31-57.308 93.192 51.22 374.563 12.847 60.82 305.093 126.845 394.47 336.469l-76.564-281-2.562-9.47 9.437-2.656 17.94-5.063c-14.344-12.722-50.85-21.812-94.47-21.593zm112.688 37.03l-21.344 6.032L422 362.25l-29.625 4.813 94.063 127.718 7.53-144.186-22.156 3.594-110.875-300.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThunderBlade;

impl IconShape for ThunderBlade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.844 16.514v54.064l76.18 58.4 141.902-7.525 8.45 30.682-60.562 5.877 37.727 19.617-41.247 32.694 31.352-.88c-24.938 26.547-49.458 53.393-74.567 78.935-15.745-23.004-28.3-47.16-35.853-71.05l-4.64-14.67-73.14 73.15 80.737 80.73c-25.172 32.576-54.14 58.558-84.51 83l-3.486 2.808v4.474c0 14.94 4.783 27.6 13.722 36.057 8.94 8.457 21.28 12.248 34.582 12.247h4.7l2.802-3.773c23.665-31.872 49.886-60.988 82.572-84.426l83.473 83.47 73.14-73.142-14.67-4.637c-25.647-8.106-50.247-21.622-73.74-38.29 29.318-28.954 59.594-57.008 88.91-85.312l8.352 48.865 86.038 9.654 42.137 148.15h45.53v-58.333l-51.237-117.03-99.217-1.42-13.776-47.277C401.037 201.05 464.198 127.47 489.44 33.267l3.15-11.76h-13.41l-1.188.317C405.265 41.31 346.29 80.952 293.182 128.38l.353-33.556L260.61 138.9l-11.1-42.062-124.79-10.03-42.85-70.294H17.843zm448.638 28.228c-25.662 78.606-80.402 143.39-143.707 206.694l-12.17-57.89-29.593 21.755-10.73-39.038c57.485-56.983 118.99-106.68 196.2-131.52zm-211.38 146.803l15.087 54.904 28.097-20.655 8.674 41.264c-34.216 33.456-70.35 66.784-105.384 101.817l-7.597 7.598 8.577 6.468c23.2 17.497 47.904 32.252 74.082 42.422l-38.603 38.604-81.322-81.322-6.39 4.323c-36.53 24.72-65.005 55.87-90.137 89.17-7.597-.68-13.423-3.04-17.434-6.835-4.11-3.888-6.865-9.7-7.574-18.362 31.536-25.61 62.357-53.572 88.947-89.65l4.768-6.47-79.02-79.016 38.594-38.6c9.494 24.59 23.172 48.765 39.827 71.45l6.44 8.777 7.7-7.698c38.51-38.51 74.93-79.613 112.665-118.19z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThunderSkull;

impl IconShape for ThunderSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M23.094 20.125L84.156 77.78 44.28 105.563 127 176.594c3.655-16.908 11.556-32.517 22.688-46.125l-41.375-33.345 26.593-27.813L23.094 20.126zm473.094 2.938L438.53 84.156 410.75 44.25l-50.438 58.72c14.366 9.26 26.63 20.68 36 33.75l22.875-28.407L447 134.905l49.188-111.844zM268.344 95.97c-70.046 1.018-124.938 47.628-124.938 102.155 0 25.662 12.01 49.232 32.188 67.438l2.937 2.625.126 3.937 2.375 61.5c4.54 2.58 14.774 7.882 29.75 12.625v-40.72h18.69v45.626c10.157 2.127 21.678 3.707 34.405 4.188v-42.156h18.688v42.03c13.336-.665 25.14-2.53 35.312-4.937v-44.75h18.688v39.25c11.83-4.243 19.824-8.66 23.656-10.967l1.78-60.938.125-4.03 3-2.69c20.67-18.317 32.78-41.973 32.78-67.936 0-55.138-56.05-102.25-127.25-102.25h-2.31zm-77.344 89c23.367-.295 58.375 18.53 58.375 18.53 0 21.772-17.665 39.438-39.438 39.438-21.79 0-39.406-17.666-39.406-39.438.418-13.68 9.058-18.388 20.47-18.53zm159.375 0c11.412.142 20.052 4.85 20.47 18.53 0 21.772-17.635 39.438-39.408 39.438-21.772 0-39.437-17.666-39.437-39.438 0 0 35.008-18.825 58.375-18.53zm-79.75 48.25l20.344 45.405h-40.69l20.345-45.406zm108.813 82.31l-.688 23.94-.125 4.717-3.906 2.688s-11.47 7.87-31.814 15.156l24.406 20.94-34.218 35.75 160.125 77.717-94.814-88.593 51.28-35.75-70.248-56.563zM97.594 333.126l-77.72 160.063 88.595-94.782 35.75 51.28 67.56-83.873c-28.16-7.978-44.936-18.782-44.936-18.782l-4.094-2.624-.188-4.844-.218-6.03-29 33.75-35.75-34.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ThunderStruck;

impl IconShape for ThunderStruck {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.22 21.75v65.5l92 70.625-60.126 58.094 235.656 157.5-83.844-5.845 93.25 76.53-77.562 5.47 113.5 40.656-4.625-69.03h-21.783c0-37.79-.747-91.963 32.5-100-5.097-7.648-8.187-17.65-8.187-28.625 0-23.993 14.784-43.47 33-43.47s32.97 19.475 32.97 43.47c0 11.247-3.24 21.472-8.564 29.188 30.514 8.638 32.875 61.79 32.875 99.437h-22.967l-5.25 69.813 91.906-59.594-49.064 4.374 57.594-105.53-60.156 16.905 57.5-92.814-68.53 28.813 54.217-102.345-72.655 43.063 18.53-123.407-51.717 115.94-71.125-144.032 23 165.062-66.25-52.5 42.468 85.75-120.436-76.97 73.594-54.655L123.188 21.75H20.218z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Thunderball;

impl IconShape for Thunderball {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M22.03 16.844l147 158.125 37.75-14.626 6.75 17.437-110.25 42.72 209.564 230.53.187.25c18.074 22.833 46.023 37.5 77.314 37.5 54.318 0 98.562-44.243 98.562-98.56 0-43.636-28.55-80.77-67.937-93.69l-132.095-73.56-56.75 23.968-7.28-17.22 43.31-18.28-.186-.094 102.624-43.28L22.03 16.843zm368.314 293.5c44.218 0 79.875 35.656 79.875 79.875 0 7.866-1.146 15.45-3.25 22.624L446.155 409l4.688-39.656-22.78 54.22 32.467 4.873c-5.74 10.555-13.776 19.644-23.467 26.625l-51-24.75 37.312-44.78-79.594-40.626 53.064 47.25-43.97 36.47 42.72 41.312c-1.736.11-3.486.156-5.25.156-44.22 0-79.875-35.657-79.875-79.875 0-1.48.045-2.95.124-4.408l30.562 11.47-6.5 25.562 27.75-34.938-49.437-17.72c6.807-26.514 26.865-47.622 52.717-55.967l24.5 35.217 51.438-5.218-41.75-8.72-17.688-24.75c2.68-.27 5.404-.406 8.157-.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tick;

impl IconShape for Tick {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M262.814 30.928c-45.906 0-87.66 14.34-118.3 38.04-14.03 10.848-25.742 23.76-34.33 38.14C62.524 121.06 34.67 152.56 27.18 195.53l-.903.484v5.6l.315 11.575 13.433-3.335c18.986-10.147 35.96-20.838 55.51-28.12.67 4.975 1.594 10.117 2.754 15.382C61.73 222.19 45.91 257.53 50 298l2.213 14.736 17.488-7.617c16.886-15.993 31.755-31.746 52.01-43.66 2.002 4.01 4.103 8.004 6.293 11.974-35.37 36.242-42.357 78.908-23.906 121.18l27.66-14.92c7.346-11.84 15.943-31.266 36.64-49.378-.025-.87-.043-1.742-.043-2.62 0-7.837 1.042-15.437 2.998-22.682-4.66-5.79-9.128-11.88-13.36-18.202-27.896-41.66-45.08-92.657-45.08-123.38 0-30.724 16.028-58.796 43.032-79.682 27.005-20.886 64.872-34.135 106.867-34.135 6.58 0 13.058.326 19.41.955-11.582 5.078-21.29 13.262-27.677 24.325-18.658 32.317-1.922 76.91 37.383 99.603 39.304 22.693 86.29 14.89 104.95-17.428 5.5-9.527 7.9-20.122 7.577-30.908 5.368 11.72 8.254 24.255 8.254 37.27 0 30.723-17.18 81.72-45.075 123.38-4.22 6.3-8.67 12.37-13.313 18.14 1.967 7.265 3.016 14.885 3.016 22.745 0 1.27-.034 2.53-.088 3.785 22.408 20.605 32.73 43.688 39.72 53.995l21.3 16.617c18.45-42.273 14.66-92.274-20.65-128.653 2.193-3.97 4.292-7.967 6.296-11.98 20.255 11.914 35.125 27.666 52.012 43.66l19.885 14.423-.186-21.543c4.093-40.47-11.73-75.813-48.287-100.885 1.16-5.264 2.085-10.406 2.754-15.38 19.55 7.282 36.524 17.973 55.51 28.12l14.058 3.874-1.215-18.2c-7.49-42.968-35.343-74.47-83.002-88.423-8.588-14.38-20.302-27.29-34.33-38.14-30.64-23.698-72.395-38.04-118.3-38.04zm-163.45 99.984c-3.26 10.148-5.043 20.778-5.124 31.74-16.51 5.534-30.982 13.13-44.828 20.764 7.684-23.967 23.493-41.285 49.95-52.504zm326.902 0c26.46 11.22 42.267 28.538 49.95 52.506-13.846-7.635-28.317-15.23-44.827-20.764-.082-10.962-1.865-21.593-5.124-31.742zm-4.112 85.608c23.598 17.643 34.558 38.642 35.37 64.376-13.365-12.764-27.59-25.714-45.827-36.185 4.08-9.494 7.58-18.95 10.457-28.19zm-318.68 0c2.878 9.242 6.38 18.698 10.458 28.193-18.237 10.47-32.46 23.418-45.825 36.182.813-25.734 11.77-46.73 35.368-64.374zm159.374 39.31c-42.21 0-75.803 32.31-75.803 71.867 0 39.558 33.594 71.867 75.803 71.867 42.21 0 75.802-32.31 75.802-71.867s-33.593-71.867-75.802-71.867zM138 290.334c1.46 2.31 2.946 4.605 4.467 6.877 4.38 6.542 9.026 12.92 13.91 19.056-18.564 16.267-30.434 34.722-41.264 52.636-7.033-27.92-.324-53.167 22.887-78.568zm249.63 0c23.21 25.4 29.92 50.65 22.886 78.568-10.83-17.914-22.7-36.37-41.264-52.636 4.884-6.136 9.53-12.514 13.91-19.055 1.52-2.27 3.006-4.567 4.467-6.876zm-177.466 21.684c5.127.1 10.9 3.764 14.52 9.746 4.828 7.976 4.003 17.05-1.844 20.27-5.847 3.22-14.5-.634-19.328-8.61-4.828-7.976-4.003-17.054 1.843-20.274 1.462-.805 3.1-1.166 4.81-1.132zm105.3 0c1.71-.034 3.348.327 4.81 1.132 5.846 3.22 6.67 12.298 1.843 20.274-4.828 7.976-13.483 11.83-19.33 8.61-5.847-3.22-6.672-12.294-1.844-20.27 3.62-5.982 9.395-9.646 14.522-9.746zm-85.048 42.54c5.127.082 10.9 3.143 14.522 8.14 4.828 6.665 4.003 14.25-1.844 16.94-5.847 2.69-14.502-.533-19.33-7.197-4.828-6.662-4.002-14.246 1.845-16.936 1.46-.673 3.097-.975 4.806-.947zm64.795 0c1.71-.03 3.348.273 4.81.946 5.846 2.69 6.67 10.274 1.843 16.937-4.828 6.665-13.48 9.887-19.328 7.197-5.847-2.69-6.674-10.274-1.846-16.938 3.62-5 9.394-8.06 14.52-8.143zm-121.804 2.374c-12.4 13.703-19.69 30.394-19.69 48.433 0 30.078 20.512 56.227 50.913 71.264-1.72-5.363-3.306-11.134-3.306-17.028 0-19.838 10.488-37.37 26.45-47.836-25.386-9.772-45.44-29.816-54.368-54.834zm178.864.05c-9.04 25.286-29.448 45.486-55.237 55.122 15.68 10.503 25.953 27.87 25.953 47.498 0 6.14-1.45 12.104-3.306 17.66 31.118-14.92 52.234-41.395 52.234-71.897 0-18.017-7.27-34.69-19.644-48.383z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TiedScroll;

impl IconShape for TiedScroll {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M373.563 18.406c-15.616-.167-27.91 4.622-32.563 14.75-22.778 49.605-48.743 87.14-79.094 117.28 3.047 1.015 6.046 2.29 8.938 3.783 12.987 6.708 25.268 17.78 35.312 30.843 10.044 13.062 17.85 28.114 20.78 43.5.746 3.908 1.16 7.885 1.158 11.843 38.97-24.36 85.058-41.223 140.875-51.312 14.91-2.697 23.652-28.632 21.405-58.656l-35.156-1 30.56-24.813c-4.148-14.507-11.013-28.754-21.155-40.72-15.528-18.314-36.43-31.376-56.72-38.686L381.94 40.812l2.812-21.5c-3.875-.55-7.61-.87-11.188-.907zM246.938 166.562c-1.063.052-2.06.226-3 .47-11.976 10.254-24.61 19.597-37.938 28.28.842.33 1.67.667 2.5 1.032 14.123 6.192 27.438 17.145 38.47 30.625 13.356 16.322 23.62 36.94 25.624 57.75 10.334-10.367 21.24-19.943 32.844-28.72 4.096-6.555 4.93-14.468 3.125-23.938-2.184-11.46-8.642-24.43-17.25-35.625-8.61-11.194-19.38-20.622-29.063-25.625-6.052-3.126-11.154-4.45-15.313-4.25zm-61.907 43.282c-1.385.053-2.69.27-3.968.562-37 20.762-79.088 37.985-127.312 56 .574.042 1.14.093 1.72.156 10.627 1.156 21.076 5.008 31.155 10.875L124.313 261 108.5 293.72c5.995 5.432 11.803 11.477 17.344 18 20.76 24.434 37.964 55.865 47.094 88.092.002.01-.003.022 0 .032 2.98 10.508 5.11 20.916 6.312 31 20.99-48.438 44.38-89.26 72.344-123 7.3-21.48-2.186-48.408-19.063-69.03-9.44-11.538-20.976-20.718-31.53-25.345-5.936-2.604-11.27-3.808-15.97-3.626zm141.626 54.844c-7.31 5.05-14.462 10.51-21.437 16.312 39.16 9.26 60.953 35.722 80.655 62.156 10.464 14.04 20.598 28.11 33.125 40.688 24.19 9.147 43.17 6.38 63.906-14.938-92.165-27.78-96.11-92.61-156.25-104.22zM48.594 284.906c-10.873.225-18.26 5.755-23.344 16.594-5.81 12.387-7.114 32.47.438 57.063 5.75 18.73 16.52 37.718 28.75 51.625 12.23 13.906 25.9 22.076 35.374 22.406h.032c3.717.13 6.553-.682 8.812-2.75l-.187-.188 2.093-2.094c.793-1.168 1.52-2.548 2.187-4.187 2.81-6.9 3.28-18.552-1.844-33-6.885-19.417-19.12-31.932-33.375-34.78l-22.968-4.564 19.813-12.5 38.47-24.186c-16.65-16.822-34.55-27.607-49.376-29.22-1.7-.184-3.323-.25-4.876-.218zm236.25 5.406l-24.53 25.375c100.442 17.878 55.45 141.005 159.31 176.188l-24.78-57.28c32.766 16.15 67.39 22.623 97.72 12.03-135.77-41.948-96.32-126.983-207.72-156.313zm-169.47 38.22l-25.968 16.343c13.18 8.5 23.21 22.565 29.125 39.25 2.57 7.244 4.133 14.205 4.75 20.78l23.44-23.374c-8.08-19.19-19.035-37.566-31.345-53zm38.376 72.374l-42.063 42-.156-.156c-4.255 3.942-9.456 6.765-15.186 7.938 23.268 14.873 44.644 19.346 56.812 9.562 4.26-3.426 7.043-8.36 8.47-14.406-.41-12.684-2.602-26.615-6.657-40.906-.382-1.346-.806-2.686-1.22-4.032z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TimeBomb;

impl IconShape for TimeBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M104.53 28.72c-.676 0-1.356.012-2.03.03-16.186.435-31.577 6.108-44.375 15.25-34.13 24.378-50.547 75.233-18.563 118.72 25.234 34.303 14.237 79.597-11.874 104.905l13.03 13.406c32.24-31.247 45.253-86.76 13.907-129.374C28.415 116.022 42.253 78.324 69 59.22c13.374-9.554 29.767-14.01 46.28-10.75 15.853 3.126 32.335 13.31 46.907 35l-59.875 34.655 24.344 42.28c-49.898 63.943-58.988 154.445-16 229.126 56.487 98.133 181.517 131.802 279.281 75.19 97.765-56.614 131.237-182.057 74.75-280.19-42.912-74.55-125.41-111.868-205.437-100.686l-24.438-42.438-56.437 32.657c-16.916-25.592-38.054-39.714-59.47-43.938-4.813-.95-9.63-1.405-14.374-1.406zm170.126 81.124c79.9 0 144.813 64.347 144.813 144.25 0 79.9-64.913 144.844-144.814 144.844-79.9 0-144.25-64.945-144.25-144.844 0-79.9 64.35-144.25 144.25-144.25zm-9.094 25.187v88.19c-13.248 4.192-23.156 16.79-23.156 31.218 0 17.726 14.962 32.125 32.688 32.125 16.82 0 30.63-12.968 32-29.438l76.53-54.875-10.905-15.188-70.283 50.407c-4.103-6.774-10.542-11.993-18.187-14.345V135.03h-18.688zm-42.187 11.314l-16.188 9.344 14.344 24.843 16.19-9.374-14.345-24.812zm103.063 0l-14.344 24.812 16.187 9.375 14.345-24.843-16.188-9.343zm-150.125 40.22l-9.344 16.186 24.81 14.344 9.345-16.188-24.813-14.344zm98.78 53.874c7.628 0 13.438 6.375 13.438 14 0 7.626-5.81 13.437-13.436 13.437-7.627 0-14-5.81-14-13.438 0-7.626 6.372-14 14-14zm-119.437 4.5v18.687h28.656v-18.688h-28.656zm209.813 0v18.687h28.686v-18.688H365.47zM191.78 291.5l-24.81 14.313L176.312 322l24.812-14.344-9.344-16.156zm166.25 0l-9.342 16.156L373.5 322l9.344-16.188L358.03 291.5zm-136.5 36.563l-14.343 24.812 16.188 9.344 14.344-24.814-16.19-9.344zm106.75 0l-16.186 9.343 14.344 24.813 16.187-9.345-14.344-24.813zm-62.717 16.812v28.656h18.687v-28.655h-18.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TimeTrap;

impl IconShape for TimeTrap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.656 22.75c-131.173 0-237.72 33.326-237.72 74.344.002 22.39 32.41 42.59 82.564 56.22-17.407-8.91-27.53-19.216-27.53-30.47 0-32.128 81.75-58.53 182.686-58.53 100.937 0 183.25 26.4 183.25 58.53 0 11.194-10.3 21.59-27.53 30.47 49.843-13.627 81.968-33.91 81.968-56.22 0-41.018-106.514-74.344-237.688-74.344zM147.47 103.094v30.094h216.28v-30.094H147.47zm4.374 48.78V361.94h18.687V151.875h-18.686zm39.125 0c.698 61.812 25.325 96.435 52.81 103.814-27.847 7.475-52.776 42.9-52.843 106.25h128.188c-.066-63.353-24.952-98.766-52.78-106.25 27.468-7.386 52.05-41.998 52.75-103.813H190.968zm147.936 0V361.94h18.688V151.875h-18.688zM100.5 360.72c-50.153 13.626-82.563 33.827-82.563 56.217 0 41.018 106.546 74.344 237.72 74.344 131.173 0 237.687-33.325 237.687-74.342 0-22.31-32.125-42.593-81.97-56.22 17.232 8.88 27.532 19.244 27.532 30.438 0 32.13-82.313 58.563-183.25 58.563S72.97 423.283 72.97 391.155c0-11.254 10.123-21.528 27.53-30.437zm46.97 19.905v30.063h216.28v-30.063H147.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tinker;

impl IconShape for Tinker {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M409.28 19.313c-20.507.34-40.836 8.245-56.53 23.937-20.558 20.558-27.823 49.56-22.188 76.156l1.032 4.938-3.594 3.594-43.406 43.406c3.86 2.906 7.167 6.498 9.72 10.625 7.166 11.59 6.305 28.69-6.22 41.218l-11.97 11.968 30.438 30.47 79.563-79.563 3.563-3.594 4.968 1.06c26.44 5.525 55.136-1.98 75.75-22.593 23.596-23.595 29.518-57.696 18.688-87.093l-49.22 49.25c-13.71 13.708-36.3 15.01-50.093 1.22-13.79-13.793-13.07-36.618.814-50.5l49.22-49.25c-8.545-3.15-17.475-4.93-26.44-5.22-1.367-.045-2.726-.054-4.093-.032zM72.157 21.53c-13.533.162-25.857 6.134-34.937 15.69-18.163 19.108-23.575 51.08 4.56 79.218l86.126 86.124c30.25 2.733 53.004 26.662 53.906 57.532L182 266c.883 5.654 4.31 10.126 8.844 12.47 5.734 2.963 12.387 3.145 19.625-4.095l64.405-64.406c7.718-7.72 6.896-12.716 3.53-18.157-3.364-5.442-11.272-10.063-18.81-10.063h-.19l-.186-.03c-30.125-1.298-53.427-23.487-56.5-53l-86.595-86.595C100.84 26.84 85.69 21.37 72.155 21.53zm191.188 227.314l-14.03 14.03 136.5 136.532 3.31 3.313-.655 4.655-4.595 31.813 77.188 49.375L489 460.625l-49.375-77.22-31.78 4.595-4.658.688-3.312-3.313-136.53-136.53zm-27.72 26.812l-11.936 11.938c-12.238 12.24-29.134 13.86-41.438 7.5-4.515-2.334-8.513-5.66-11.656-9.72l-41.78 41.782-3.595 3.594-4.97-1.063c-26.596-5.632-55.6 1.632-76.156 22.188-23.598 23.596-29.52 57.697-18.688 87.094l49.25-49.25c13.883-13.877 36.71-14.605 50.5-.814 13.792 13.792 12.494 36.384-1.22 50.094l-49.25 49.25c29.398 10.83 63.498 4.906 87.095-18.688 20.613-20.615 28.114-49.342 22.595-75.78l-1.03-4.938 3.56-3.563 79.19-79.186-30.47-30.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ToadTeeth;

impl IconShape for ToadTeeth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.625 50.125l-16.063 31.97c-26.47-6.543-52.935-15.91-79.406-27.97 4.048 15.106 9.757 28.843 16.813 41.22-13.293-1.35-25.644.808-36.314 6.968-30.07 17.358-39.36 61.958-28.906 115.03-7.755 11.533-14.913 23.72-21.406 36.47 127.87 296.268 344.194 298.2 460.344 0-6.35-12.492-13.35-24.43-20.907-35.75 10.682-53.392 1.427-98.313-28.78-115.75-8.185-4.725-17.332-7.1-27.156-7.344 6.868-12.262 12.456-25.87 16.47-40.845-28.423 13.94-56.83 24.012-85.252 30.438l-16.937-34.438-66.625 42.03-65.875-42.03zm-90 65.28c3.398 0 6.66.525 9.72 1.5-6.847 2.012-11.845 8.348-11.845 15.845 0 9.115 7.385 16.5 16.5 16.5 7.474 0 13.782-4.967 15.813-11.78.943 3.012 1.437 6.222 1.437 9.56 0 17.57-14.056 31.595-31.625 31.595-17.57 0-31.594-14.024-31.594-31.594 0-17.567 14.03-31.624 31.595-31.624zm312.28 0c3.4 0 6.66.525 9.72 1.5-6.843 2.013-11.844 8.35-11.844 15.845 0 9.115 7.386 16.5 16.5 16.5 7.475 0 13.783-4.967 15.814-11.78.943 3.012 1.437 6.222 1.437 9.56 0 17.57-14.054 31.595-31.624 31.595s-31.594-14.024-31.594-31.594c0-17.567 14.028-31.624 31.594-31.624zM253.19 179.5c5.915.007 11.83.18 17.75.47l9.656 47.718 14.812-45.72c12.51 1.443 24.982 3.507 37.28 6.22l-9.623 46.062 34.656-39.594c13.964 4.148 27.646 9.154 40.936 15l-21.812 32.875 43.656-22.31c17.728 9.406 34.555 20.44 50.125 33.093-5.817 12.747-11.89 24.787-18.22 36.125L409 282.217l32.28 25.97c-6.193 9.888-12.583 19.157-19.155 27.812l-39.656-22.25 24.686 40.625c-7.226 8.194-14.66 15.678-22.22 22.5L348.565 343l16.03 50.344c-11.668 8.392-23.624 15.267-35.78 20.625l-16.313-42-7.25 50.436c-11.364 3.15-22.84 5.006-34.375 5.625l-11.438-42.374-10.718 42.03c-12.57-1.073-25.133-3.658-37.626-7.686l-6.906-48.03-15.25 39.31c-12.093-5.644-24.063-12.686-35.813-21.124l15-47.156-34.28 31.906c-7.864-6.824-15.596-14.318-23.19-22.437l23.532-38.72-38.53 21.625c-6.953-8.455-13.74-17.5-20.376-27.094l32.376-26.06-44.625 7.405c-7.107-11.416-13.996-23.51-20.624-36.313 14.295-12.626 29.98-23.62 46.688-33l43.437 22.22-21.968-33.126c13.475-6.172 27.486-11.398 41.876-15.656l-1.032.625 34.906 39.875-9.75-46.656c12.255-2.66 24.703-4.656 37.282-6l14.937 46.094 9.69-47.907c4.9-.19 9.8-.285 14.718-.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tombstone;

impl IconShape for Tombstone {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.75 18.906c-77.635.03-154.875 54.01-154.875 167.5v209.72c25.67 19.717 46.68 41.386 52.156 69.124-3.507-44.464-4.166-88.692 14.595-133.156 5.265 38.52 8.087 77.137 26.875 115.656 25.316-53.302 59.948-75.555 102.188-72.438-29.706 25.94-56.26 55.26-74.75 95.22 31.477-30.2 66.886-38.728 103.968-40.907-21.57 15.247-41.576 30.414-54.156 50.22h78.344c6.443-27.99-4.756-54.648-17.78-82.908 27.59 18.168 51.09 40.4 61.905 77.657 3.525-39-3.843-73.686-15.19-106.875 13.34 6.44 23.875 15.568 31.595 27.374V186.406c0-113.616-77.24-167.528-154.875-167.5zM150.156 144.594h114.938v18.687H150.156v-18.686zm152.438 0h56.125v18.687h-56.126v-18.686zm-152.438 42.75h36.5v18.687h-36.5v-18.686zm72.25 0H358.72v18.687H222.405v-18.686zm-72.28 40.312h95.81v18.688h-95.81v-18.688zm126.31 0h82.283v18.688h-82.283v-18.688zm-177.56 189.53v62.658h23.686c-4.638-21.58-13.086-42.375-23.687-62.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tooth;

impl IconShape for Tooth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.752 23.084c-11.678-.205-23.032 4.26-30.952 15.185-29.264 40.35-39.476 78.655-44.385 111.545-4.514 30.235-13.507 59.72-30.952 87.02-31.793 49.747-65.857 124.744-73.587 167.612-5.864 32.387 17.908 42.053 32.705 7.008 20.245-47.94 65.492-125.768 122.06-103.955 51.25 19.76 8.924 122.165-22.193 152.43-25.11 24.424-7.202 51.466 23.944 22.192 33.048-31.062 78.602-92.256 94.612-147.172 6.233-21.378 15.79-43.776 34.458-54.315 39.813-22.477 81.826-58.99 98.115-133.156 10.9-49.632-50.517-70.425-85.266-37.378-5.303-50.398-46.487-62.34-76.51-35.624 10.073-27.63-16.357-50.942-42.048-51.394z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TopHat;

impl IconShape for TopHat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.594 58.188c-1.933-.01-3.824-.006-5.688.03-22.398.437-39.932 4.19-51.812 9.688-15.84 7.33-20.987 15.728-19.78 25.625 1.434 11.79 13.465 23.993 37.405 33.532 23.94 9.54 58.333 15.71 98.78 16.813 39.643 1.082 78.206-.902 103.563-7.625 12.678-3.362 21.815-8.05 26.062-12.5 4.247-4.45 5.273-7.606 2.47-15.22-2.138-5.8-9.053-12.543-20.626-18.56-11.575-6.02-27.22-11.233-44.564-15.47-34.675-8.47-76.14-13.155-107.5-15.563h-.03c-6.378-.482-12.485-.72-18.282-.75zm-72.313 72.718c5.676 41.283 10.312 83.897 5.94 129.03.064 6.285 2.516 11.206 7.81 16.345 5.873 5.7 15.5 10.996 27.72 15.158 24.44 8.323 58.864 12.14 92.938 11.75 34.073-.39 67.996-4.942 91.406-12.22 11.704-3.638 20.75-8.09 25.47-12.03 2.653-2.217 3.885-3.58 4.31-4.813-6.956-41.256-4.108-83.612 2.407-126.22-5.526 2.566-11.706 4.63-18.405 6.407-28.88 7.658-68.327 9.357-108.875 8.25-42.035-1.147-78.177-7.392-105.188-18.156-9.615-3.83-18.264-8.317-25.53-13.5zM117.657 266.78c-10.383 3.2-20.108 6.752-29.062 10.658-42.218 18.415-66.15 43.515-67.938 68.812-1.084 15.323 3.8 28.18 14.344 40.125 10.543 11.944 27.054 22.592 48.406 31.094 42.706 17.003 104.308 25.326 172.97 23.03 67.127-2.244 127.832-10.5 170.718-25.28 21.443-7.392 38.36-16.458 49.375-26.5 11.014-10.045 16.25-20.462 16.25-32.94 0-12.476-5.55-24.876-16.845-37.155-11.296-12.28-28.275-24.05-49.688-34.156-6.29-2.97-12.96-5.805-19.968-8.47 2.088 11.05 4.905 21.955 8.655 32.688 4.382 12.54.81 25.65-7.438 35.03-8.248 9.383-20.406 16.283-35.03 21.938-29.25 11.31-68.99 17.358-108.97 18.22-39.978.86-79.94-3.45-109.718-14.376-14.89-5.463-27.414-12.538-35.907-22.563-8.494-10.024-12.13-23.69-8.407-37.593 3.867-14.44 6.522-28.603 8.25-42.563zm15.22 23.69c-1.485 7.823-3.268 15.727-5.407 23.717-2.33 8.702-.7 14.412 4.593 20.657 5.29 6.245 15.052 12.34 28.093 17.125 26.083 9.57 64.56 14.043 102.875 13.217 38.315-.825 76.716-6.937 102.658-16.968 12.97-5.017 22.683-11.086 27.718-16.814 5.036-5.728 6.182-9.87 3.844-16.562-2.223-6.363-4.15-12.76-5.813-19.188-7.61 5.452-17.37 9.6-28.812 13.156-26.114 8.118-61.16 12.657-96.72 13.063-35.557.406-71.418-3.262-99.186-12.72-13.456-4.58-25.092-10.516-33.845-18.686z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TopPaw;

impl IconShape for TopPaw {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.693 20.982v168.63c47.284 70.756 12.15 122.507 42.633 199.302.905 2.28 1.973 4.387 3.178 6.338 1.044-2.798 2.333-5.434 3.877-7.865 7.127-11.222 18.734-17.934 30.868-20.057 3.033-.53 6.12-.785 9.21-.75 9.27.104 18.56 2.805 26.454 8.414 3.745 2.66 7.097 6.017 9.918 9.96 1.362-4.63 1.842-9.743 1.178-15.31-3.44-28.83-12.01-46.885-18.106-68.915-8.08-29.223 9.544-34.714 22.422-11.568 13.213 23.744 28.915 61.117 55.836 103.256 4.75 7.436 11.243 11.896 18.602 13.967-4.62-21.072 3.372-40.816 18.17-51.707 6.938-5.107 15.317-8.215 24.246-8.948.93-.076 1.865-.126 2.806-.15 9.494-.245 19.49 2.19 28.957 7.72.328-6.672-1.21-13.41-5.178-19.866-25.69-41.814-52.278-61.296-71.25-81.764-23.602-25.463 8.272-34.155 24.53-20.44 22.78 19.216 39.543 47.34 75.337 75.922 7.955 6.353 16.932 8.802 26.058 8.366-9.076-20.095-4.538-42.08 8.107-56.727 10.096-11.693 25.555-19.03 42.176-18.583 4.39.118 8.86.78 13.333 2.045-1.195-8.403-5.125-16.255-12.584-22.703-38.462-33.25-76.602-44.38-99.284-63.075-30.98-25.533-19.543-37.388 11.097-29.784 12.636 3.137 32.526 13.325 51.514 16.472 5.185.86 10.06.516 14.574-.756-16.76-13.554-22.584-32.944-16.925-49.424 5.15-14.995 19.025-26.595 37.815-30.197-3.163-2.882-7.02-5.2-11.637-6.762-73.56-24.868-158.803-4.367-227.38-35.04H17.694zM407.316 80.31c-5.064.18-9.503 1.06-13.312 2.47l34.062 19.525-40.328 1.68 23.948 13.968-29.07 5.21c2.69 2.975 6.277 5.836 10.884 8.48l.113-.118c6.65 2.436 13.867 3.44 20.666 2.668l75.72.28c-16.91-19.202-36.964-34.384-61.658-47.252-6.42-3.345-13.636-5.677-20.947-6.622-.024-.098-.054-.192-.08-.29zm-6.242 178.56l20.07 29.253-37.9-7.432 22.83 28.83-44.437-8.803c.85 3.574 2.375 7.208 4.646 10.84 7.71 10.59 19.092 19.02 31.31 22.818 31.807 10.036 62.528 25.513 93.16 41.436-14.386-36.086-36.232-93.072-81.235-114.373.01-.033.016-.066.025-.1-2.882-1.203-5.712-2.017-8.47-2.468zM286.13 367.84l3.202 32.576-24.398-18.084 9.334 34.482-33.278-26.935c-.652 5.13-.044 10.86 2.227 17.073.077-.014.155-.023.232-.037 4.293 10.994 12.263 20.955 22.02 27.107l71.954 58.118-26.756-88.435c-1.993-11.377-8.207-22.51-16.78-30.64-2.6-2.133-5.194-3.864-7.757-5.223zm-164.35 21.525l-2.542 22.867-17.758-16.105-5.78 28.08-14.055-24.052c-1.953 4.123-2.988 9.222-2.374 15.637 4.8 27.664 26.61 54.21 53.94 78.715v-77.405c.508-4.21.35-8.58-.392-12.886-1.88-6.55-5.404-10.918-9.728-13.99-.426-.302-.865-.588-1.31-.863z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tornado;

impl IconShape for Tornado {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M265.143 16.73c-65.944 0-118.326 5.893-155.188 18.143-18.43 6.125-33.1 13.83-43.54 23.926-10.438 10.095-16.352 23.132-15.88 37.165l.006.172.013.17c2.75 39.093 15.275 72.883 33.394 103.4-30.092 26.304-22.554 56.57 55.328 71.47 6.504 6.985 13.16 13.85 19.877 20.653-44.976 17.343-44.457 38.22 40.79 40.582 10.873 10.84 21.557 21.703 31.767 32.744-34.54 3.67-70.755 11.923-106.7 26.227 33.16-5.943 79.682-8.487 124.244-6.436 27.66 32.73 49.995 67.74 60.193 108.84h19.207c-9.205-40.806-29.034-75.516-53.713-107.105 46.038 4.14 86.467 13.755 102.77 30.302-6.223 24.423-16.816 49.782-33.946 76.803h21.873c4.307-7.368 8.162-14.648 11.615-21.848 48.44-8.298 70.147-23.06 72.033-39.1 7.677-22.363-10.594-56.65-45.38-82.97-.028-8.232-.335-16.386-.842-24.474 62.557-8.128 63.666-38.01-5.163-51.105-3.74-30.33-7.695-60.182-7.425-90.93 91.998-21.19 74.89-59.455 13.513-83.942 1.79-5.373 3.767-10.793 5.998-16.28l.268-.66.164-.69c2.94-12.31-.722-24.506-8.666-33.145-7.944-8.64-19.33-14.517-32.955-19.07-27.25-9.103-64.2-12.71-103.623-12.843h-.031zm-.034 18.69c38.27.13 74.034 3.952 97.765 11.88 11.866 3.965 20.536 9.007 25.12 13.993 4.512 4.905 5.846 9.015 4.29 15.844-2.168 5.394-4.123 10.735-5.892 16.03-54.098-17.105-131.934-23.978-202.008-5.622 65.494.283 172.564 13.5 190.418 54.82-3.317 23.44-3.54 46-2.283 67.955-45.155-33.14-134.644-21.05-199.475 1.23 41.805-1.966 94.256 1.828 136.084 12.9-25.3 2.72-53.93 10.074-81.84 21.894 64.456-6.42 133.745 2.883 151.286 23.982l.123.996c-20.61-2.533-45.806-3.76-75.735-3.047-49.278 1.178-92.846 8.102-124.002 17.002-18.856-18.886-36.954-37.853-52.848-57.763 8.89-54.23 137.75-65.292 210.666-63.426-88.136-26.143-187.425-6.064-237.17 24.312-2.61-44.05 89.057-68.318 170.267-60.23-72.526-23.095-149-33.873-182.982-16.15 31.36-37.388 106.277-55.177 179.17-54.934-32.778-8.548-61.407-13.926-92-16.656 26.092-3.278 56.598-5.01 91.044-5.01zm51.73 249.873c25.132-.12 48.713 2.566 64.607 8.908 1.65 14.464 3.032 28.817 3.63 43.218-13.863-7.993-29.508-14.637-46.557-19.094 13.17 10.786 25.794 22.58 37.226 34.598-41.07-17.11-89.233-22.64-116.377-18.67 30.09 4.298 66.47 18.864 92.41 36.248-28.314-5.917-61.158-8.87-96.344-7.174-16.924-19.096-35.188-37.224-53.383-55.166 19.422-13.37 69.6-22.65 114.787-22.867z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TornadoDiscs;

impl IconShape for TornadoDiscs {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M370.203 25.574c-51.962-.07-134.69 39.665-212.467 106.908-105.35 91.08-162.303 197.81-127.316 238.28 18.474 21.37 58.867 19.968 108.39.476-5.416 19.54-4.192 35.717 4.91 46.244 16.727 19.35 56.123 14.81 103.09-7.556-4.062 14.072-3.303 25.733 3.198 33.252 12.79 14.793 44.6 9.873 81.523-9.772-3.955 10.502-4.084 19.25.517 24.57 9.158 10.593 34.315 4.552 61.724-13.066-3.608 6.83-4.456 12.655-1.686 15.86 5.57 6.443 23.665-.123 40.443-14.627 16.777-14.505 25.892-31.46 20.32-37.903-2.694-3.117-8.353-3.187-15.36-.81 22.21-25.036 32.348-49.734 23.025-60.518-4.444-5.14-12.68-6.387-23.117-4.307 25.718-34.37 35.86-66.023 22.863-81.056-4.827-5.583-12.086-8.512-21.61-8.763l-.002.002c-3.783-.1-7.884.213-12.244.896 26.956-41.706 36.07-78.49 19.84-97.26-8.66-10.017-23.86-14.06-42.633-12.264h-.005c-1.556.15-3.148.35-4.757.574 24.82-44.517 31.488-82.575 13.52-103.36-8.747-10.115-22.45-15.314-39.714-15.77-.81-.02-1.626-.03-2.45-.032zm-3.017 47.79c12.217-.03 21.736 3.206 27.664 10.062 10.874 12.578 7.59 35.378-6.362 63.21-40.125 8.965-93.027 38.37-143.734 82.208-49.904 43.143-86.16 90.686-101.318 128.795-28.996 9.584-51.49 9.75-62.206-2.648-25.29-29.25 24.273-114.272 110.963-189.22 66.373-57.383 135.082-92.315 174.993-92.41zm43.197 108.407c9.635-.037 17.15 2.515 21.844 7.945 10.515 12.163 4.622 36.545-13.237 65.44-27.833 6.597-64.24 26.655-98.9 56.618-34.575 29.89-59.638 62.81-70.215 89.278-31.05 13.373-55.99 15.67-66.44 3.583-20.032-23.168 20.108-90.146 88.77-149.508 52.57-45.45 106.7-73.227 138.178-73.354zm26.625 97.623c6.084.2 10.85 1.986 13.902 5.517 8.93 10.33.774 33.067-18.707 58.95-16.546 4.677-37.42 16.553-57.36 33.792-18.927 16.364-33.19 34.254-40.593 49.453-26.45 13.488-48.37 17.056-56.793 7.315-13.955-16.14 14.07-62.597 61.906-103.955 37.373-32.31 75.916-51.793 97.645-51.072zm9.22 78.34c3.72.125 6.636 1.214 8.5 3.37 6.783 7.846-2.435 27.462-21.222 47.876-6.588 2.883-14.007 7.602-21.178 13.8-6.634 5.737-12.03 11.86-15.82 17.577-21.725 14.166-41.042 19.656-47.522 12.163-8.516-9.85 8.352-38.398 37.54-63.633 22.802-19.715 46.405-31.595 59.7-31.153zm-.138 55.626c1.76.058 3.14.572 4.02 1.59 4.03 4.66-3.86 18.084-17.665 30.02-13.805 11.937-28.32 17.88-32.347 13.22-4.028-4.66 3.95-18.162 17.756-30.096 10.785-9.324 21.947-14.944 28.236-14.735z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TotemHead;

impl IconShape for TotemHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M252.906 20.72c-53.86 0-91.116 11.68-115.906 29.343-24.79 17.66-37.662 41.373-42.47 67.843l-3.186 17.53c21.168-10.36 42.33-18.993 63.5-19.405 22.7-.44 45.393 8.577 68.094 35.095-47.048 58.97-110.675 73.474-138.97 24.938L55.563 332.438c-4.675 25.744.145 68.278 12.188 102.875 6.022 17.298 13.835 32.693 22.375 43.156 8.54 10.462 17.076 15.53 25.5 15.53h275.22c8.418 0 17.127-5.13 25.842-15.625 8.716-10.496 16.748-25.884 22.97-43.188 12.442-34.607 17.567-77.155 12.687-102.687L423.28 180.594c-29.54 43.035-90.6 27.592-136.124-29.47 21.918-25.602 43.833-34.88 65.75-35.093 20.448-.198 40.898 7.513 61.344 17.25l-2.938-15.31c-5.034-26.34-17.945-50.074-42.687-67.782-24.742-17.71-61.87-29.47-115.72-29.47zm-10.78 163.31v60.845c-32.837-5.422-27.66-33.514 0-60.844zm22.905 0c27.66 27.33 32.837 55.423 0 60.845V184.03zm-163.28 79.595H405.22l2.405 5.656c24.57 57.575 37.62 119.135-.594 181.908l-2.75 4.468H102.22l-2.657-4.844C66.484 390.34 72.22 328.58 99.25 269.095l2.5-5.47zm14.78 18.688l27.814 65.562h38.937l-8.936-65.563H116.53zm76.69 0l8.936 65.562h42.47v-65.563h-51.407zm70.093 0v65.562h42.468l8.94-65.563H263.31zm70.28 0l-8.937 65.562h42.125l25.595-65.563h-58.78zm-188.218 84.25l-29.844 70.406h58.126l9.563-70.408h-37.845zm56.72 0l-9.595 70.406h52.125V366.56h-42.53zm61.218 0v70.406h52.125l-9.594-70.408h-42.53zm61.406 0l9.592 70.406h59.032l-27.5-70.408H324.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TotemMask;

impl IconShape for TotemMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M106.46 23.033c2.08 10.67 4.08 21.402 6.003 32.166l130.844 50.507 8.45 99.207-10.57-.412c-2.3-.09-4.596-.204-6.894-.305-.093 15.334-4.31 29.364-11.71 40.114-7.48 10.872-18.847 18.684-32.013 18.684-13.165 0-24.532-7.812-32.013-18.683-7.48-10.87-11.72-25.094-11.72-40.63 0-3.075.173-6.095.497-9.05-5.585-1.162-11.164-2.445-16.736-3.903 3.28 41.083 4.11 81.548 1.45 120.343 11.51-2.824 23.72-6.647 35.786-11.263 37.015-14.163 72.507-36.846 82.965-54.967l7.804-13.524 8.228 13.27c16.416 26.47 50.783 48.472 86.188 61.314 13.355 4.845 26.907 8.298 39.513 10.41-4.18-39.71-5.44-81.82-3.894-124.22-5.47 1.543-10.94 2.947-16.41 4.242.214 2.412.334 4.86.334 7.348 0 15.536-4.235 29.76-11.716 40.63-7.48 10.872-18.85 18.684-32.014 18.684-13.165 0-24.533-7.812-32.014-18.683-7.02-10.2-11.182-23.35-11.67-37.77-1.925-.003-3.85-.014-5.775-.048l-9.994-.176 8.595-100.984 125.32-48.82c2.083-11.328 4.357-22.512 6.853-33.48-83.69 42.727-220.065 44.844-303.69 0zM465.85 52.2L295.61 118.52l-5.885 69.138c56.026-.614 112.07-14.596 168.47-42.89L465.85 52.2zM60.588 55.21l7.44 89.89c52.895 30.63 106.403 37.536 163.304 40.214l-5.654-66.38L60.588 55.21zm198.2 210.245c-18.392 21.52-50.817 39.002-84.276 51.805-19.57 7.488-39.467 13.08-57.237 15.904-11.18 1.777-21.32 2.436-30.474 1.617l1.116 6.074 49.338 83.714 29.125-99.502 47.747 111.332 44.336-129.91 50.516 134.207L354.573 326.2c-2.64-.87-5.28-1.772-7.926-2.73-33.565-12.176-66.77-31.528-87.86-58.015zm97.128 61.184l29.477 101.9 45.59-91.366c-21.453 2.39-47.974-1.73-75.067-10.535zm-96.592 35.186L216.11 488.44l-46.407-108.206-26.64 91.004-45.333-76.924 11.75 63.997c90.364 45.498 179.486 50.226 269.614 15.713l-26.62-92.03-43.988 110.45-49.162-130.617zm166.133 28.28L384.67 471.84c10.022-4.016 20.058-8.51 30.11-13.492l10.677-68.243z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TowerFall;

impl IconShape for TowerFall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M91.033 22.14v84.368l46.434 57.56v16.166l98.93 44.13 27.29-34.305 65.9 4.01v-30l46.433-57.562v-84.37h-48.916v39.796H297.33V22.14h-49.45v39.794h-29.24V22.14h-49.45v39.794h-29.243V22.14H91.033zm46.434 178.557v195.17h-29.88l-21.792 94.695h295.463l-21.79-94.695h-29.882V370.02l-38.72-24.07-23.712 29.292 28.432 25.737-12.543 13.854L241.5 377.23l33.37-41.222-91.65-56.973 33.288-43.082-79.04-35.256zm155.013 19.11l19.04 34.994 31.005-5.405-17.287-29.588H292.48zm66.682 10.088l17.293 74.527 55.553 2.068-13.442-57.967-59.404-18.628zm-135.47 27.328l-13.034 16.865 37.393 23.244 18.167-20.61-42.526-19.5zm73.115 13.056l-32.66 37.056 65.44 40.68V298.2l-32.78-27.92zm85.154 51.745l-5.16 29.584 33.49 18.158-.093-31.258-28.236-16.485zm79.91 6.928l-23.073 23.197 8.697 33.106 25.717-18.08-11.34-38.223zm-65.85 68.992l-10.97 36.977 24.88 17.49 8.414-32.025-22.323-22.442z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trade;

impl IconShape for Trade {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M287.03 20c-39.133.48-79.73 15.297-117 45.938h80.47v43.188c52.76-29.75 114.592-31.588 163.938.03l-18.188 9.72 64.688 50.72-3.75-83.314-26.407 14.126C395.99 48.792 345.038 20.644 290.907 20c-1.288-.015-2.583-.016-3.875 0zm-268 64.625v212.75h212.782V84.625H19.032zm50.282 26.03H205.78v138.939h-18.718v-120.25H69.313v-18.688zm3.344 38.126l90.094 91.845-13.344 13.094-90.094-91.845 13.344-13.094zm206.656 61.75v212.782h212.75v-212.78h-212.75zm50.25 26.064h136.469V375.5h-18.686V255.28h-117.78l-.002-18.686zm3.344 38.094l90.125 91.875-13.342 13.062-90.125-91.844 13.343-13.092zm-278.53 63.656l3.75 83.312 23.312-12.47c60.927 88.637 169.99 106.485 259.625 32.814h-80.439v-43.188c-52.08 29.38-113 31.544-162.03 1.188l20.436-10.938-64.655-50.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Transfuse;

impl IconShape for Transfuse {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M403.313 41.625c-1.107 0-2.24.017-3.344.063-30.174 1.248-56.498 23.386-71.72 55.906-29.436-20.315-63.812-25.884-91.313-12.125-22.492 11.25-38.903 33.383-42.687 60.843 10.962-4.476 21.618-7.177 31.75-8.438 4.333-11.497 12.952-19.848 24-25.375 20.797-10.404 49.765-8.923 72.656 13.97l18.625 18.624 6.533-25.156c8.723-32.558 30.745-47.522 53.093-48.438 22.346-.927 45.982 11.665 54.97 43.78 12.795 45.728-29.2 82.442-57.907 123.126h-95.19c-23.612-9.383-45.98-18.687-60.967-34.25-7.368-2.142-14.748-2.2-22.594.22-3.735 1.15-7.638 2.92-11.69 5.436 16.42 28.053 44.66 45.767 74.845 61.063.43.218.85.44 1.28.656 3.358 1.692 6.738 3.357 10.126 5 .89.434 1.763.882 2.658 1.314 2.396 1.155 4.79 2.293 7.187 3.437 14.53 6.938 28.997 13.736 42.313 21.25 17.27 9.75 36.245 28.402 50 48.814 4.14-23.795 6.27-45.762 19.875-66.5 35.98-54.857 86.962-108.22 68.03-178.875-11.262-42.03-46.238-64.318-80.53-64.345zm-298.75 77.656c-34.293.028-69.27 22.317-80.532 64.345C5.1 254.28 56.053 307.643 92.03 362.5c13.605 20.74 15.737 42.706 19.876 66.5 13.755-20.412 32.728-39.065 50-48.813 44.413-25.066 101.483-42.217 131.875-82.875-17.71-8.498-33.892-16.466-55.405-30.156H72.625c-16.633-23.38-28.21-47.227-20.656-74.22 8.705-31.11 31.163-43.916 52.874-43.842.7.002 1.395.033 2.094.062 22.347.916 44.4 15.88 53.124 48.438l6.5 25.156 18.657-18.625c22.89-22.892 51.858-24.404 72.655-14 8.082 4.043 14.844 9.614 19.594 16.813 12.327 6.815 23.973 11.22 35.967 15.687-4.12-26.854-20.396-48.43-42.53-59.5-27.5-13.76-61.846-8.22-91.282 12.094-15.222-32.52-41.577-54.628-71.75-55.876-1.104-.046-2.206-.064-3.313-.063zm292.843 264.626c-6.496 53.84-30.488 46.8-30.97 80.72-.208 15.372 14.203 28.062 32.064 28.062 17.86 0 32.594-12.684 32.594-28.063 0-34.092-26.52-27.088-33.688-80.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TransparentTubes;

impl IconShape for TransparentTubes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M134.63 23.168c-5.19.1-10.617 1.072-16.308 2.68-15.176 4.287-32.317 13.284-49.015 26.095-16.7 12.812-29.83 27.038-37.903 40.588-4.036 6.776-6.863 13.39-7.945 20.046-1.083 6.657-.228 13.906 4.13 19.59 4.358 5.684 11.136 8.39 17.846 9.07 3.806.387 7.75.212 11.832-.39l108.425 141.422 11.774-15.362-42.576-55.533c9.394 1.942 19.794 2.982 30.796 2.982 18.936 0 36.108-3.063 49.384-8.546 6.638-2.743 12.352-6.07 16.848-10.46.817-.798 1.58-1.664 2.312-2.56l.022.026 11.77-15.36-87.655-114.33c1.588-3.71 2.746-7.398 3.348-11.1 1.082-6.656.227-13.903-4.13-19.587-4.36-5.684-11.137-8.39-17.847-9.07-1.677-.17-3.38-.235-5.11-.202zm246.692 0c-1.73-.033-3.432.03-5.11.2-6.71.682-13.487 3.388-17.845 9.07-4.358 5.685-5.212 12.932-4.13 19.59.6 3.7 1.76 7.388 3.347 11.097l-75.78 98.84c-1.468 1.54-2.806 3.24-3.908 5.097l-19.92 25.985-.177-.23-11.773 15.36.174.225-56.792 74.078-.166-.214-11.773 15.36.163.214-72.2 94.174c-21.366 27.862-16.067 68.046 11.782 89.416 27.85 21.37 68.032 16.068 89.394-11.797l51.365-66.998.195.254 11.773-15.363-.193-.252 56.795-74.078.184.24 11.77-15.36-.182-.235 120.366-156.996c4.08.602 8.025.777 11.832.39 6.71-.68 13.488-3.386 17.845-9.07 4.36-5.684 5.214-12.933 4.132-19.59-1.082-6.657-3.91-13.27-7.945-20.045-8.073-13.55-21.204-27.775-37.902-40.587-16.7-12.81-33.84-21.808-49.016-26.095-5.692-1.608-11.12-2.58-16.308-2.68zm-260.65 21.508l15.523 20.246c-6.645 10.238-17.722 22.175-31.71 32.906-13.894 10.66-28.19 18.237-39.758 22.027L49.11 99.485c6.66-10.193 17.68-22.046 31.578-32.708 13.984-10.73 28.378-18.335 39.984-22.1zm274.605 0c11.607 3.766 26 11.372 39.987 22.1 13.897 10.664 24.92 22.516 31.578 32.71l-15.617 20.37c-11.568-3.79-25.865-11.367-39.76-22.028-13.988-10.73-25.064-22.67-31.71-32.908l15.522-20.244zm-247.132 35.83l49.777 64.928c-9.765-2.14-20.67-3.29-32.236-3.29-18.936 0-36.11 3.064-49.385 8.547-6.637 2.743-12.35 6.068-16.847 10.458-.585.572-1.15 1.172-1.693 1.795l-21.096-27.517c12.555-4.92 26.015-12.648 39.203-22.766 13.262-10.175 24.263-21.242 32.278-32.154zm219.662 0c8.015 10.912 19.015 21.98 32.277 32.154 13.188 10.118 26.65 17.847 39.203 22.766l-21.803 28.44c-.767-.955-1.575-1.873-2.44-2.718-4.495-4.39-10.21-7.715-16.847-10.457-13.275-5.482-30.45-8.545-49.385-8.545-10.887 0-21.185 1.016-30.5 2.92l49.495-64.56zm-202.12 80.32c16.85 0 32.075 2.928 42.252 7.13 5.088 2.103 8.863 4.544 10.925 6.558 2.062 2.013 2.278 3.096 2.278 3.736 0 .64-.216 1.723-2.278 3.736-2.062 2.014-5.837 4.455-10.926 6.557-10.177 4.204-25.404 7.13-42.254 7.13-16.85 0-32.077-2.926-42.254-7.13-5.09-2.102-8.866-4.543-10.928-6.557-.258-.25-.486-.49-.69-.713l-.005-.007-1.025-1.334c-.473-.775-.558-1.308-.558-1.682 0-.64.215-1.723 2.277-3.736 2.062-2.014 5.84-4.455 10.928-6.557 10.177-4.203 25.402-7.13 42.254-7.13zm183.125 0c16.85 0 32.077 2.928 42.254 7.13 5.09 2.103 8.866 4.544 10.928 6.558 2.062 2.013 2.277 3.096 2.277 3.736 0 .64-.214 1.723-2.276 3.736-2.062 2.014-5.84 4.455-10.928 6.557-10.177 4.204-25.403 7.13-42.253 7.13s-32.077-2.926-42.254-7.13c-5.09-2.102-8.865-4.543-10.927-6.557-2.062-2.013-2.28-3.096-2.28-3.736 0-.215.032-.487.143-.82l2.463-3.21c2.117-1.956 5.753-4.262 10.6-6.263 10.176-4.203 25.4-7.13 42.252-7.13zm-67.792 32.88c.502.568 1.022 1.118 1.56 1.644 4.496 4.39 10.21 7.717 16.848 10.46 13.276 5.482 30.45 8.545 49.385 8.545 11.683 0 22.69-1.17 32.53-3.35l-54.8 71.475-.178-.232-11.773 15.357.178.233-56.793 74.078-.18-.232-11.776 15.357.18.235-54.423 70.987c-15.218 19.85-43.35 23.562-63.185 8.342-19.837-15.223-23.55-43.37-8.33-63.22l69.144-90.187.324.422 11.776-15.36-.324-.422 56.793-74.076.324.422 11.774-15.358-.324-.422 11.27-14.7zm.83 30.48l-11.776 15.355 32.742 42.708 11.776-15.357-32.742-42.704zm68.425 89.248l-11.773 15.36 57.187 74.59c15.22 19.85 11.506 47.997-8.33 63.22-19.836 15.22-47.968 11.51-63.186-8.342l-42.457-55.377-11.774 15.36 39.4 51.388c21.36 27.865 61.543 33.168 89.393 11.797 27.85-21.37 33.148-61.554 11.784-89.416l-60.245-78.58zm-136.996.185l-11.776 15.36 32.742 42.704 11.775-15.358-32.74-42.707z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TransportationRings;

impl IconShape for TransportationRings {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M197 88.84c0 20.36 7.1 38.46 17.6 50.96l10.2 12.3-15.7 2.9c-13.8 2.6-24 9.9-32.5 21.5-3 4.1-5.8 8.9-8.3 14 26.9 5.2 56.3 8.2 87.2 8.2 28.2 0 55.3-2.5 80.3-6.9-2.8-6.2-6-11.7-9.6-16.5-8.6-11.5-19.3-18.8-34.7-21.1l-16-2.5 10.1-12.6c10.1-12.5 16.8-30.4 16.8-50.26 0-39.31-24.9-68.97-52.7-68.97-36.2.1-52.2 47.31-52.7 68.97zm118.2-34.88c3.8 10.78 5.9 22.58 5.9 34.88 0 8.6-1 16.76-2.9 24.56 50.3 6.2 94.6 19.8 127.7 39 7.1-4.6 13.3-9.3 18.7-14.3 4.1 6 6.7 12.1 7.8 18.2-44.3 38-124.7 61.1-216.9 61.1-91.7 0-171.66-22.9-216.16-60.5 1.54-7 4.09-13.1 7.5-18.4 5.3 4.8 11.5 9.4 18.3 13.9 30.7-17.8 70.86-30.7 116.56-37.5-2.1-8.2-3.3-16.86-3.3-26.06 0-11.8 1.9-23.29 5.4-33.78-12.3 1.87-24.3 3.52-35.4 7C98.22 77.58 34.78 101.1 21.48 151.1c-3.04 13.2.1 29.5 4.98 39.7 8.26 14.3 17.88 26 30.59 35.1 22.6 17 53.65 30.3 90.15 39.2l.1-.2c25.4 6.3 53.7 10.5 83.6 11.9 7.5.4 15.8 0 24.5 0 38.3 0 74.5-4.4 106.5-12v.3c37.4-8.9 69.1-22.2 92.1-39.1 23-17 37.8-38.3 37.8-62.3 0-24.1-15-45.6-38.2-62.6-46.4-28.75-88-40.84-138.4-47.14zM440 256.2c-22.4 11.3-48.3 20.3-69.1 25.7.1 1.7.1 5.5.2 7.2 28.5 7.2 53.9 15 74.9 27.1 7-4.5 13.2-9.2 18.6-14.1 4 5.9 6.7 12 7.9 18.1-44.4 38-124.8 61-217 61-91.7 0-171.56-22.8-216.16-60.4 1.1-6.2 3.6-12.3 7.6-18.4 5.3 4.8 11.4 9.4 18.2 13.8 18.3-10.6 40.06-19.4 64.26-26.3l.6-10.2c-21.8-6.2-41.56-14-58.86-23.2-13.55 8.3-28.66 19.9-37.3 31.6-10.63 13.1-13.71 26.6-13.75 39.6 1.46 27.5 16.35 46.4 37.05 62.3 22.6 16.9 53.66 30.3 90.16 39.1l.1-.3c25.4 6.3 53.7 10.5 83.6 11.9 43 .1 92.8-1.6 130.9-12 32.7-9.2 67.6-21 92.1-38.7 23-16.9 37.9-38.3 37.9-62.3s-15-45.5-38.2-62.5c-4.3-3.1-8.9-6.1-13.7-9zm-291.5 28.3c-1.1 16.5-1.4 33.1-1.5 48.7h44.3l1.8 25.2c19.9 2.7 40.8 4.2 62.4 4.2 18.5 0 36.4-1.1 53.6-3.1.6-8.8 1.2-17.5 1.8-26.3H353c0-15-.1-31.1-.7-47.1-29.8 6.1-62.5 9.4-96.8 9.4-8.1 0-16.6.4-25.4 0-28.9-1.4-56.4-5.2-81.6-11zm52 172.6l2.7 35.1h97.1l2.3-35c-35.4 2.9-68.3 3.4-102.1-.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrapMask;

impl IconShape for TrapMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M196.36 25.44c-45.063 17.44-69.198 37.01-86.17 86.17v70.624h-.126v9.346c0 57.256-.92 108.17-16.478 163.72l-1.324 4.73 103.545 124.32H202.045l1.715-.71c36.42-15.074 71.277-16.862 107.068-.167l6.62 3.088 102.29-126.445-1.078-4.48c-13.006-54.042-13.137-108.684-13.76-164.16l-.105-9.24h-.018V111.61c-14.466-42.988-43.59-70.49-86.172-86.17-41.74 20.564-81.495 18.426-122.244 0zm-55.145 101.794h45.23l47.284 55h-92.515v-55zm187.3 0h45.23v55h-92.513l47.284-55zM162.378 233.857h.066l34.817 85.883 33.115-81.68 26.914 66.383 27.106-66.857 33.307 82.154 34.47-85.02 16.704 41.206 17.057-42.07h.904c.896 40.145 3.36 80.682 12.676 121.546l-9.707 11.998-31.08-35.582-4.213 79.21-14.725 18.202-37.856-50.257-9.887 78.363c-4.457-1.096-8.92-1.957-13.38-2.596l-21.378-52.726-21.585 53.242c-4.616.744-9.223 1.7-13.816 2.86l-9.443-78.403h-.002l-37.377 49.238.793 2.25-17.92-21.516-4.14-77.866-31.08 35.578-9.92-11.91c11.155-41.838 14.49-81.232 15.47-121.607l17.05 42.046 17.057-42.07z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tread;

impl IconShape for Tread {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M173.438 56.625c-24.197.254-51.41 8.524-76.125 23.875C56.04 106.135 22.91 150.185 21.5 204.813c23.035 23.153 37.246 53.802 48.72 86.312 37.776-75.574 103.61-112.37 154.28-109.22-12.233-36.11-9.912-77.263-10.344-115.968-10.255-5.718-22.525-8.79-35.906-9.25-1.585-.054-3.2-.08-4.813-.062zm42.78 144c-36.993 1.83-87.634 28.563-121.218 84.094 25.173 56.788 58.682 115.636 94.688 155.25 30.954-10.902 72.793-30.752 113.093-54.408-19.64-45.728-15.747-92.128 1.595-128.812-9.745.435-18.834-.526-27.313-2.906-2.768-.777-5.445-1.726-8.062-2.78l.375.655c-5.122 2.997-12.668 10.257-18.813 19.03-6.144 8.773-11.073 19.095-12.75 27.688l-18.343-3.563c2.4-12.312 8.46-24.392 15.78-34.844 5.023-7.17 10.564-13.568 16.438-18.56-5.982-4.3-11.545-9.33-16.688-15.032-19.934 9.052-40.194 31.397-43.313 50.156l-18.437-3.063c4.4-26.468 25.81-49.992 49.938-62.155-2.39-3.44-4.697-7.03-6.97-10.75zm185.813 2.78c-.733.002-1.483.004-2.217.032-11.748.45-23.438 4.37-34.625 11.063-44.48 26.61-76.574 99.088-42.72 169.563l7.25 7.25-10.25 6.156c-46.5 27.946-95.11 51.027-130.75 62.53l12.345 17.875c92.26-33.88 212.588-103.56 290.843-165.78-13.427-54.603-34.915-85.3-57.062-99-10.753-6.654-21.793-9.703-32.813-9.69z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreasureMap;

impl IconShape for TreasureMap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.4 34.7c-10.1 0-20.2.2-30.2.5l6.1 65.6-61.1-62.5c-31.3 2.5-62.5 6.6-93.8 12.5l34.2 28.4-48-.6c35.1 100.2 6.9 182.6-.3 292.1L130 476.5c10-1.3 19.9-2.4 29.6-3.3l21.5-42.2 18.6 28.8 41.5-33.5.8 43c82.9-.2 157.7 9.1 235.7 7.9-28.2-73-31.2-143.6-31.9-209.2l-33.3-19.1 32.7-33.9c-.4-21.3-1.3-42-3.6-61.9l-57.4.7 50.2-41.7c-3.8-15.5-9-30.4-16.1-44.7l-29.5-23.9C335 38 281.2 34.6 227.4 34.7zm58.7 37c10.6 24.75 21.1 49.5 31.7 74.3 7.5-10.5 14.9-21 22.4-31.5 16 27.2 32 54.3 48 81.5l-16.2 9.5-33.3-56.7-42.5 59.4-15.2-10.9 24-33.5-21.9-51.5-24.6 40.1 12 22.6-16.5 8.8-18.3-34.5-24.8 58.2-17.2-7.4 32.5-76.2 7.7-18c4.8 9.2 9.6 18.3 14.5 27.4 12.5-20.6 25.1-41.11 37.7-61.6zM91.2 128c6.72 1.6 13.4 3.4 19.2 5.3-2.1 5.9-4.1 11.8-6.2 17.6-5.79-1.6-11.72-3.4-16.9-4.7 1.39-6 2.62-12.1 3.9-18.2zm37.9 13.4c6.3 3.8 12 7.2 17 12.8L132.6 167c-4-3.7-8.6-7-12.8-9.4zm28.7 32.3c2.1 7.4 2.1 15.7 1.6 22.5l-18.5-2.4c.1-5.1.3-10-1-14.5zm-21.2 35.7l17.2 7.1c-3.3 6.6-5.1 12.7-8.6 17.8l-16.3-9c2.6-5.4 5.6-10.8 7.7-15.9zm-16.5 34.1l17.7 6.1c-1.5 5.4-3 11.2-3.6 16.2l-18.6-2c1.3-7.5 2.1-14 4.5-20.3zm207.8 17.4c8.5 1 14.6 3 21.7 7.1l-9.8 16c-4.1-2.8-9.4-3.8-13.5-4.5zm-21.2 1.5c1.1 6.1 2.5 12.2 3.9 18.3-5.9 1.3-11.7 3.3-16.5 5.1l-6.8-17.4c6.7-2.4 13.5-4.7 19.4-6zm-37.9 15.9l11 15.1c-5.6 4-11.8 7.8-16.8 10.6l-8.9-16.4c5.1-2.9 10.6-6.3 14.7-9.3zM135.3 281c1.5 4.7 4.2 9.2 6.9 12.1l-13.8 12.6c-5.5-5.7-9.5-13.5-11.2-20.1zm230.3 3.3c3.5 6.4 6.8 12.7 8.7 19.1l-17.8 5.6c-2-5.4-4.3-10.8-6.8-14.8zm-127.4 10.9l6.9 17.3c-6.4 2.7-12.9 4.8-18.6 6.5l-5-18c5.9-1.6 11.3-3.8 16.7-5.8zm-83.8 6.2c5.3 1.7 10.8 3.4 15.7 4.2-1.2 6.1-2 12.3-2.8 18.5-7-1-14.5-3.3-20.5-5.7zm50 3.5l2.8 18.5c-7.2 1.3-13.4 1.6-19.8 1.9l-.4-18.7c5.9-.2 11.6-.8 17.4-1.7zm174.5 18c1 6.4 1.6 12.9 2.2 19.3l-18.7 1.5c-.4-6-.9-11.9-2-17.8zm-67.6 30.8c18.9 3.5 44.9 16.2 68.9 33.9 7.4-9.9 14.4-20.4 21.3-31.1l30.1 12.9c-4.7 12.3-15 25.6-28.6 37.2 17 16.2 30.9 34.5 37 53-13.8-18.1-31.1-31.8-50.3-42.8-23.4 15.8-52.7 25.9-79.6 20.4 22.9-4.4 40.6-16.6 55.8-32.6-16.5-7.5-33.8-13.9-51.3-20.1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TreeBranch;

impl IconShape for TreeBranch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M335.594 18.53c-40.164.157-75.583 36.542-88.656 51.75-25.09-4.49-50.48-6.746-76.094-6.53-19.542.165-39.218 1.786-58.97 4.875-22.38-17.928-46.586-31.63-72.5-36.97C12.973 45.292 20.87 66.202 26.75 86.688c33.85-2.782 68.376 8.017 103.063 24.438 7.513 5.012 15.003 10.257 22.468 15.75 10.193 36.02 15.185 71.684 16.75 107.22-24.967 5.267-73.76 20.245-87.968 58.56l56.657-8.06-60.782 30.592c-1.59 28.013 4.228 50.995 12.28 71.844l38.626-40.874-29.063 63.25c12.435 27.13 25.52 52.227 25.75 82.844 15.673-15.742 30.667-28.657 44.314-40.78l-9.313-58.94 22.22 47.25c17.657-16.465 32.232-32.686 41.78-54.155l-36.28-56.063 44.594 30.47c.21-.965.4-1.953.594-2.938 11.05-55.837-31.68-107.473-44.657-121.625-1.19-29.747-4.676-59.735-11.5-90.032 39.703 32.23 78.083 71.073 113.064 115.28-8.172 28.668-12.69 52.292-14.156 71.97l31.593-28.47-30.81 61.626c3.548 23.952 13.97 39.684 29 51.562l25.342-46.156-9.062 56.813c16.678 9.177 36.777 16.253 58.406 24.78-.176-16.76.29-29.34.28-48.343l17.564 55.688c18.85 8.084 38.462 17.87 57.72 31.562 2.478-28.53 2.51-57.14-.345-84.188l-53.688-20.625 51.594 4.313c-3.97-25.8-10.814-49.764-20.967-70.313L371.5 307.344l47.094-8.53c-21.232-29.417-52.085-47.727-94.563-47.69-5.655.006-11.52.36-17.592 1.032-49.197-62.79-105.105-115.302-162.657-154.25-4.302-4.435-8.683-8.766-13.155-12.97 38.91-4.456 77.396-2.886 115.25 4.095 7.227 18.038 23.78 51.747 52.094 69.376l-6.75-53.562 29.436 63.062c2.974.69 6.026 1.226 9.188 1.53 59.64 5.77 98.592-45.932 158.937-38.686-18.445-8.86-31.076-21.388-42.717-35.063l-67.844.563 51.405-20.53c-14.13-17.083-30.05-34.107-56.094-46.75L324.876 58.5l25.875-38.22c-5.098-1.204-10.166-1.768-15.156-1.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrefoilLily;

impl IconShape for TrefoilLily {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M182.53 33.656c-30.402.31-60.104 25.67-57.655 56.844.895 11.393 4.828 22.11 11.25 31.813-11.477-10.676-22.322-21.627-32.063-32.75-17.582-3.415-44.45-10.41-67.343-10.594-5.284-.044-10.333.28-15.032 1.093 8.113 21.98 32.22 49.906 49.406 66.593 14.43 3.102 29.39 7.236 44.53 12.03-11.786-.796-23.196 1.168-33.655 6.158-36.125 17.236-37.668 75.304-2.657 96.97-8.335-22.065-.02-42.745 21.03-55.095 18.118-10.63 35.77-12.13 56.25-5.314.042.014.084.018.126.03 39.56 18.11 68.427 68.613 63.655 111.783-4.417 20.81-14.545 35.165-32.625 45.436-21.22 12.055-43.278 8.875-58.22-9.375 1.258 41.154 52.324 68.886 85.314 46.22 9.407-6.464 16.747-15.2 21.937-25.594-3.503 15.264-7.585 30.112-12.343 44.094 7.18 20.842 16.69 56.55 32.97 76.094 14.978-18.017 27.11-52.866 32.968-76.094-4.53-14.05-8.427-29.083-11.844-44.594 5.205 10.612 12.602 19.528 22.158 26.094 32.99 22.666 84.055-5.066 85.312-46.22-14.94 18.25-37.03 21.43-58.25 9.376-18.163-10.318-28.28-24.754-32.656-45.72-4.602-42.977 24.02-93.105 63.312-111.31 20.756-7.057 38.606-5.644 56.906 5.093 21.05 12.35 29.335 33.03 21 55.093 35.01-21.665 33.468-79.733-2.656-96.97-10.46-4.99-21.87-6.953-33.656-6.155 15.138-4.798 30.1-8.93 44.53-12.032 17.188-16.687 41.325-44.614 49.44-66.594-25.065-4.326-60.737 5.298-82.376 9.5-9.743 11.126-20.575 22.073-32.063 32.75 6.42-9.7 10.325-20.42 11.22-31.812 3.134-39.903-46.42-70.27-82.688-50.78 23.276 3.812 37.048 21.343 37.22 45.75.14 20.18-6.826 35.777-21.688 49.686l-.063-.094c-35.54 26.866-95.927 26.86-131.467 0l-.063.094c-14.85-13.905-21.797-29.515-21.656-49.687.17-24.407 13.943-41.938 37.22-45.75-7.935-4.264-16.52-6.15-25.033-6.064zm159.626 120.906c-3.087 2.5-6.178 4.986-9.28 7.438l-74.97 41.688-76.937-43.094c-2.473-1.963-4.916-3.976-7.376-5.97 15.658 8.235 34.41 14.076 55.22 16.814 18.92 4.05 38.854 4.058 57.78.03 20.955-2.73 39.822-8.607 55.562-16.905zM162 175.032c7.344 2.814 14.655 5.7 21.875 8.624l64.438 36.094v86.53c-.713 4.986-1.488 9.997-2.282 15-.62-15.827-4.128-32.85-10.624-50.155l-.03-.094c-6.063-22.786-18.308-44.236-34.845-61.06-11.844-14.57-24.957-26.348-38.53-34.94zm191.625 0c-13.267 8.397-26.085 19.85-37.72 33.968-.027.034-.064.06-.092.094-17.162 17.136-29.812 39.22-35.907 62.687-6.318 17.008-9.77 33.708-10.406 49.283-.87-5.484-1.71-10.972-2.5-16.438V220.03l67.03-37.28c6.48-2.61 13.022-5.2 19.595-7.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TrefoilShuriken;

impl IconShape for TrefoilShuriken {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M220.094 27.688c-26.872-.036-50.823 6.838-74.125 18.625l-.157.812C70.522 86.93 19.124 165.858 19.124 257.063c0 6.59.332 13.085.875 19.5 7.276-8.357 15.818-15.872 26-21.75 13.382-7.727 27.847-12.19 42.344-13.72 4.425-49.566 25.685-94.32 58-128.53 41.687-32.344 93.704-55.56 153.28-67.282-29.822-12.154-55.82-17.56-79.53-17.593zm138.03 15.437c3.455 10.335 5.595 21.317 5.595 32.906 0 16.077-3.528 31.34-9.845 45.064 37.73 26.11 64.81 62.603 79.625 103.344 10.55 56.292 5.53 118.197-15.97 181.093 54.264-42.136 73.225-84.51 75.94-133.592.32-4.903.467-9.87.467-14.875 0-94.773-55.613-175.866-135.812-213.938zM160.813 124.22c-29.6 30.89-49.216 71.464-53.687 116.5.094.005.187.023.28.03 23.03 1.627 45.37 10.552 63.19 25.938 2.623 24.778 15.768 46.414 34.874 60.375 5.39 28.052-.712 57.203-16.47 80.718 41.77 10.37 86.995 7.1 128.47-11.717-10.642-21.43-14.025-46.166-9.126-70.032 18.074-13.773 30.528-34.53 33.344-58.25 17.844-16.04 40.438-25.365 64-27.03 4.524-.32 9.08-.316 13.656-.063-12.407-40.644-37.918-77.395-74.75-103.312-13.174 19.026-32.327 33.592-54.75 40.906-10.333-4.39-21.69-6.843-33.625-6.843-11.732 0-22.935 2.376-33.126 6.625-.01-.003-.022.004-.03 0-27.138-9.022-49.527-28.61-62.25-53.843zm95.094 70.218c34.775 0 62.97 28.162 62.97 62.937s-28.195 62.97-62.97 62.97-62.937-28.195-62.937-62.97 28.16-62.938 62.936-62.938zM51.28 325.405c9.353 68.066 36.573 105.64 77.72 132.53l.625-.217c36.79 23.387 80.423 37.06 127.22 37.06 50.05 0 96.018-15.642 134.217-42.092-10.772-2.214-21.397-5.922-31.437-11.72-13.048-7.532-23.9-17.428-32.344-28.843-42.115 19.633-87.96 24.486-131.124 16.25C143.6 409.052 93.93 374.245 51.28 325.405z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TribalMask;

impl IconShape for TribalMask {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M208.906 18.688l22.375 248.468h66.19l17.124-248.47-105.688.002zm263.156 5.093C425.9 34.41 378.79 42.034 331.438 46.063l-5.156 74.782c6.96-3.386 14.792-5.28 23.033-5.28 28.118 0 51.468 22.157 51.468 49.75 0 27.59-23.35 49.78-51.467 49.78-10.656 0-20.626-3.197-28.907-8.656l-4.375 63.5c49.813-4.658 98.347-16.405 140.22-35.5 11.706-64.972 15.46-137.184 15.813-210.657zm-414.75.47c.54 72.185 5.904 143.733 18.907 208.438 39.154 19.32 86.55 31.668 136.5 36.812l-5.814-64.813c-8.734 6.52-19.66 10.407-31.406 10.407-28.118 0-51.47-22.19-51.47-49.78 0-27.593 23.352-49.75 51.47-49.75 8.578 0 16.708 2.067 23.875 5.717L192.687 47c-45.744-3.466-91.08-10.858-135.375-22.75zM81.25 255.625c5.254 22.24 11.47 43.552 18.844 63.625 3.833 10.436 7.945 20.523 12.375 30.25l24.155-67.188 2.406-6.718c-20.27-5.324-39.652-12-57.78-19.97zm370.594 1.094c-19.698 8.17-40.49 14.915-61.97 20.186l4.782 10.688 27.75 62.03c4.53-10.134 8.702-20.657 12.5-31.562 6.75-19.376 12.32-39.912 16.938-61.343zM152.938 279l1.187 3.063 35.906 91.718 35.47-72.655 5.313-10.875c-26.643-1.772-52.83-5.524-77.875-11.25zm227.812.03c-22.253 4.998-45.168 8.462-68.28 10.44l5.436 11.842 30.125 65.532 29.314-78.688 3.406-9.125zm-74.97 11c-22.536 1.645-45.234 1.87-67.655.69l4.438 11 28.187 69.842 30.094-70.03 4.937-11.5zm-159.967 22.033l-21.782 60.625c3.623 6.662 7.402 13.115 11.376 19.343 15.39 4.535 30.76 8.29 46.125 11.283l-1.155-2.907-34.563-88.344zm241.093 4l-29.187 78.406-3.19 8.5c15.224-3.122 30.45-7.055 45.69-11.876 4.05-6.318 7.87-12.87 11.5-19.625l-24.814-55.408zm-153.812 12.125l-35.625 72.906-2.282 4.687c23.9 3.938 47.784 5.975 71.656 6.033l-5.03-12.47-28.72-71.156zm76.625 0L279.06 399.53l-5.25 12.25c23.708-.325 47.41-2.653 71.125-6.967l-4.468-9.72-30.75-66.906zm72.686 87.437c-76.626 19.9-153.423 19.205-229.937.313 28.78 36.042 65.446 62.172 112.06 75.156 50.554-13.98 88.787-40.065 117.876-75.47z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trident;

impl IconShape for Trident {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M17.156 16.438v41.656L192.78 234.22l-51.436 51.405-11.97 12L140.782 309l106.69 106.688-24.532 24.53 125.75 53.844-53.875-125.718-23.407 23.406-94.72-94.72 48.44-48.436 135.78 135.75-23.97 23.937 125.72 53.876-53.844-125.72-23.968 23.97-135.78-135.75 48.467-48.47 94.72 94.72-23.375 23.406 125.72 53.844-53.876-125.72-24.533 24.533L309.5 140.28l-11.406-11.374-11.97 11.97-51.468 51.436L58.812 16.438H17.157z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trilobite;

impl IconShape for Trilobite {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M159.9 19.55c-20.7.2-41.7 7.8-60.4 20.8-53.2 37-89.8 119.45-56.7 216.85 14 41.3 17.2 76.3 12.5 102.9-4.6 26.5-16.6 44.3-33.4 53.5l9 16.4c22.5-12.3 37.5-36 42.8-66.7 5.4-30.7 1.6-68.6-13.2-112.1-30.7-90.4 3.9-163.55 49.7-195.45 22.9-16 48.2-21.4 69.9-14.6 8.8 2.7 17.2 7.5 24.9 14.6 6.8-1.9 13.9-3.4 21-4.5-11.5-14-25.3-23.3-40.4-28-9.2-2.48-17.2-3.7-25.7-3.7zm166.5 3.8c-14.9 4.6-28.5 13.7-40 27.4 7.3 1 14.5 2.4 21.6 4.2 7.4-6.7 15.5-11.2 24-13.8 21.7-6.8 46.9-1.4 69.8 14.6 45.8 31.9 80.5 105.05 49.7 195.45-14.7 43.5-18.6 81.4-13.2 112.1 5.4 30.7 20.4 54.4 42.8 66.7l9-16.4c-16.7-9.2-28.8-27-33.4-53.5-4.6-26.6-1.5-61.6 12.5-102.9 33.1-97.4-3.5-179.75-56.7-216.85-18.7-13-39.7-20.6-60.3-20.8-8.9.1-18.5 1.48-25.8 3.8zM258 67.45c-45.6 0-86 15.3-115.4 46.25-18.4 19.4-32.6 45.3-40.6 78.1 25.2-18.3 62.6-29.2 87.9-33.8 3-.4 4.9-.3 7.4 1.1 40.3 20.3 84.2 21.5 121.7 0 2.4-1.8 3.6-1.6 6.4-1.1 35.8 5 64.1 15.1 88.5 33.4-8.1-32.6-22.2-58.3-40.6-77.7C344 82.75 303.5 67.45 258 67.45zM190.9 177c-28.4 7.6-94.13 24.2-95.2 57h-.2c-.5 6-.8 12.2-.9 18.6 27.9-23.9 64.7-34.3 97.2-40.1-.5 6.3-.9 12.7-1.3 19.2-30.8 6.8-92.77 17.3-94.6 56.1v.2c.7 7 1.5 13.8 2.6 20.6 22.9-21.8 63.8-35.3 90.8-40.6-.2 6.4 0 13.3 0 19.1-26.5 8.6-82.9 20.6-84.9 50.7 2 7.8 4.3 15.6 6.8 23 18.7-20.2 55.9-32.8 79.3-37.7.4 6.4.8 12.7 1.3 18.9-24.7 5.7-66.7 19.4-71.6 41.5 4.2 9.5 8.9 18.5 13.9 26.9 15.2-17.6 42-26.7 61.5-31.3.8 6.4 1.8 12.5 2.8 18.7-15.1 5.1-50.3 13.9-52.3 30.7 6.9 9.3 14.4 17.8 22.2 25.3 9.9-10.1 26-15.7 37.8-18.5 1.6 6.3 3.3 12.3 5.2 18-10.8 3.9-21.6 5.4-28.7 12.5 22.7 17.1 48.3 26.6 75.4 26.6 26.6 0 51.8-9.1 74.3-25.8-7.6-7.1-20-10.8-28.7-13.1 1.8-5.7 3.6-11.7 5.2-18 12.9 3.3 30.8 10.5 37.8 19.3 8.8-8.2 17-17.7 24.6-28.2-8.6-18.2-37.1-25.7-54.4-29.5 1-6 2-12.1 2.8-18.6 23.7 5.2 49 13 63 30.7 4.7-8.1 9.1-16.7 13.1-25.7-6.4-24.2-52.2-37.4-72.2-41.7.5-6.2.9-12.4 1.3-18.8 27.5 5.7 63.2 18.2 79.9 37.7 2.5-7.2 4.7-14.6 6.6-22.2-13.7-27.7-60.3-45.9-85.3-51.2 0-6.8.3-13 0-19.2 34.5 11.7 70 18.2 91.2 42.4 1.2-7.4 2.1-14.9 2.8-22.5-7.3-35.6-67.6-51.1-95.2-56.4-.4-6.5-.8-13-1.3-19.2 34.9 7 72.7 16.8 97.8 40.2-.1-8-.5-15.8-1.2-23.3-13.5-33.4-66.2-46.7-95-52.2-44.8 21.5-92.3 22.1-134.2-.1zm114 37c.5 6.7 1 13.6 1.4 20.6-31.3 12.6-68.2 13-97.3.6.4-6.8.8-13.5 1.4-20.2 28.4 13.4 68.6 14.8 94.5-1zm2.5 55.7c0 7.4-.1 15.3-.2 21.8-31.6 13.2-69.7 13.5-99.1.6-.1-7.9-.2-13.9-.2-21.2 30.3 15.1 72.2 16.8 99.5-1.2zm-1.6 55.3c-.5 7.6-1 15.1-1.7 22.3-30 11.6-65 11.9-92.9.6-.7-7-1.2-14.3-1.7-21.7 28.2 14.2 71 15.9 96.3-1.2zm-5.7 56.1c-1.1 7.6-2.3 14.8-3.6 21.8-26.1 7.7-53.6 7.9-77.9.3-1.2-6.8-2.4-13.9-3.5-21.4 26.7 10.5 60.4 11.6 85-.7zM225 432.6c19.5 8.1 46.4 9.7 64.9.1-2.2 8.2-4.5 15.7-6.9 22.5-17.3 3.7-35.1 3.9-51.2-.2-2.4-6.7-4.6-14.2-6.8-22.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Triorb;

impl IconShape for Triorb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.813 38.28C70.838 38.28 20.406 89.5 20.406 152.47c0 62.972 50.432 113.405 113.406 113.405 12.027 0 23.638-1.835 34.532-5.25-.437-.958-.844-1.932-1.25-2.906l-69.78-120.876-8.19-13.625 16-.345h138.97c-13.07-48.662-57.543-84.596-110.28-84.594zm247.843 0c-52.74 0-96.672 35.93-109.562 84.595H426.47l-8.19 14.28-71.124 123.314c-.004.007.004.02 0 .03-.013.03-.017.064-.03.094 10.874 3.434 22.47 5.28 34.53 5.28 62.975 0 114.156-50.432 114.156-113.405 0-62.972-51.18-114.19-114.156-114.19zm-260.53 103.314l39.093 67.562c3.127-27.534 17.792-51.71 39-67.562h-78.095zm125.405 0c-38.53 5.45-68.186 38.596-68.186 78.625 0 11.152 2.282 21.772 6.437 31.405l1.064 1.844c36.87-18.726 62.156-56.763 62.156-101 0-3.67-.19-7.295-.53-10.876h-.94zm22.25 0c-.334 3.58-.53 7.206-.53 10.875 0 44.112 24.748 82.062 61.22 100.843l1.75-3.032c3.8-9.275 5.905-19.42 5.905-30.06 0-40.03-29.657-73.175-68.188-78.626h-.156zm47.47 0c21.134 15.798 35.742 39.864 38.938 67.28l38.937-67.28H316.25zm-58.5 109.28c-23.044 0-44.42 6.85-62.25 18.626.005.006-.005.025 0 .03 14.546 18.33 37.014 30.095 62.22 30.095 25.257 0 47.766-11.823 62.31-30.22-17.92-11.708-39.308-18.53-62.28-18.53zm-77.094 30.345c-22.37 20.864-36.312 50.707-36.312 83.81 0 62.974 50.43 113.408 113.406 113.408 62.975 0 114.156-50.434 114.156-113.407 0-33.095-14.16-62.915-36.72-83.78l-69.06 119.72-8.5 13.967-7.813-13.968-69.157-119.75zm38 28.936l38.97 67.344 38.905-67.22c-11.92 5.183-25.052 8.064-38.81 8.064-13.87 0-27.07-2.93-39.064-8.188z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleBeak;

impl IconShape for TripleBeak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M321.457 34.094c-.202 1.93-.294 3.07-.54 5.27-1.51 13.56-3.863 31.932-7.25 51.327-3.385 19.396-7.785 39.79-13.532 57.59-5.747 17.8-12.344 33.076-22.885 42.777-16.16 14.868-43.368 21.36-64.744 18.402-11.006-1.524-21.233-7.727-31.85-15.81-10.6-8.07-21.425-18.31-31.947-29.058-21.74-21.757-26.344-49.552-17.33-72.705 7.058-18.135 21.882-33.398 41.475-42.82-10.92-5.51-23.25-7.14-34.812-4.608-2.986.653-5.33 1.175-7.387 1.944h-.004c-7.268 2.716-14.464 7.406-20.216 13.364v.002c-7.268 7.525-9.54 17.93-13.657 30.626-3.567 11-7.106 21.985-10.583 32.97 12.12 5.532 21.053 16.466 26.004 29.443 5.817 15.243 6.63 33.637 1.66 52.19-4.972 18.554-14.873 34.078-27.532 44.37-10.683 8.688-23.754 13.685-36.9 12.534-1.922 10.102-3.64 20.247-5.115 30.446 1.797-.812 2.85-1.32 4.91-2.23C61.803 284.55 79 277.276 97.59 270.42c18.59-6.855 38.542-13.3 56.892-17.193 18.35-3.895 34.933-5.744 48.622-1.072 22.058 7.527 40.21 25.817 47.777 47.77 7.098 20.583 1.257 48.603-6.884 77.74-7.98 29.74-29.922 47.663-54.625 51.516-19.37 3.02-40.172-2.124-58.214-14.4 1.436 22.502 17.423 42.414 40.602 48.193 10.465 2.61 20.08-.14 32.892-2.872 12.215-2.603 24.41-5.24 36.57-7.95-.75-12.738 4.2-25.34 12.622-35.694 10.294-12.658 25.816-22.56 44.37-27.53 9.276-2.486 18.513-3.524 27.337-3.215 8.822.31 17.232 1.967 24.854 4.875 12.164 4.64 22.525 12.788 28.332 23.77 9.207-3.25 18.354-6.672 27.428-10.305-11.19-8.05-26.56-19.445-45.18-35.028-15.1-12.636-30.535-26.655-43.01-40.566-12.477-13.91-22.33-27.322-25.228-41.43-4.525-22.025 1.693-49.892 15.942-66.657 14.1-16.588 41.71-25.365 70.996-32.88 29.747-7.96 56.285 2.045 72.045 21.484 12.35 15.235 18.354 35.8 16.774 57.556 18.63-12.516 27.63-36.35 21.035-59.342-2.96-10.32-10.267-17.337-19.06-27.09-7.82-8.676-15.65-17.308-23.517-25.88-9.88 5.055-21.557 6.38-33.084 4.53-16.11-2.585-32.447-11.08-46.028-24.66-13.583-13.583-22.076-29.92-24.66-46.03-1.815-11.31-.576-22.767 4.245-32.525-8.488-7.334-17.135-14.492-25.98-21.44zm-64.06 15.254c-15.734-.033-31.723 1.863-39.09 4.447l-23.35 6.85c-23.017 6.146-39.594 21.177-46.152 38.025s-4.172 35.405 13.148 52.725l.035.035.035.035c6.1 6.23 12.253 12.203 18.23 17.54 13.744-14.476 31.505-25.465 52.153-30.997 9.798-2.625 19.647-3.862 29.338-3.832 1.385.004 2.765.034 4.143.09 6.196.25 12.312 1.028 18.297 2.28 4.474-15.147 8.16-32.44 11.064-49.07 2.052-11.755 3.68-23.032 5.006-33.19-11.63-2.683-23.57-4.313-35.693-4.79-2.38-.094-4.768-.143-7.162-.148zm132.744.34c-.678-.013-1.347-.01-2.007.01-7.927.23-14.553 2.874-19.37 7.69-6.42 6.422-8.982 16.06-7.113 27.712 1.87 11.65 8.422 24.773 19.42 35.77 10.998 10.998 24.12 17.55 35.772 19.42 11.65 1.87 21.288-.688 27.71-7.11 6.422-6.422 8.98-16.06 7.112-27.71-1.87-11.652-8.422-24.774-19.42-35.773-10.997-10.997-24.12-17.55-35.77-19.42-2.184-.35-4.298-.545-6.333-.588zM68.003 138.194c-6.837.09-13.97 2.95-20.836 8.534-9.155 7.444-17.242 19.68-21.268 34.703-4.025 15.022-3.14 29.664 1.067 40.69 4.206 11.024 11.24 18.092 20.014 20.442 8.77 2.35 18.398-.252 27.553-7.697 9.155-7.444 17.244-19.68 21.27-34.703 4.025-15.022 3.137-29.665-1.07-40.69-4.205-11.024-11.24-18.092-20.012-20.443-2.192-.588-4.44-.866-6.718-.837zm333.08 65.07c-5.147-.017-10.673.715-16.58 2.298l-.05.014-.048.012c-5.716 1.466-11.34 3.1-16.75 4.84.762 2.26 1.478 4.545 2.104 6.88 10.7 39.936-1.672 80.723-28.9 108.15 9.796 9.9 21.02 19.937 32.126 29.23 8.934 7.478 17.667 14.36 25.645 20.47 20.92-22.504 36.25-49.74 44.626-79.336l-.092.028 2.3-8.543c2.337-9.975 3.89-20.185 4.614-30.543-.612-14.058-5.318-26.69-12.875-36.01-8.65-10.67-20.68-17.443-36.12-17.49zm-248.61 69.596c-15.433 3.68-32.404 9.203-48.413 15.107-11.587 4.272-22.527 8.695-32.244 12.787 9.408 30.286 25.63 56.702 46.516 78.004l.14-.565 11.378 11.4c5.23 4.527 10.696 8.755 16.36 12.688 13.242 7.643 27.594 10.407 40.28 8.43 18.072-2.82 33.122-14.282 39.453-37.91l.014-.048.014-.047c1.758-6.287 3.274-12.543 4.544-18.61-36.54-10.552-66.868-39.41-77.407-78.74-.222-.83-.43-1.663-.634-2.496zm169.805 131.533c-6.155.014-12.655.834-19.228 2.595-15.024 4.026-27.26 12.113-34.704 21.268-7.445 9.155-10.048 18.78-7.698 27.555 2.35 8.773 9.42 15.808 20.444 20.014 11.024 4.207 25.665 5.094 40.69 1.07 15.022-4.027 27.258-12.114 34.702-21.27 7.445-9.154 10.048-18.78 7.698-27.554-2.35-8.772-9.42-15.807-20.444-20.013-5.512-2.104-11.927-3.377-18.843-3.62-.865-.032-1.738-.046-2.618-.044z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleClaws;

impl IconShape for TripleClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M280.762 21.63c-15.912-.117-32 1.523-47.983 5.08-42.948 9.563-58.997 38.668-57.135 66.495 9.325.534 19.01 1.876 28.914 3.988 28.983 6.18 59.948 19.074 89.05 38.418 100.28-25.29 162.228 51.005 184.7 152.18 49.7-147.744-67.984-265.215-197.548-266.16zm-112.535 90.128c-16.8-.114-31.245 2.938-41.717 8.74l-.04-.074c-14.14 7.645-23.816 19.428-29.15 32.687 14.63 4.844 28.782 13.83 41.955 25.466 17.72 15.652 33.85 36.317 47.06 59.662 116.927 2.378 161.504 103.39 150.673 215.26 79.5-106.87 42.174-229.74-43.856-295.404-29.984-21.936-62.82-36.296-92.492-42.623-11.425-2.436-22.354-3.644-32.433-3.712zM75.29 167.963C21.077 166.605-10.09 248.77 47.966 276.21c104.435 49.363 94.912 140.96 34.844 222.71 115.134-47.87 134.337-172.24 81.997-260.066l.152-.01c-11.28-18.202-24.378-34.178-38.056-46.26-14.62-12.914-29.74-21.183-43.76-23.836-2.664-.454-5.287-.72-7.855-.785z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleCorn;

impl IconShape for TripleCorn {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.264 25.742c-8.315 14.136-16.582 27.34-26.84 38.324 5.71 12.268 7.027 27.05 3.213 42.352-3.693 14.814-12.696 30.46-27.72 40.926-9.218 6.42-20.75 10.58-33.995 11.13.044.04.085.082.13.124 27.867 26.39 78.488 49.25 114.93 47.94 10.39-19.972 13.76-42.98 12.362-66.872-2.45-41.87-20.68-85.56-42.08-113.924zm23.715 1.39c19.65 30.596 34.643 70.916 37.014 111.442 2.66 45.48-11.685 92.05-54.666 120.992 1.223 9.13 3.522 17.57 6.735 25.375 22.875-34.893 65.888-63.474 104.382-74.92 10.695-3.18 21.206-5.136 31.012-5.108 9.806.028 18.907 2.04 26.785 6.795 7.878 4.756 13.97 12.58 16.83 22.35 2.86 9.768 2.826 21.298.065 34.884l-18.31-3.72c2.346-11.547 2.02-20.088.316-25.915-1.706-5.828-4.452-9.124-8.557-11.602-4.036-2.437-9.938-3.76-17.11-3.822-12.096 13.07-15.27 25.72-14.275 37.42 1.096 12.875 7.967 24.907 15.946 32.612 11.34 10.95 23.726 14.673 34.97 13.002 11.246-1.67 21.882-8.785 29.368-22.53 24.563-45.1 19.074-91.64-6.992-133.954-9.293 6.84-21.606 8.167-33.426 5.63-13.45-2.89-27.08-10.564-38.736-22.22-11.656-11.656-19.33-25.287-22.22-38.736-2.23-10.387-1.46-21.146 3.396-29.91-27.773-16.384-59.202-29.51-92.527-38.063zM180.97 50.94c-.945-.023-1.906-.02-2.884.003-48.596 1.21-84.842 26.387-108.606 66.162 9.294 5.014 15.783 14.355 19.21 24.977 4.223 13.09 4.393 28.734.126 44.656-4.266 15.922-12.234 29.386-22.437 38.612-8.232 7.442-18.453 12.268-28.944 12.023-1.164 34.632 3.09 71.276 13.115 107.172 16.673-32.315 44.095-65.456 78.005-87.772 24.683-16.244 53.345-26.528 83.142-25.54 15.342.508 30.984 4.02 46.54 11.228 7.486-5.286 13.874-11.147 19.288-17.477-41.196-2.897-86.57-25.595-115.322-52.822-16.203-15.344-27.795-32.496-27.435-50.896.18-9.2 3.91-18.39 10.94-25.75 7.03-7.36 17.03-13.097 30.18-17.498l5.93 17.716c-11.174 3.742-18.407 8.295-22.6 12.686-4.195 4.39-5.677 8.417-5.77 13.21-.093 4.715 1.712 10.487 5.245 16.73 17.366 3.942 29.907.365 39.543-6.348 10.602-7.386 17.59-19.352 20.272-30.116 3.813-15.296.843-27.886-6.227-36.79-6.627-8.345-17.13-13.834-31.31-14.167zm227.643 15.744c-5.964-.177-10.498 1.516-13.52 4.537-4.027 4.028-5.695 10.745-3.716 19.96 1.978 9.212 7.814 20.1 17.162 29.448 9.347 9.35 20.235 15.186 29.448 17.165 9.214 1.978 15.93.31 19.96-3.72 4.027-4.027 5.695-10.742 3.716-19.956-1.978-9.214-7.816-20.102-17.164-29.45-9.348-9.348-20.236-15.186-29.45-17.164-2.303-.495-4.45-.762-6.437-.82zM54.503 131.93c-.37-.01-.744-.008-1.12.01-4.52.212-9.57 2.474-14.813 7.214-6.99 6.32-13.5 16.82-16.922 29.59-3.42 12.77-3.032 25.116-.138 34.084 2.893 8.968 7.695 13.952 13.197 15.426 5.503 1.474 12.153-.44 19.143-6.76 6.99-6.32 13.5-16.818 16.92-29.588 3.423-12.77 3.035-25.117.142-34.086-2.893-8.968-7.697-13.95-13.2-15.425-1.03-.277-2.103-.434-3.21-.465zm328.444 95.95c-.06.016-.116.03-.176.048-36.98 10.996-82.37 43.684-99.25 76.066 12.05 17.176 29.274 30.43 49.257 40.46 37.487 18.813 84.438 24.873 119.702 20.523-7.524-13.278-14.367-26.116-18.814-39.416-12.88-1.562-25.655-7.736-36.498-18.206-10.983-10.606-20.03-26.224-21.582-44.47-.952-11.192 1.214-23.258 7.36-35.005zm-180.842 21.827c-22.198 1.154-43.527 9.677-63.28 22.676-35.058 23.072-63.795 60.737-77.65 93.467 14.808.116 29 .546 42.376 3.12 7.655-12.19 20.408-21.6 36.593-26.24 14.675-4.21 32.724-4.237 49.3 3.54 10.17 4.773 19.536 12.68 26.635 23.878.014-.06.03-.114.045-.173 8.617-36.06 3.77-88.86-14.018-120.268zm21.67 1.28c16.844 36.825 19.482 85.828 10.52 123.33-5.187 21.703-14.244 40.32-30.36 49.208-8.057 4.445-17.88 5.81-27.77 3.403-9.89-2.408-19.857-8.202-30.243-17.387l12.377-13.995c8.826 7.806 16.387 11.794 22.286 13.23 5.9 1.437 10.128.707 14.326-1.61 4.13-2.276 8.227-6.726 11.867-12.907-5.27-17.01-14.64-26.083-25.272-31.072-11.697-5.49-25.552-5.555-36.215-2.497-15.153 4.346-24.57 13.21-28.746 23.785-4.175 10.574-3.33 23.34 4.83 36.697 28.356 46.408 74.964 64.432 128.37 60.46-.31-.856-.59-1.726-.83-2.62-3.496-13.046 1.72-26.303 10.946-36.506 9.226-10.203 22.69-18.17 38.612-22.438 7.96-2.133 15.853-3.158 23.39-3.12 7.538.036 14.72 1.136 21.266 3.247 11.163 3.6 20.895 10.593 25.692 20.66 24.98-15.106 48.997-33.986 70.59-56.04-36.322 1.72-78.734-5.455-115.016-23.665-39.46-19.804-71.826-53.956-77.04-103.1-7.917-3.42-15.786-5.725-23.58-7.064zm98.002 184.69c-5.804-.032-12.08.725-18.466 2.436-12.77 3.422-23.27 9.932-29.59 16.922s-8.233 13.64-6.76 19.143c1.475 5.502 6.458 10.304 15.427 13.197 8.968 2.893 21.316 3.283 34.086-.14 12.77-3.42 23.267-9.93 29.588-16.92 6.32-6.99 8.235-13.64 6.76-19.143-1.474-5.503-6.457-10.306-15.425-13.2-4.485-1.446-9.814-2.265-15.618-2.296z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleLock;

impl IconShape for TripleLock {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M205.5 22.46c-61.276.074-108.74 30.975-141.547 69.665-17.357 21.62-31.42 48.005-40.875 79.04l126.236 33.823-2.418 9.024c-4.61 17.21-1.716 30.275 4.954 40.35 6.67 10.074 17.62 17.196 29.87 20.27 12.247 3.072 25.55 2.006 36.512-3.54 7.643-3.866 14.295-9.773 19.098-18.477-9.31-13.04-13.174-27.55-12.412-41.334.956-17.288 8.75-33.3 20.426-45.356 11.676-12.056 27.436-20.32 44.767-21.383 14.838-.908 30.607 3.823 44.77 15.114l8.034-8.035c-15.862-20.453-34.494-37.005-54.187-49.4-26.933-16.854-52.138-19.52-73.422-9.89-1.975.894-3.926 1.904-5.85 3.025.987.835 1.953 1.705 2.883 2.635 18.255 18.255 18.256 48.136 0 66.393-14.328 14.327-35.815 17.405-53.225 9.242l-71.375-19.127 2.418-9.02C106.016 86.293 152.1 57.25 203.084 56.84c3.4-.028 6.82.072 10.256.3 50.24 3.315 104.02 31.904 142.892 81.16l27.995-27.993c-12.52-16.068-26.082-29.883-40.356-41.56-49.615-39.21-98.123-46.334-138.37-46.286zM427.69 93.27l-92.41 92.41-6.608-6.606c-12.6-12.6-25.358-16.62-37.418-15.883-12.06.738-23.703 6.66-32.488 15.732-8.786 9.07-14.515 21.123-15.194 33.39-.547 9.894 1.928 20.006 9.12 29.768 16.166-1.687 30.865 2.235 42.552 9.873 14.495 9.473 24.466 24.23 29.068 40.37 4.603 16.14 3.88 33.92-3.865 49.46-6.63 13.304-18.614 24.595-35.474 31.213l1.806 6.744c24.85-3.646 47.784-11.384 67.814-21.953 28.048-14.897 42.954-35.387 45.256-58.63.213-2.156.314-4.35.304-6.58-1.216.438-2.453.84-3.722 1.18-24.937 6.683-50.816-8.256-57.498-33.195-5.245-19.573 2.834-39.723 18.61-50.718l52.25-52.246 6.604 6.605c46.213 46.213 45.53 105.066 14.91 150.848-27.682 41.387-78.487 73.422-139.658 82.87l10.248 38.246c90.136-13.23 151.69-66.77 175.885-132.922 24.066-65.8 11.283-144.29-50.094-209.976zm-248.55 9.603c-7.21 0-14.424 2.78-19.98 8.337-11.114 11.114-11.112 28.847 0 39.96 11.114 11.113 28.85 11.11 39.96 0 11.115-11.115 11.113-28.848 0-39.96-5.556-5.557-12.768-8.336-19.98-8.336zM63.927 201.45c-36.107 86.415-20.79 168.475 25.242 223.51 44.95 53.74 119.32 81.915 206.893 61.604l-23.177-86.5c-.354.027-.704.065-1.06.09l-.39-5.504-9.197-34.32 9.024-2.418c17.21-4.612 27.077-13.65 32.467-24.465 5.39-10.813 6.082-23.858 2.62-36.002-3.464-12.144-11.038-23.132-21.324-29.853-8.428-5.508-18.61-8.425-30.923-6.914-6.674 12.36-16.37 21.49-27.432 27.086-15.45 7.816-33.217 9.072-49.496 4.988-16.28-4.084-31.315-13.6-40.9-28.078-8.207-12.395-11.992-28.417-9.293-46.328l-6.623-1.774c-10.547 24.858-15.907 50.268-16.828 74.426-1.124 31.74 9.168 54.897 28.146 68.512 1.76 1.263 3.61 2.45 5.545 3.554.23-1.272.5-2.544.84-3.814 5.664-21.138 25.12-35.095 46.106-34.787.677.01 1.355.034 2.035.074 3.11.182 6.24.68 9.36 1.516 19.57 5.244 32.98 22.314 34.616 41.474L249.3 438.9l-9.025 2.418c-63.128 16.915-113.755-13.102-138.093-62.51-22.604-45.89-24.443-107.98-.03-167.115L63.926 201.45zm319.95 18.685c-.41.007-.82.025-1.23.05-1.882.118-3.782.424-5.68.932-15.18 4.068-24.047 19.428-19.98 34.608 4.068 15.18 19.428 24.047 34.608 19.98 15.18-4.068 24.048-19.428 19.98-34.607-3.448-12.87-15.01-21.2-27.7-20.963zM183.812 343.123c-12.69-.237-24.25 8.096-27.698 20.963-4.068 15.182 4.8 30.54 19.98 34.607 15.18 4.068 30.54-4.8 34.606-19.98 4.07-15.182-4.8-30.538-19.98-34.606-1.897-.508-3.796-.816-5.677-.933-.41-.026-.82-.043-1.23-.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleNeedle;

impl IconShape for TripleNeedle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M225 36.594c-5.34.077-10.522 2.24-14.375 5.187-5.872 4.493-10.23 10.723-13.406 17.5-3.178 6.78-5.173 14.08-4.907 21.44.265 7.358 3.762 15.907 11.687 19.655l8.156 3.844L216 96.093l6.97-14.72 11 5.22-5.22 11.062-3.844 8.156 8.156 3.844 132.625 62.75 8.157 3.844 3.844-8.156 6-12.688 105.437 41.125-99.25-54.218 6-12.656 3.844-8.125-8.158-3.874-132.625-62.72-7.562-2.123-4.438 6.406-5.25 11.06-11-5.218 6.938-14.687 3.875-8.156-8.156-3.845c-1.986-.94-4.02-1.48-6.063-1.688-.765-.078-1.517-.104-2.28-.093zm-145.438 83c-.527.017-1.066.058-1.593.094-6.326.424-12.655 2.19-18.657 4.718-8.003 3.37-15.4 8.145-20.782 14.563-5.38 6.416-8.79 15.966-5.06 24.905l3.468 8.313 8.312-3.47 19.438-8.093 6.906 16.53-15.03 6.282-8.314 3.47 3.47 8.312 67.155 161.06 3.47 8.314 8.31-3.47L146 354.72l61.125 121.874-45.03-128.563 15.25-6.374 8.31-3.47-3.468-8.31-67.156-161.063-3.468-8.313-8.312 3.47-15.03 6.28-6.907-16.563 19.468-8.125 8.314-3.468-3.47-8.313c-3.74-8.97-12.967-13.383-21.343-14.06-1.57-.13-3.136-.177-4.718-.126zm111.532.187c-.458.003-.92.01-1.375.032-2.432.117-4.82.51-7.095 1.126-9.095 2.462-17.565 7.864-24.844 14.562-7.278 6.698-13.347 14.713-16.593 23.53-3.245 8.82-3.19 19.885 3.97 27.72l6.062 6.656 6.655-6.094L177 169.845l16 17.5-15.03 13.72-6.657 6.092 6.093 6.656 136.625 149.5 6.064 6.657 6.656-6.064 14.125-12.937 115.72 110.06L356 337.19l14.094-12.907 6.656-6.06-6.063-6.658-136.656-149.53-6.06-6.626-6.657 6.063-15 13.718-16-17.5 19.125-17.47 6.656-6.062L210 127.5c-5.06-5.536-12.044-7.752-18.906-7.72z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TriplePlier;

impl IconShape for TriplePlier {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.732 22.447c-36.686 14.92-66.09 46.27-77.392 87.354 16.886 9.69 25.848 29.84 20.57 49.536-6.288 23.468-30.41 37.398-53.88 31.11-8.636-2.315-15.974-7.05-21.495-13.274-39.796 9.484-74.095 37.174-90.722 76.29 10.97-5.244 23.145-8.03 35.658-7.91 6.764.064 13.626.976 20.446 2.803 9.307 2.494 17.8 6.534 25.287 11.758 11.77-19.426 32.72-31.77 55.365-32.695.833-.034 1.667-.052 2.504-.055 5.86-.02 11.812.725 17.73 2.31 16.115 4.32 29.318 14.164 38.15 26.942 17.566-5.8 31.458-19.638 37.34-37.168-24.84-15.33-37.902-45.733-29.978-75.308 4.83-18.03 16.576-32.422 31.616-41.113-15.16-19.403-21.392-45.44-14.553-70.963.9-3.356 2.046-6.55 3.355-9.617zm19.834 1.9c-2.187 3.97-3.95 8.132-5.134 12.555-5.806 21.668.474 43.64 14.722 58.836 4.233-1.016 8.584-1.635 13-1.816.833-.034 1.667-.054 2.504-.057 5.86-.02 11.812.725 17.73 2.31 11.55 3.095 21.6 9.035 29.626 16.85 20.286-5.855 37.058-21.882 42.94-43.83 1.068-3.99 1.538-8.085 1.622-12.285-27.947 25.9-71.684 25.523-98.85-1.644-8.847-8.846-14.904-19.615-18.16-30.918zm135.043 41.63c-.364 2.658-.876 5.345-1.602 8.056-6.935 25.883-25.78 45.495-49.06 54.555 8.35 14.903 11.155 32.93 6.404 50.662-7.778 29.027-33.466 48.637-61.998 50.164-3.984 18.863 1.576 38.664 14.896 52.688 8.506-4.263 17.913-6.773 27.637-7.17.832-.034 1.667-.054 2.504-.057 5.86-.02 11.814.725 17.733 2.31 29.93 8.02 49.844 35.082 50.248 64.67 3.177-.31 6.385-.46 9.62-.404 5.625.1 11.32.763 17.016 2.036 22.22 4.97 40.317 18.287 51.91 35.9 5.84-44.56-11.674-88.138-44.334-116.534-8.75 3.746-18.766 4.705-28.672 2.05-23.468-6.288-37.396-30.412-31.107-53.88 5.127-19.137 22.11-31.926 40.927-32.59 10.71-40.516 1.268-81.384-22.12-112.455zM295.56 112.53c-22.043-.39-42.218 14.13-48.197 36.445-7.054 26.325 8.425 53.137 34.75 60.19 26.323 7.054 53.138-8.428 60.192-34.75 7.053-26.326-8.43-53.137-34.752-60.19-3.29-.882-6.59-1.41-9.856-1.612-.714-.044-1.427-.07-2.138-.084zM166.974 246.024c-22.042-.39-42.22 14.134-48.198 36.448-7.053 26.325 8.425 53.135 34.75 60.19 26.323 7.052 53.14-8.428 60.192-34.75 7.052-26.326-8.43-53.14-34.753-60.192-3.29-.88-6.587-1.41-9.854-1.61-.714-.044-1.427-.072-2.138-.085zM62.252 264.227c-12.942-.134-25.322 3.77-35.643 10.85 3.035.736 6.032 1.665 8.976 2.86 8.58 3.476 16.93 8.535 23.885 15.49 25.982 25.98 27.916 67.116 5.405 95.104 25.453-1.025 48.234-17.35 56.395-42.622-18.528-16.51-27.358-42.63-20.567-68.154-6.487-5.132-14.107-9.06-22.625-11.344-5.3-1.42-10.61-2.13-15.826-2.183zm282.04 29.312c-22.04-.39-42.217 14.13-48.196 36.444-7.054 26.326 8.427 53.138 34.752 60.192 26.323 7.053 53.136-8.43 60.19-34.752 7.053-26.325-8.428-53.136-34.75-60.19-3.29-.88-6.59-1.41-9.856-1.61-.715-.045-1.428-.072-2.14-.085zm-99.45.192c-3.59-.08-7.2.19-10.79.778.068 6.023-.654 12.147-2.286 18.238-9.667 36.077-46.997 57.63-83.075 47.963-3.983-1.067-7.778-2.49-11.385-4.192-11.953 30.197-40.82 49.698-72.483 50.716 14.008 11.373 30.652 20.118 49.13 25.07 24.042 6.44 48.37 5.974 70.708-.306-5.585-19.028 2.288-40.1 20.225-50.457 7.233-4.175 15.16-6.064 22.94-5.89 14.857.333 29.185 8.184 37.157 21.993 9.654 16.72 7.072 37.136-4.95 50.916 16.55 19.293 38.774 34.03 65.128 41.09 14.625 3.92 29.43 5.272 43.79 4.268-25.375-18.835-38.995-51.03-32.675-83.775-3.416-.37-6.845-1.004-10.263-1.92-36.08-9.668-57.63-46.996-47.963-83.075 1.45-5.41 3.525-10.493 6.122-15.195-10.722-10.213-24.835-15.896-39.33-16.22zm175.77 66.39c-3.973-.076-7.895.215-11.73.835-7.192 25.736-28.503 43.942-53.288 48.47-.202.772-.4 1.547-.576 2.333-6.29 28.138 6.278 55.694 29.34 70.082-1.518-5.666-2.303-11.58-2.303-17.865 0-39.347 32.17-71.77 71.515-71.772 4.918 0 10.07.718 14.71 1.668 3.487.714 6.885 1.754 10.167 3.012-8.49-17.32-24.162-30.606-44.52-35.158-4.464-.998-8.92-1.522-13.316-1.606zM54.993 398.18c-.04.034-.086.067-.127.1.035.036.072.07.108.105l.02-.205z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleScratches;

impl IconShape for TripleScratches {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.03 21.97c-.71-.003-1.422.01-2.124.03 38.633 74.657 186.967 157.52 307.906 333.03-38.488-159.928-215.34-332.78-305.78-333.06zM83.53 65.374c61.253 98.216 249.157 212.75 375.75 378.844C420.49 283.03 173.3 62.907 83.53 65.374zm-67.31 81.313c59.365 87.324 194.506 155.172 355.03 345.125-38.792-161.19-265.263-347.592-355.03-345.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleShells;

impl IconShape for TripleShells {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M227.633 20.328c-10.48-.04-21.12 1.29-31.688 4.123h-.002c-31.914 8.552-51.563 42.214-42.76 75.07 7.786 29.072 35.064 47.54 64.186 45.28l-16.036-59.85 18.053-4.835L266.88 257.37c60.085-21.015 94.65-84.542 78.015-146.626-14.18-52.898-61.126-88.197-112.782-90.316-1.49-.06-2.983-.094-4.48-.1zM161.853 145.5c-31.67 22.004-55.83 54.075-67.814 91.56 7.204-2.67 14.587-4.73 22.07-6.18 12.703-31.046 34.975-57.13 63.17-74.597-6.24-2.844-12.102-6.462-17.428-10.783zm205.723 3.05c-.34 7.29-1.253 14.49-2.703 21.548 29.917 25.352 50.256 61.635 54.906 102.734 3.466-.62 6.988-1.018 10.548-1.168.985-.04 1.972-.066 2.96-.07 1.718-.008 3.442.04 5.17.146-5.44-50.412-32.113-94.52-70.882-123.19zM143.42 246.866c-31.274-.09-62.505 11.78-86.338 35.612-47.66 47.663-47.407 124.984-.256 172.138 23.365 23.365 62.335 23.554 86.39-.504h.003c21.285-21.278 23.636-54.134 7.114-78.223l-43.81 43.81-13.215-13.215 129.76-129.76c-22.944-19.75-51.284-29.776-79.65-29.857zm289.875 43.39c-.76.003-1.518.02-2.274.05-22.475.902-42.963 14.243-52.897 35.006l59.832 16.032-4.838 18.053-177.254-47.497c-11.845 62.544 25.89 124.244 87.975 140.88 65.11 17.445 131.95-21.434 149.21-85.848 8.55-31.915-10.773-65.76-43.63-74.563-5.39-1.444-10.804-2.126-16.123-2.11zM178.47 424.96c-1.11 6.284-2.954 12.46-5.57 18.374 26.31 15.528 56.965 24.453 89.682 24.453 17.26 0 33.942-2.492 49.72-7.115-7.912-3.98-15.33-8.668-22.21-13.953-8.933 1.56-18.124 2.378-27.51 2.378-30.93 0-59.756-8.847-84.11-24.14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleSkulls;

impl IconShape for TripleSkulls {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M263.072 20.533c-2.074.012-4.16.074-6.26.188h-.003c-67.146 3.63-118.2 58.187-114.83 120.41 1.86 34.32 19.7 63.35 46.885 82.837l3.643 2.61 1.924 35.507c12.117 1.775 24.226 3.197 36.37 4.03l-1.23-37.126 18.678-.617 1.277 38.55c13.15.215 26.368-.35 39.71-1.936l-1.34-40.384 18.68-.62 1.263 38.122c11.866-2.278 23.85-5.44 35.986-9.65l-1.84-33.948 3.342-2.99c24.92-22.298 39.52-53.084 37.66-87.41-3.164-58.41-52.277-104.87-113.73-107.46-2.05-.086-4.11-.123-6.186-.11zm62.053 72.48c25.69-.373 46.49 20.283 29.225 75.56-11.796-2.273-23.18-4.924-33.793-8.274 3.6-3.322 5.87-8.062 5.87-13.345 0-10.036-8.14-18.174-18.175-18.174-10.024 0-18.15 8.12-18.17 18.14-7.77-4.8-14.545-10.504-20.014-17.4 9.128-21.45 33.77-36.197 55.057-36.506zm-130.14 1.008c21.53-.316 46.466 15.367 54.644 38.054-6.82 7.668-15.19 14.077-24.745 19.37.366-1.438.582-2.936.582-4.49 0-10.035-8.138-18.173-18.174-18.173s-18.172 8.14-18.172 18.175c0 6.68 3.616 12.503 8.987 15.66-10.595 3.258-21.962 5.637-33.816 7.237-13.72-54.558 6.3-75.47 30.696-75.83zm65.374 54.494l25.986 54.847-48.246 3.818 22.26-58.664zM82.99 264.402c-7.557 1.847-15.03 4.79-22.18 8.918-38.546 22.253-51.643 69.205-31.083 104.815 11.315 19.6 30.36 31.315 52.22 34.685l4.428.684 28.744 49.787c7.431-1.01 14.477-2.418 21.15-4.235l-22.48-36.96 15.966-9.714 24.54 40.35c6.697-2.948 12.922-6.444 18.683-10.517l-24.722-40.358 15.937-9.76 23.14 37.778c4.215-4.384 8.098-9.207 11.645-14.494l-28.962-50.167 1.623-4.176c8.012-20.617 7.388-42.967-3.927-62.566-7.252-12.56-17.92-22.16-30.383-28.345l15.893 42.38h-16.97l19.683 49.395-64.745-56.57 20.117-1.885-28.317-39.043zm261.885 7.41c-12.272 3.988-24.406 6.998-36.41 9.163l1.11 33.47c12.3-2.818 24.617-6.73 36.972-11.78l-1.672-30.854zm-149.412 9.317l1.603 29.602c11.85 3.368 23.663 5.82 35.455 7.354l-1.098-33.223c-12.1-.766-24.083-2.073-35.96-3.734zm94.392 2.563c-13.39 1.512-26.62 2.07-39.71 1.897l1.13 34.142c13.244.6 26.474 0 39.713-1.855l-1.133-34.184zm119.875 17.15c-13.128.023-26.228 3.31-38.095 10.16-20.947 12.095-33.472 32.46-37.07 55.8l-.682 4.427-53.29 30.768c.46 7.155 1.55 14.03 3.235 20.652l41.936-22.78 8.922 16.42-44.582 24.218c3.254 7.152 7.31 13.992 12.16 20.55l44.38-24.287 8.97 16.396L314.7 475.56c5.404 5.502 11.423 10.807 18.066 15.93l52.91-30.55 4.178 1.624c22.01 8.553 45.91 7.89 66.86-4.205 32.478-18.752 46.663-58.246 35.352-94.995L462.32 404.84l-6.8-23.34-33.137 11.068 25.38-42.23 16.247 15.918 6.93-38.81c-16.556-17.277-38.92-26.645-61.21-26.604zm-20.447 34.452c7.387-.176 14.794 2.825 20.01 8.848 9.272 10.706 8.107 26.9-2.598 36.17-10.704 9.272-26.897 8.11-36.17-2.596-9.272-10.707-8.108-26.9 2.596-36.17 4.684-4.056 10.418-6.115 16.163-6.252zm-292.64 3.387c-1.68 16.062-10.07 31.15-33.51 40.588L50.86 344.816l45.783-6.134zm12.87 7.978l34.72 25.37-29.096 15.84-5.625-41.21zm290.723 52.15l-29.455 32.85-16.134-31.223 45.59-1.626zm30.618 5.823c7.387-.176 14.792 2.827 20.007 8.85 9.274 10.706 8.11 26.9-2.594 36.17-10.705 9.27-26.898 8.108-36.17-2.598-9.273-10.707-8.11-26.9 2.595-36.17 4.685-4.056 10.418-6.115 16.164-6.252z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TripleYin;

impl IconShape for TripleYin {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.75 20.47c-1.01.016-2.025.056-3.03.093-69.79 2.51-132.772 49.368-151.782 120.312-11.035 41.196 13.555 83.82 54.718 94.875v-.03c41.166 11.03 82.972-13.647 93.97-54.69 7.923-29.58 22.853-50.832 43.624-62.155 20.77-11.323 46.34-12.32 74.125-4.875 10.463 2.807 19.977 7.03 28.563 12.656 4.368-2.276 8.902-4.23 13.593-5.843-8.625-20.886-21.314-39.854-37.75-55.407h-.03c-.064-.06-.123-.127-.187-.187-19.01-17.94-42.747-31.768-69.907-39.064-15.35-4.116-30.768-5.953-45.906-5.687zm-79.03 82.968c14.598 0 29.2 5.545 40.28 16.624 22.174 22.175 22.128 58.403-.03 80.563l-2.72 2.72h-.312c-22.33 19.338-56.345 18.467-77.532-2.72-22.174-22.174-22.16-58.403 0-80.563 11.088-11.087 25.713-16.626 40.313-16.624zm0 18.562c-9.78-.002-19.58 3.734-27.095 11.25-15.018 15.018-15.03 39.126 0 54.156 15.017 15.017 39.125 15.032 54.156 0 15.02-15.018 15.032-39.126 0-54.156-7.507-7.51-17.282-11.248-27.06-11.25zm143.343 7.063c-6.51 1.185-12.476 3.275-17.875 6.218-4.417 2.41-8.533 5.413-12.344 9.095 23.014.048 46.003 6.876 65.78 20.438 3.012-5.502 6.63-10.758 10.845-15.688-14.3-9.747-30.08-16.438-46.408-20.063zm119.718 5.343c-20.048.004-40.084 7.522-55.124 22.563-30.058 30.057-28.79 78.89 1.313 108.968 21.676 21.66 32.627 45.335 32.03 69.062-.598 23.727-12.554 46.43-32.906 66.78-9.87 9.872-21.2 16.368-32.875 20.845-.54 3.58-1.38 7.053-2.314 10.5 50.44 9.057 103.957-5.7 143.28-45 63.97-63.943 65.66-167.276 1.752-231.156-15.054-15.054-35.108-22.568-55.157-22.564zm-1.06 21.406c14.598.002 29.2 5.546 40.28 16.625 22.174 22.175 22.16 58.403 0 80.563-22.175 22.175-58.403 22.16-80.563 0-22.174-22.174-22.16-58.403 0-80.563 11.088-11.087 25.682-16.627 40.282-16.625zm0 18.563c-9.78-.002-19.548 3.766-27.064 11.28-15.017 15.02-15.03 39.096 0 54.126 15.017 15.018 39.094 15.033 54.125 0 15.02-15.017 15.032-39.093 0-54.124-7.507-7.508-17.282-11.28-27.06-11.28zm-147.25 15.03c-9.023 0-18.045 1.715-26.564 5.095-8.21 22.123-24.016 39.79-43.625 50.625-5.44 23.398.967 48.965 19.25 67.25.788.786 1.595 1.54 2.407 2.28 21.96-3.455 43.857.823 62.375 11.158l.768.316 7.326 3.932c10.58-3.39 20.552-9.27 28.97-17.687 12.41-12.41 19.362-28.18 20.843-44.344-12.14-16.447-18.558-35.98-19.033-55.592-.596-.64-1.188-1.283-1.812-1.907-14.092-14.09-32.493-21.124-50.906-21.124zM53.687 225.72C23.988 264.33 12.275 315.815 26 367.03c23.394 87.365 112.104 140.292 199.375 116.908.01-.003.02.003.03 0 41.136-11.06 66.126-54.206 55.126-95.313-4.106-15.327-12.586-28.302-23.718-37.875l-.218-.188c-18.772-16.008-45.2-22.64-70.907-15.75-29.576 7.933-55.557 5.666-75.843-6.625-20.287-12.29-34.017-33.912-41.47-61.718-2.738-10.267-3.397-20.456-2.843-30.158-4.223-3.207-8.168-6.725-11.843-10.593zm48.812 28.968c-.834 16.705 1.403 33.528 6.75 49.562 3.198 3.094 6.623 5.752 10.28 7.97 4.855 2.94 10.193 5.192 16.064 6.655-10.79-19.11-15.778-40.6-14.97-61.906-6.004-.174-12.06-.912-18.124-2.283zm240.78 57.093c-5.586 11.71-13.23 22.702-22.936 32.408-8.71 8.71-18.445 15.763-28.813 21.156 2.835 5.592 5.155 11.534 6.876 17.78 12.796-6.32 24.79-14.79 35.438-25.437 4.585-4.585 8.772-9.418 12.562-14.468.522-2.908.834-5.802.906-8.69.19-7.465-1.076-15.045-4.03-22.75zm-140 39.908c14.6.002 29.203 5.545 40.282 16.625 22.175 22.174 22.16 58.402 0 80.562-22.174 22.175-58.403 22.16-80.562 0-22.174-22.174-22.16-58.403 0-80.563 11.087-11.087 25.682-16.627 40.28-16.625zm0 18.562c-9.778-.002-19.546 3.766-27.06 11.28-15.02 15.02-15.032 39.096 0 54.126 15.016 15.017 39.092 15.032 54.124 0 15.017-15.018 15.03-39.094 0-54.125-7.51-7.507-17.283-11.278-27.063-11.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tripwire;

impl IconShape for Tripwire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M286.744 21.547c-1.633 2.298-3.288 4.572-4.957 6.834 38.034 51.844 103.708 76.224 173.178 82.474 13.11-6.39 26.162-11.963 38.918-16.58V21.548h-207.14zm-25.69 9.433c-20.84 10.833-38.307 23.567-49.007 49.176 37.385 66.692 112.608 102.866 172.61 104.35 11.825-3.2 24.977-13.167 36.33-26.04 8.29-9.4 15.563-20.152 21.21-30.155-72.312-8.52-141.943-36.982-181.142-97.33zM19.11 97.184v29.4l151.57 99.748c57.505 36.702 117.367 36.728 154.74 23.232l1.676-.605 167.115 5.02v-25.013l-166.4-4.385c-54.14 21.71-111.908 5.425-158.16-26.836L19.11 97.184zm190.066 13.027c-18.214 18.024-37.106 35.752-56.135 53.97l27.226 18.185.076.053c43.277 30.187 94.89 44.057 142.3 24.16l.633-.266c3.48-3.647 7.04-7.246 10.682-10.787-46.328-12.848-92.928-41.553-124.78-85.314zm-100.48 97.702c-22.804 23.482-45.208 48.607-66.282 76.8 18.363 26.406 33.822 47.598 58.59 72.91l40.01-13.55 2.683 9.448c16.595 58.413 65.496 102.963 124.803 125.224 34.063 12.786 71.337 18.066 107.42 14.545 23.416-6.13 21.926-43.985 3.47-67.608-18.495-19.717-34.926-41.21-49.046-63.996-27.71 1.756-42.737 15.45-62.42 35.37l-13.293-13.134c18.315-18.535 37.307-35.014 65.46-39.748-4.49-8.127-8.69-16.395-12.592-24.785-33.757-9.66-53.897-.522-81.312 13.964l-8.73-16.524c20.48-10.82 40.906-19.966 65.56-19.836.795.004 1.594.017 2.398.04 4.2.125 8.525.523 12.992 1.224-2.924-7.38-5.63-14.837-8.092-22.362-38.586 3.26-84.892-5.22-129.69-33.81l-.054-.035-51.875-34.138z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TritonHead;

impl IconShape for TritonHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256 25c-29 0-59.3 14.86-81.9 35.63-21.9 20.07-36.1 45.57-37 65.27 7.6 15.2 15.2 30.1 21.1 43.6 6.2 14.1 10.8 26.7 10.8 38.5h-18c0-6.6-3.4-18-9.2-31.3-5.9-13.3-13.8-28.6-21.9-44.7-12.3-24.6-23.59-38.24-43.19-50.59 4 25.29 2.8 48.29-4.3 67.69-6.4 17.6-17.9 32-33.7 42 38.5 16.3 71.89 40.5 96.69 75.7l-14.8 10.4c-21.09-30.1-48.89-51.3-81.89-66.4 13.1 24 17.9 46.6 16.3 67.9-1.9 24.2-11.8 46.2-24.8 67.4 57.6 13.5 105.09 23.5 168.69 112 13 18.1 28.4 28.9 57.1 28.9 28.7 0 44.1-10.8 57.1-28.9 63.6-88.5 111.1-98.5 168.7-112-13-21.2-22.9-43.2-24.8-67.4-1.6-21.3 3.2-43.9 16.3-68-33 15.1-60.8 36.3-81.9 66.5l-14.8-10.4c24.8-35.2 58.2-59.4 96.7-75.7-15.9-10-27.4-24.4-33.8-42-7-19.4-8.2-42.4-4.2-67.69-19.6 12.35-30.9 25.99-43.2 50.59-8.1 16.1-16 31.4-21.9 44.7-5.8 13.3-9.2 24.7-9.2 31.3h-18c0-11.8 4.6-24.4 10.8-38.5 5.9-13.5 13.5-28.4 21.1-43.6-.9-19.7-15.1-45.2-37-65.27C315.3 39.86 285 25 256 25zm-72 246c27 0 49 22 49 49s-22 49-49 49-49-22-49-49 22-49 49-49zm144 0c27 0 49 22 49 49s-22 49-49 49-49-22-49-49 22-49 49-49zm-144 18c-17.2 0-31 13.8-31 31 0 8.7 3.5 16.5 9.2 22.1-2-4.3-3.2-9.1-3.2-14.1 0-18.1 14.9-33 33-33 5 0 9.8 1.2 14.1 3.2-5.6-5.7-13.4-9.2-22.1-9.2zm144 0c-17.2 0-31 13.8-31 31 0 8.7 3.5 16.5 9.2 22.1-2-4.3-3.2-9.1-3.2-14.1 0-18.1 14.9-33 33-33 5 0 9.8 1.2 14.1 3.2-5.6-5.7-13.4-9.2-22.1-9.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TronArrow;

impl IconShape for TronArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.844 17.813v20.843l252.062 103.28-18.03 12.814L21.843 58.844v47.5l192 78.344-102.813 73.218-3.968 2.844.032 4.844.156 19.75 223.313 88.562-.094 20.094-223.033-88.47.25 30.47.126 13.188.593-.22v.594l221.875 90.75-.217 45.282L491.5 454.188l-160.625-146.25-.188 44.343-132.312-54.124 91.03-65.72 3.94-2.842-.064-4.875-.092-7.657.218.093-1.156-88.53L21.844 17.81zM273.78 164.97l.75 55.155-96.53 69.72-50.53-20.69L273.78 164.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trophy;

impl IconShape for Trophy {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.156 21.625c-45.605 0-86.876 2.852-117.22 7.563-15.17 2.355-27.554 5.11-36.874 8.53-4.66 1.71-8.568 3.515-11.968 6.094-3.238 2.457-6.65 6.36-6.97 11.75h-.75c0 10.08.362 20.022 1.064 29.813H57.53c-.12-7.952.003-15.922.376-23.875l-26.812-6.28C22.55 161.892 64.1 265.716 140.564 339.655l15.655-29.594c-4.198-3.477-8.25-7.063-12.157-10.75 5.846-6.112 12.293-11.76 19.28-16.843 13.468 13.172 28.182 23.565 43.813 30.655 22.114 17.744 8.053 29.368-23.5 36.25 58.863 10.6 38.948 62.267-14.125 92.313-2.14.27-4.256.523-6.28.812-12.047 1.718-21.876 3.71-29.406 6.25-3.765 1.27-6.958 2.6-9.906 4.656-2.95 2.055-6.626 5.705-6.626 11.406 0 5.702 3.677 9.32 6.626 11.375 2.948 2.055 6.14 3.387 9.906 4.657 7.53 2.54 17.36 4.532 29.406 6.25 24.094 3.436 56.784 5.53 92.906 5.53 36.123 0 68.812-2.094 92.906-5.53 12.048-1.718 21.877-3.71 29.407-6.25 3.764-1.27 6.957-2.602 9.905-4.656 2.948-2.055 6.625-5.674 6.625-11.375 0-5.702-3.677-9.352-6.625-11.407-2.948-2.055-6.14-3.387-9.906-4.656-7.53-2.54-17.36-4.532-29.408-6.25-2.013-.287-4.12-.544-6.25-.813-53.076-30.045-72.99-81.71-14.125-92.312-31.568-6.886-45.63-18.522-23.468-36.28 15.74-7.15 30.547-17.655 44.092-30.97 6.648 4.773 12.84 10.038 18.47 15.72-4.105 4.172-8.338 8.257-12.72 12.217l16.188 29.594c79.118-71.955 116.195-179.53 110.03-285l-27.342 7.97c.45 7.61.64 15.19.562 22.75h-25.594c.702-9.792 1.063-19.735 1.063-29.814h-.75c-.323-5.39-3.763-9.293-7-11.75-3.402-2.58-7.31-4.383-11.97-6.093-9.32-3.422-21.704-6.177-36.875-8.532-30.342-4.71-71.613-7.563-117.22-7.563zm0 18.688c44.822 0 85.426 2.854 114.344 7.343 14.46 2.245 26.06 4.932 33.313 7.594 1.04.382 1.775.75 2.625 1.125-.85.375-1.58.742-2.625 1.125-7.252 2.662-18.854 5.38-33.313 7.625-28.918 4.49-69.522 7.344-114.344 7.344-44.82 0-85.425-2.855-114.344-7.345-14.46-2.245-26.06-4.963-33.312-7.625-1.05-.386-1.77-.748-2.625-1.125.853-.376 1.577-.74 2.625-1.125 7.252-2.662 18.853-5.35 33.313-7.594 28.918-4.49 69.522-7.343 114.343-7.343zm-197.25 71.874H86.25c8.057 57.878 28.23 108.83 56.188 146.25-6.974 5.74-13.407 11.968-19.188 18.688-38.648-46.456-59.042-104.647-64.344-164.938zm367.188 0h27C447.51 171.82 425.336 228.34 388.03 275c-5.44-6.055-11.406-11.73-17.842-16.97 27.81-37.38 47.873-88.175 55.906-145.842z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Trousers;

impl IconShape for Trousers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.375 21.156c-44.557.187-87.24 7.376-118.563 21l-1.78 16.094h25.655v18.688H136l-2.125 19.406h29.813v18.687h-31.875l-38.72 352.876 123.344 24.813 34.157-262.845H236.688v-97.749H220.94V115.03h-38.562V96.345h38.563V76.938h-38.563V58.25h38.563V41.53h90.938v16.72h33.03v18.688h-33.03v19.406h33.03v18.687h-33.03v17.095h-56.499v79.063h27.406v18.687h-11.56l34.25 263.75h.217l129.063-26.28-38.72-352.314h-32.436V96.345H394l-2.156-19.406h-28.25V58.25h26.22l-1.783-16.094c-38.697-14.308-85.098-21.17-129.655-21zm-18.75 39.063v17.468h34.938v18.687h-34.938v17.063h53.563v-53.22h-53.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tumor;

impl IconShape for Tumor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M287.47 17.875c-1.622.018-3.236.07-4.845.125-15.446.536-30.323 2.833-43.938 7.094-26.41 8.265-48.07 23.24-61.437 47.5 11.49 69.086 46.45 120.194 96.156 139.687 50.016 19.615 117.096 8.367 195.438-53.936l3.094-2.438c1.902-7.267 2.57-14.335 2.187-21.22-.42.165-.825.35-1.25.5-12.885 4.56-28 3.187-42.344-4.03-28.69-14.433-46.11-46.83-38.405-75.75 1.136-4.264 2.842-8.19 5-11.75-11.286-5.663-23.338-10.55-35.813-14.468-24.032-7.55-49.537-11.577-73.843-11.313zM140.56 23.938c-20.984.39-41.16 9.736-56.125 24.875C65.48 67.99 54.528 95.85 61.126 126.72c15.332-15.432 35.2-26.62 58.094-31.564l4.75-3.28 35.124-24.407c6.266-12.178 14.29-22.64 23.656-31.44-13.916-8.734-28.277-12.35-42.188-12.093zm294.125 17.718c-3.366.035-6.494.61-9.28 1.594-7.432 2.62-12.817 7.95-15.22 16.97-4.81 18.055 7.733 43.676 28.75 54.25 10.51 5.285 20.31 5.714 27.72 3.093 7.41-2.622 12.78-7.97 15.187-17 4.81-18.057-7.725-43.658-28.72-54.22-5.23-2.63-10.306-4.087-15-4.53-1.172-.11-2.314-.168-3.437-.157zM303.845 55.75c19.023-.023 36.438 11.03 40.344 29.188 4.606 21.422-11.99 41.562-34.657 46.437-22.666 4.875-46.08-6.67-50.686-28.094-4.607-21.42 11.99-41.562 34.656-46.436 2.833-.61 5.68-.953 8.5-1.063.617-.023 1.23-.03 1.844-.03zm1.062 18.656c-.727-.02-1.47-.004-2.22.03-1.708.082-3.45.302-5.248.69-14.388 3.093-22.417 14.58-20.344 24.218 2.072 9.638 14.113 16.844 28.5 13.75 14.387-3.094 22.385-14.612 20.312-24.25-1.7-7.906-10.094-14.154-21-14.438zm-143.594 14.28l-19.625 13.626c24.337 43.933 26.24 90.73 9.97 125.5-16.11 34.423-51.512 56.117-95.876 48.907l-2.874 12.78c38.52 7.824 58.506 28.87 64.313 53.25 5.81 24.394-.47 50.085-7.25 70.844l11.655 12.53c17.256-76.23 69.968-112.334 119.72-107.968 51.093 4.484 96.243 51.53 94.718 128.22l12.656-2c-2.215-64.055 5.032-113.256 24.624-152.688 19.614-39.48 51.56-68.53 95.812-92.782l-1.875-15.875c-76.438 56.238-146.205 68.023-200.686 46.657-53.834-21.11-90.856-73.527-105.28-141zm-35.187 24.033c-30.82 5.572-54.648 24.147-68.188 49.374-14.34 26.72-17.054 60.963-2.343 95.625 39.084 7.96 65.64-8.93 79.156-37.814 13.116-28.028 12.412-68.27-8.625-107.187zM473.28 217.874c-39.428 22.37-66.17 47.877-83.186 82.125-18.283 36.797-25.43 84.51-22.53 150.125 15.19-.46 30.058-4.782 44.155-12.25 23.675-12.543 44.86-34.124 59.717-60.53 26.14-46.46 32.765-106.86 1.844-159.47zm-267.374 8.594c9.153-.055 17.655 2.296 24.594 6.905 9.252 6.146 15.406 16.71 15.406 28.625 0 23.803-20.81 43.78-46.094 48.25-12.634 2.234-24.684.086-33.937-6.063-9.253-6.148-15.375-16.704-15.375-28.625 0-23.84 20.798-43.782 46.063-48.25 3.158-.558 6.292-.825 9.343-.843zm.063 18.686c-1.95.01-4.007.182-6.157.563-17.21 3.042-30.625 17.93-30.625 29.843 0 5.956 2.418 9.997 7.03 13.062 4.613 3.065 11.742 4.74 20.345 3.22 17.188-3.04 30.625-18.01 30.625-29.845 0-5.947-2.42-9.998-7.032-13.063-3.46-2.298-8.338-3.81-14.187-3.78zM40.03 306.094c-6.08 4.882-10.803 11.12-14.31 18.22-7.026 14.21-8.61 32.002-4.44 47.686 4.17 15.684 13.7 29 28.782 36.125 10.39 4.908 23.81 7.032 40.75 4.188 6.894-20.296 12.886-45.628 8.22-65.22-4.718-19.8-18.065-35.643-58.626-40.937l-.343-.062h-.032zM231.595 336.5c-40.026.7-82.537 32.44-94.25 106.406 11.802 19.927 34.678 37.115 62.406 45.22 37.307 10.903 81.57 5.792 117.063-29.532l.156-1.97c6.08-76.347-34.24-116.068-77.25-119.843-2.69-.235-5.405-.328-8.126-.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TunePitch;

impl IconShape for TunePitch {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M228.47 47.906v42.908H19.53V109.5h208.94v21.875H19.53v18.688h208.94V343.03c-16.86-14.274-43.56-23.457-73.626-23.405-50.982.088-92.313 26.714-92.313 59.5s41.332 59.307 92.314 59.22c26.19-.047 49.822-7.113 66.625-18.408h277.467V401.25H240.344c4.22-6.653 6.627-13.906 6.812-21.5.006-.25.03-.5.03-.75h251.75l.002-18.688H247.155V182.25c24.89 40.517 45.422 63.12 64.5 74.656 23.127 13.983 44.285 9.79 60.688 3.28 16.403-6.508 29.112-13.624 42.406-11.655 13.294 1.97 30.884 13.118 55.594 50.595l16.5 25c-11.733-45.096-41.555-105.8-75.72-121.28 27.93-4.62 53.664 11.71 76.376 29.718l-1.53-2.313c-13.05-20.11-24.207-33.715-34.658-42.75-10.45-9.035-20.606-13.596-30.343-14.125-19.477-1.058-32.544 12.03-44.595 18.656-6.025 3.314-11.596 5.395-17.813 5.44-6.216.043-13.607-1.854-23.562-8.47-19.91-13.232-48.717-45.747-89.188-112.5L228.47 47.906z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Turd;

impl IconShape for Turd {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M117.834 17.443c42.376 107.05-62.124 114.634 20.678 210.897-28.655-84.62 51.3-129.568-20.678-210.897zm225.922.688c-2.024-.06-4.103.345-6.365 1.25-5.17 2.064-11.69 7.488-18.13 18.643-6.44 11.155-9.613 22.672-9.77 31.35-.156 8.68 2.39 13.3 5.285 14.973 2.895 1.67 8.17 1.564 15.608-2.91 7.437-4.475 15.823-12.98 22.263-24.135 6.44-11.154 7.88-19.51 7.083-25.023-.8-5.512-3.368-8.892-8.162-11.66-2.397-1.384-4.648-2.21-6.947-2.43-.286-.03-.575-.047-.864-.056zm50.674 45.04c-.41.01-.833.028-1.266.06-5.198.37-11.99 2.385-20.357 7.215-11.156 6.442-19.662 14.83-24.137 22.266-4.475 7.438-4.58 12.713-2.908 15.608 1.67 2.895 6.292 5.44 14.97 5.284 8.68-.157 20.195-3.33 31.35-9.77 11.153-6.44 16.58-12.956 18.645-18.13 2.065-5.172 1.528-9.384-1.24-14.177-2.767-4.793-6.146-7.364-11.657-8.162-1.033-.15-2.167-.22-3.4-.193zm42.797 9.816c-35.587 150.27 34.9 124.747 10.625 263.5 57.687-113.445-1.726-153.902-10.625-263.5zM311.852 101.52c-6.42-.166-12.73 3.096-16.166 9.05-5 8.66-2.034 19.733 6.627 24.733 8.66 5 19.732 2.033 24.732-6.627s2.033-19.733-6.627-24.733c-2.706-1.562-5.648-2.345-8.566-2.422zm-84.47 18.8c-58.445 21.166-65.416 76.894-51.294 117.698 10.148 12.91 56.414 25.582 56.414 25.582s-48.184-7.06-63.832-7.315v-.002l.027-.08c-38.84 4.528-68.547 27.707-68.547 55.518 0 7.123 1.957 13.93 5.51 20.19 11.354 13.146 82.012 29.77 82.012 29.77s-71.235-10.798-88.484-11.4c-45.124 6.186-79.426 35.19-79.426 69.91 0 39.206 43.726 70.87 97.394 70.87h275.508c53.67 0 97.014-31.664 97.014-70.87 0-39.203-43.344-71.147-97.014-71.147h-1.607c12.914-9.91 20.763-22.974 20.763-37.322 0-29.684-33.554-54.095-76.207-56.17 28.615-95.79-135.14-67.4-108.232-135.23zM60.54 148.885c-87.533 77.6 24.97 64.76-4.636 186.05 59.073-112.215-31.264-111.346 4.635-186.05z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Turtle;

impl IconShape for Turtle {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.406 25.03c-13.73 0-44.75 28.13-44.75 62.814 0 31.578 6.432 55.835 16.5 70.937-23.144 3.766-44.237 12.52-61.03 27.314-2.99 2.633-5.824 5.462-8.5 8.47-38.335-36.232-115.217 13.032-137 39.28-19.604 23.618 58.395 26.618 110.718 16.75-1.837 9.754-2.813 20.262-2.813 31.53 0 39.603 11.68 76.216 31.157 104.282-42.685 4.89-61.916 64.204-61.093 90.438.912 29.105 77-17.718 105.5-49.375 8.82 4.862 18.197 8.497 28 10.75 4.822 14.255 10.526 28.394 23.312 41.655 13.732-13.89 18.762-27.77 23.28-41.656 9.815-2.253 19.203-5.883 28.033-10.75 28.498 31.656 104.587 78.48 105.5 49.374.822-26.234-18.41-85.55-61.095-90.438 19.477-28.066 31.156-64.68 31.156-104.28 0-11.27-.974-21.778-2.81-31.532 52.322 9.868 130.32 6.868 110.717-16.75-21.784-26.248-98.666-75.512-137-39.28-2.677-3.008-5.51-5.837-8.5-8.47-16.86-14.855-38.058-23.604-61.312-27.344 10.232-15.31 16.78-39.817 16.78-70.906 0-34.683-31.018-62.813-44.75-62.813zm0 150.25c20.22 0 38.787 3.424 54.563 10.532l-26.345 31.97h-56.438l-26.343-31.97c15.775-7.108 34.34-10.53 54.562-10.53zm-70.937 20.032l25.75 31.25-29.97 44.032-4.28 6.28 5.31 5.47 36.532 37.625-23.312 28.436-5.28 6.438 5.78 6 27.125 28 13.438-13-21.344-22.03 21.53-26.22h39.313l21.53 26.22-21.343 22.03 13.438 13 27.125-28 5.78-6-5.28-6.438L296 319.97l36.563-37.626 5.25-5.438-4.22-6.28-29.718-44.376 25.5-30.938c2.06 1.506 4.06 3.1 5.97 4.782 19.106 16.832 31.25 42.762 31.25 82.03 0 78.538-49.7 140.063-108.19 140.063-58.486 0-108.186-61.525-108.186-140.062 0-39.27 12.14-65.2 31.25-82.03 1.913-1.688 3.93-3.273 6-4.782zm41.593 41.157h59.156l25.655 38.25-33.188 34.186h-44.562L203 274.78l26.063-38.31z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TurtleShell;

impl IconShape for TurtleShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M329.125 20.5l-3.72 9.625c-7.204 18.77-32.286 34.72-63.624 34.72-31.538 0-56.586-16.223-63.624-35.22l-2.25-6.094h-8.687l-1.97.97C111.456 61.1 60.844 148.48 60.844 249.313c0 132.906 89.104 242.78 200.937 242.78 111.835 0 200.283-109.904 200.283-242.78 0-100.493-50.352-187.376-123.72-224.188l-9.218-4.625zM185.28 45.78c13.738 23.13 43.113 37.782 76.5 37.782 33.14 0 62.43-14.33 76.345-37.187 61.527 35.396 105.25 112.692 105.25 202.938 0 124.622-82.108 224.093-181.594 224.093-99.485 0-182.217-99.5-182.217-224.094 0-90.54 43.907-168.274 105.718-203.53zm-4.78 27.75c-11.36 8.202-21.867 18.068-31.28 29.376l60.374 78.844h102.311l60.375-78.875c-9.063-10.883-19.12-20.456-30-28.47-18.174 18.622-47.482 30.72-80.5 30.72-33.52 0-63.174-12.487-81.28-31.594zm-42.906 44.907c-23.987 35.515-38.47 81.505-38.47 131.782 0 2.038.047 4.068.095 6.093h53.436L196 194.75l-58.406-76.313zm246.312 0L325.5 194.75l43.344 61.563h53.47c.046-2.025.092-4.055.092-6.094 0-50.28-14.51-96.267-38.5-131.782zm-169.062 82l-44.22 62.813 44.22 62.844h91.812l44.22-62.844-44.22-62.813h-91.812zM100.344 275c4.55 47.216 21.928 89.423 47.625 120.97l48.53-63.44L156.03 275h-55.686zm265.125 0L325 332.53l48.563 63.44c25.696-31.547 43.075-73.754 47.625-120.97h-55.72zm-154.783 69.78l-50 65.314c27.524 27.363 62.274 43.687 100.063 43.687 37.79 0 72.57-16.323 100.094-43.686l-50-65.313H210.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwinShell;

impl IconShape for TwinShell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M369.318 21.48c-2.627-.023-5.247-.02-7.86.006-26.868.275-52.91 3.153-77.9 9.422-56.728 14.232-108.343 45.52-153.542 104.375 4.295 11.25 9.866 22.107 16.898 32.182l-15.326 10.697c-23.904-34.247-32.538-75.07-31.746-112.36-57.23 71.004-57.995 150.478-29.145 211.17 31.333 65.917 97.016 108.277 164.907 92.317 55.694-28.525 98.172-83.276 106.216-174.394l18.618 1.643c-8.586 97.25-56.33 159.16-118.083 190.26l.02.08c-.11.03-.223.053-.334.08-3.278 1.646-6.596 3.21-9.95 4.68-60.98 26.76-132.998 25.865-195.336 4.784 5.34 10.835 15.555 23.535 30.367 35.765 22.506 18.582 54.38 36.17 90.07 47.54 70.693 22.517 155.09 21.008 216.402-40.015 10.392-47.148 16.25-99.37 15.644-132.172l18.686-.346c.768 41.507-7.402 107.07-22.184 161.54 53.058-61.297 78.07-117.533 84.133-165.89 7.062-56.31-11.065-102.365-41.65-135.462-30.584-33.098-73.886-52.894-116.534-55.104-42.648-2.208-84.29 12.73-113.614 49.206v.002c-21.19 26.36-29.025 47.267-29.34 61.54-.314 14.272 5.57 22.437 15.56 27.693 19.982 10.513 58.994 3.832 82.573-26.392v-.002c12.514-16.04 16.338-27.975 16.18-34.525-.158-6.55-2.39-8.67-7.604-10.402-10.424-3.464-33.893 3.112-46.32 24.317l-16.124-9.45c16.453-28.072 46.122-39.984 68.338-32.6 11.108 3.69 20.073 14.328 20.395 27.687.32 13.358-6.095 28.48-20.13 46.47-28.702 36.79-75.363 47.562-106.01 31.438-15.323-8.062-25.99-24.237-25.54-44.645.45-20.407 10.696-44.523 33.458-72.838 33.22-41.324 81.43-58.63 129.144-56.158 8.573.443 17.14 1.523 25.625 3.19 19.008-34.687 50.532-57.58 87.272-71.613-19.07-2.243-37.838-3.566-56.232-3.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwirlCenter;

impl IconShape for TwirlCenter {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M282.37 21.555c-1.762-.008-3.533.007-5.31.047-3.667.08-7.36.264-11.08.55-18.858 1.45-37.26 5.533-54.898 11.885-54.66 67.918-80.388 132.33-79.066 180.568.69 25.228 8.427 45.907 22.976 61.74 7.332 7.977 16.494 14.794 27.613 20.21-1.78-9.08-.69-19.25 2.836-29.647l-.108-.025c25.252-108.562 122.284-181.75 230.58-183.225 1.254-.017 2.51-.023 3.766-.02.273 0 .547.005.82.007-34.49-38.608-83.02-61.844-138.127-62.09zM175.05 50.74C99.45 94.016 44.84 180.466 42.08 276.162c-1.207 41.822 7.45 80.15 23.65 112.672 78.863 13.76 157.48-15.204 207.262-73.354-25.08 13.465-50.604 16.217-68.297 8.5-26.73-6.38-48.135-18.304-63.466-34.988-17.86-19.434-27.11-45.028-27.9-73.875-1.305-47.66 19.564-104.547 61.72-164.377zm245.518 51.576c-81.19-.563-155.767 42.457-194.683 111.334 1.914-1.463 3.866-2.898 5.883-4.28 13.737-9.405 27.99-15.545 41.365-18.433 20.342-5.848 40.66-8.946 60.55-9.494 1.972-.054 3.94-.083 5.903-.088 49.997-.113 97.022 15.872 134.664 44.534-1.323-47.18-15.347-89.358-38.578-122.966-5.055-.37-10.092-.573-15.104-.608zm-82.29 97.69c-3.768.036-7.557.17-11.362.408 24.172 9.177 42.968 22.816 55.824 40.174 15.71 21.21 22.21 47.637 19.95 76.406-3.78 48.205-31.236 103.44-80.766 159.283 83.062-37.717 145.69-126.44 151.916-226.564-36.24-32.056-84.02-50.197-135.563-49.707zm-3.78 24.187c1.078 9.684-.778 20.424-5.187 31.268-38.175 104.62-143.644 165.912-251.878 153.89 37.156 57.2 100.178 91.195 172.93 85.597 11.23-.864 22.297-2.66 33.138-5.31 63.4-62.745 96.723-125.248 100.557-174.106 1.974-25.16-3.54-46.538-16.338-63.817-7.995-10.793-18.966-20.115-33.222-27.52zm-76.21 1.616c-18.23 0-32.81 14.576-32.81 32.805 0 18.232 14.58 32.81 32.81 32.81 18.228 0 32.808-14.578 32.808-32.81 0-18.23-14.58-32.806-32.81-32.806z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwirlyFlower;

impl IconShape for TwirlyFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M176.53 19.47c-.53-.004-1.058.014-1.593.03-.57.017-1.145.055-1.718.094-15.293 1.038-31.656 9.986-45.282 31.75-27.477 43.885-28.525 97.68-5.844 136.28 15.093 25.69 40.417 45.188 76.875 51.157.894-6.55 2.752-12.81 5.468-18.593-11.405-12.327-18.01-26.242-20.25-41.062-4.746-31.38 8.784-64.32 29.03-95.03 8.494-12.884 9.45-24.52 6.345-34.657-3.106-10.14-10.73-18.925-20.813-24.25-6.647-3.51-14.247-5.674-22.22-5.72zm198.064 29.75c-37.07.05-71.842 14.557-94.53 39.31-21.288 23.225-32.635 55.356-25.377 94.876 2.737-.356 5.514-.562 8.344-.562 2.248 0 4.468.118 6.658.344 8.678-17.88 21.282-30.383 36.687-37.782 28.608-13.74 64.078-10.445 99.375-.094 14.806 4.343 26.218 1.85 35-4.093 8.782-5.944 14.928-15.83 17.063-27.032 4.268-22.407-6.07-49.4-45.75-60.032-12.503-3.35-25.113-4.954-37.47-4.937zM261.688 77.812c-8.663 0-17.195.693-25.5 1.968-1.764 4.902-4.185 9.803-7.344 14.595-18.915 28.69-29.82 57.914-26.188 81.938 1.497 9.9 5.29 19.32 12.28 28.062 6.062-6.743 13.527-12.2 21.908-15.938-8.33-44.56 3.543-83.07 27.72-110.593-.962-.017-1.912-.03-2.877-.03zm89.25 77.312c-1.02-.006-2.027.01-3.032.03-12.502.25-23.856 2.493-33.437 7.095-10.745 5.16-19.894 13.197-26.658 25.563 7.123 2.976 13.615 7.19 19.188 12.375 23.372-13.382 47.298-19.12 70.094-18.407 13.43.422 26.462 3.095 38.75 7.72 1.19.448 2.356.924 3.53 1.406-3.043-9.002-6.843-17.637-11.312-25.875-2.49-.445-5.016-1.033-7.562-1.78-17.39-5.1-34.276-8.04-49.563-8.125zm-247.5 37.438c-3.102 9.498-5.397 19.366-6.75 29.53 3.844 2.94 7.526 6.417 10.937 10.47 22.13 26.29 47.062 45.03 71.125 48.375 8.972 1.246 18.1.6 27.438-2.657-3.463-6.362-5.905-13.37-7.063-20.78-43.162-6.468-74.965-29.445-93.156-60.406-.88-1.496-1.716-3.003-2.532-4.53zm266.968 7.562c-.9.016-1.813.053-2.72.094-15.917.71-32.434 5.25-48.998 14.436 3.44 5.8 5.974 12.198 7.468 18.97 15.995 2.598 29.416 9.17 40.156 19 23.413 21.425 33.575 55.573 37.125 92.186 1.49 15.36 8.058 25.004 16.844 30.938 8.788 5.934 20.25 7.946 31.44 5.75 22.38-4.39 43.58-24.057 38.655-64.844-6.206-51.403-39.195-93.918-81.094-109.687-12.274-4.62-25.35-7.09-38.874-6.845zM263.03 201.53c-25.51 0-46 20.49-46 46 0 25.513 20.49 46 46 46 25.513 0 45.97-20.487 45.97-46 0-25.51-20.457-46-45.97-46zM61.907 228.657c-10.602.097-21.184 4.94-29.156 13.094-15.944 16.31-22.248 44.514 4.938 75.313 34.262 38.815 85.546 55.12 129 44.343 27.786-6.89 52.807-24.442 69-55.312-6.75-3.17-12.853-7.468-18.094-12.656-13.844 6.054-27.785 7.923-41.406 6.03-31.435-4.367-59.187-26.733-82.875-54.874-9.937-11.804-20.805-16.034-31.407-15.938zM327.47 252.47c-.617 8.075-2.705 15.76-6.033 22.75 31.313 28.636 44.904 64.466 43.344 99.624 0 .03.003.062 0 .094 7.697-6.08 14.836-12.832 21.345-20.157-.567-2.634-1.007-5.363-1.28-8.186-3.318-34.205-13.235-63.786-31.158-80.188-7.17-6.563-15.722-11.45-26.218-13.937zm-16.408 38.25c-4.6 5.115-9.998 9.49-16 12.936 2.4 15.863.274 30.532-5.687 43.688-13.1 28.91-42.393 49.194-76.094 63.937-14.135 6.186-21.242 15.4-24.155 25.595-2.913 10.196-1.31 21.73 4.25 31.688 11.12 19.912 36.415 33.97 73.656 16.625 46.935-21.86 77.08-66.428 79.064-111.157 1.294-29.18-8.88-58.737-35.03-83.31zM277.47 310.56c-4.65 1.07-9.474 1.657-14.44 1.657-3.22 0-6.37-.26-9.467-.72-18.668 37.097-48.75 59.723-82.375 68.063-1.625.402-3.27.786-4.907 1.125 9.872 6.914 20.533 12.77 31.814 17.437 2.43-1.435 4.99-2.775 7.72-3.97 31.48-13.772 56.533-32.368 66.56-54.5 3.994-8.81 5.965-18.406 5.095-29.092z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Twister;

impl IconShape for Twister {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M203.75 18.75c-30.807.152-58.2 2.922-79.375 7.656-15.057 3.367-26.967 7.8-34.313 12.344-7.345 4.545-9.187 8.14-9.187 10.72 0 2.578 2.32 7.302 9.906 13 3.283 2.463 7.427 4.992 12.25 7.5 12.58-26.887 60.835-36.463 106.25-36.75 19.47-.123 38.308 1.267 53.72 4.093-68.11 9.035-126.228 12.386-103.344 51.968 24.78-16.026 76.058-14.97 112.125-10.5-34.733 4.607-66.215 7.26-78.655 17.19 16.52 2.635 34.167 4.663 52.5 5.874 47.178 3.116 89.886.327 120-6.406 15.057-3.367 26.967-7.8 34.313-12.344 7.345-4.545 9.187-8.14 9.187-10.72 0-2.578-2.288-7.27-9.875-12.968-7.587-5.696-19.598-11.715-34.72-17.093C334.29 31.555 291.554 23.116 244.376 20c-11.795-.78-23.296-1.18-34.406-1.25-2.084-.013-4.166-.01-6.22 0zM74.094 72.906c-4.445 17.937-5.67 34.503-4.25 49.938.006.018-.007.044 0 .062 5.82 16.932 23.4 31.81 49.22 43.188 28.19 12.424 65.143 20.243 101.967 22.906 36.826 2.663 73.606.193 101.25-7.094.066-.017.124-.045.19-.062l.186.125c72.355-9.74 112.614-41.626 102.313-95.595-6.856 24.535-27.576 42.58-54.25 55.625 2.854-10.052 6.517-20.498 11.124-31.375-3.85 1.1-7.888 2.115-12.125 3.063-32.675 7.305-76.713 10.025-125.345 6.812-48.632-3.213-92.642-11.767-125.188-23.344-16.272-5.788-29.685-12.263-39.656-19.75-1.918-1.44-3.744-2.932-5.436-4.5zm7.562 93.406c11.72 25.393 30.867 47.514 53.563 67.907 10.904 7.757 26.756 14.574 45.28 19.405 25.235 6.58 55.16 9.846 83.5 9.656 25.045-.167 48.934-3.1 67.094-8.342 56.052-11.073 85.383-44.642 71.312-87.688-2.314 22.634-17.737 39.6-39.125 51.938-1.028-10.75-1.267-21.987-.405-33.813-9.994 6.235-22.157 10.986-35.844 14.594-30.526 8.045-68.822 10.472-107.342 7.686-38.52-2.786-77.172-10.8-108.188-24.47-10.954-4.826-21.063-10.442-29.844-16.874zm321.906 71.75c-4.685 14.62-14.652 26.757-28.25 36.188-1.862-5.797-3.624-11.708-5.218-17.78-6.943 5.897-15.767 10.318-25.938 13.905-21.858 7.71-50.187 11.394-80.03 11.594-26.414.176-53.918-2.413-78.782-7.94 22.057 16.116 44.73 31.753 65.562 47.876 20.303 8.023 48.924 7.27 73.97-.156 11.94-3.54 22.962-8.51 31.655-14.094 35.963-17.71 60.943-41.843 47.033-69.594zm10.657 59.375c.337 12.78-7.11 24.512-18.5 34.657-2.77-8.588-5.972-17.316-9.283-26.28-2.933 3.837-6.436 7.415-10.312 10.655-12.036 10.06-28.197 17.926-45.938 23.186-15.81 4.688-33.028 7.436-49.656 7.03 8.393 7.718 16.145 15.62 23 23.845 12.03 6.828 34.757 6.622 55.75-.06 5.846-1.862 11.49-4.14 16.658-6.69.076-.036.142-.086.218-.124 34.1-14.63 54.92-39.592 38.063-66.22zM44.593 363.781l66 96.94-80.03-55.47 19.873 48.47-32.718-21.033.593 61.313h290.843l-28.03-32.094L279.937 480l-52.532-43.813 5.813 37.375-77.064-81.156 20.438 71.25-132-99.875zm359.312 4.376c-1 .81-2.013 1.628-3.062 2.406-9.94 7.374-22.49 13.45-35.906 17.72-14.445 4.597-30.13 7.443-44.594 6.374 2.874 5.13 5.382 10.404 7.47 15.813 4.2 4.1 9.464 7.06 15.31 8.936l.345.438c44.033 10.426 81.254-3.684 74.905-48.094-1.93 8.424-7.29 15.254-14.78 20.563 1.134-8.125 1.125-16.143.31-24.157zm-69.656 67.938c2.15 17.584-.015 36.745-7.72 57.937 27.994-20.634 46.844-39.46 59-57.217-5.283 1.592-10.828 2.678-16.436 3.28-11.496 1.236-23.753.172-34.844-4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwoFeathers;

impl IconShape for TwoFeathers {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M177.438 17.625c-36.363 63.13-6.562 132.455 51.593 167.906 73.338 44.71 85.25 182.336 197.44 180.032 18.768 37.002 32.436 74.428 42 113.844L486.624 475c-7.386-30.444-17.18-59.834-29.75-88.72 19.49-32.138 28.49-64.438 35.938-96.75L477.5 306.657c1.212-13.487.876-26.89-.688-41l-13.625 26.938c2.42-20.608 3.05-39.98 3.875-59.5l-19.53 33.97c-2.876-17.033-6.577-33.074-10.188-49.252l-8.25 30.97C371.358 118 210.67 101.476 177.438 17.624zM33.78 106c-83.367 187.217 151.31 342.733 292.44 323.47 29.146 16.715 54.977 35.964 78.905 58.436l12.78-13.625c-18.923-17.77-39.093-33.676-61-47.936-1.57-28.975-9.564-53.884-18.56-78.156l-6.22 42.843c-10.212-27.47-23.103-48.372-35.813-69.717l3.22 51.968c-9.037-24.734-22.188-45.01-36.032-64.53l5.094 42.97c-16.975-23.893-34.854-40.735-52.656-58.064l12.625 37.594C144.105 263.974 78.553 196.544 33.78 106z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct TwoShadows;

impl IconShape for TwoShadows {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M250.322 18.494c-25.06 3.26-47.158 32.267-47.158 69.346 0 20.453 7.06 38.57 17.502 51.166l10.123 12.213-15.59 2.932c-13.676 2.574-23.794 9.896-32.272 21.547-8.48 11.65-14.86 27.7-19.326 46.095-8.23 33.9-9.916 75.216-10.143 111.275h44.007l11.883 159.512h96.37l10.514-159.512h41.88c-.013-36.448-.353-78.316-7.81-112.48-4.042-18.524-10.176-34.575-18.777-46.12-8.6-11.543-19.21-18.81-34.482-21.18l-15.912-2.468 10.037-12.59c9.99-12.533 16.7-30.436 16.7-50.392 0-39.537-24.776-69.268-52.352-69.268-2.915 0-4.754-.135-5.196-.078zm178.608 1.078c-31.872-.534-61.166 26.473-71.084 63.49-4.575 17.073-4.83 35.29-.817 51.108-10.96 1.307-20.99 5.173-29.772 10.996 5.563 3.58 10.537 7.906 14.906 12.814 7.998-4.296 16.716-6.28 27.084-5.492l15.816 1.2-6.615-14.415c-5.86-12.764-7.33-33.55-2.554-51.377 8.122-30.308 31.484-49.75 52.75-49.61 1.416.008 2.825.104 4.22.29l.01.002c.263.037 1.817.567 4.44 1.27 23.73 6.36 38.404 37.853 29.168 72.324-4.66 17.392-15.965 34.567-27.02 42.73l-12.954 9.565 14.73 6.502c13.063 5.765 20.835 13.86 25.885 24.348 5.05 10.487 7.12 23.674 6.846 38.674-.5 27.368-8.862 60.148-17.2 91.362l-36.864-9.88-51.232 153.712-42.69.11-1.23 18.69 57.402-.146 49.914-149.758 37.946 10.166 2.42-9.025c9.022-33.677 19.603-71.135 20.22-104.89.31-16.876-1.89-32.994-8.693-47.124-5.016-10.417-12.696-19.57-23.065-26.622 10.814-11.607 19.228-27.125 23.637-43.58 11.288-42.13-6.228-85.52-42.38-95.21l-.003-.003c-1.106-.296-3.297-1.274-6.81-1.744h-.008l-2.838-.38-.295.146c-1.09-.082-2.185-.226-3.27-.244zm-349.32.46c-4.49.056-9.02.665-13.538 1.876-.095.026-.327.068-.44.094l-.575-.574-5.76 2.377h-.002C27.32 36.99 13.11 77.635 23.69 117.12c4.574 17.073 13.46 32.977 24.845 44.67-9.328 6.978-16.34 15.908-21.053 25.99-6.507 13.924-8.973 29.83-9.11 46.6-.27 33.543 8.753 71.01 17.82 104.845l2.42 9.027 40.02-10.727 51.11 149.454 60.46.153-1.39-18.694-45.7-.116-52.446-153.37-38.73 10.378c-8.028-30.892-15.098-63.467-14.875-90.8.122-14.997 2.417-28.276 7.354-38.84 4.937-10.56 12.24-18.566 23.865-24.15l14.298-6.87-12.94-9.176c-11.456-8.122-23.12-25.39-27.896-43.215-8.66-32.315 3.867-62.596 24.653-71.188l.025-.01c.244-.1 1.86-.42 4.486-1.12h.002l.002-.003c2.966-.796 6.005-1.18 9.072-1.175 21.47.027 44.263 19.06 52.344 49.223 4.66 17.392 3.46 37.92-2.035 50.517l-6.436 14.76 16.01-1.734c13.355-1.447 23.684 1.234 32.868 7.016 4.285-4.866 9.108-9.17 14.46-12.742-.73-.536-1.464-1.062-2.212-1.572-9.55-6.512-20.777-10.598-33.283-11.522 3.562-15.46 3.09-33.105-1.318-49.56-9.878-36.864-39.338-63.538-70.77-63.14z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Tyre;

impl IconShape for Tyre {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M128.844 16.313c-1.26.01-2.52.042-3.75.093-19.69.814-35.63 6.786-46.625 17.782-21.992 21.99-23.814 63.782-4.72 115.687s58.568 112.162 113.688 167.28c55.12 55.12 115.376 94.595 167.28 113.69 51.906 19.092 93.73 17.27 115.72-4.72 21.99-21.99 23.78-63.782 4.687-115.688-19.094-51.905-58.54-112.195-113.656-167.312C306.35 88.008 246.06 48.563 194.155 29.47c-24.33-8.952-46.42-13.317-65.312-13.157zm34.97 52.156c45.347-.48 113.94 35.972 175.155 97.186 76.95 76.95 114.752 165.567 89.28 205-16.348-55.695-56.743-120.148-115.438-178.844C254.13 133.127 189.692 92.728 134 76.376c8.06-5.202 18.167-7.784 29.813-7.906zM42.718 70.03L31.78 80.97c-10.986 10.987-16.853 26.35-17.686 46.06-.834 19.712 3.62 43.48 13.219 69.376C46.508 248.202 86.06 308.372 141.156 363.47c55.097 55.096 115.267 94.646 167.063 113.842 25.896 9.6 49.663 14.052 69.374 13.22 19.71-.834 35.076-6.702 46.062-17.688l10.97-10.97c-25.293 3.142-55.017-1.975-86.345-13.5-55.3-20.342-117.292-61.23-174.06-118-56.77-56.768-97.658-118.728-118-174.03-11.516-31.302-16.626-61.026-13.5-86.313zm77.218 21.876c52.77 13.2 119.523 52.99 179.656 113.125 60.133 60.136 99.926 126.892 113.125 179.657-41.025 21.154-126.707-16.642-201.408-91.343-74.715-74.716-112.55-160.424-91.375-201.438z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UbisoftSun;

impl IconShape for UbisoftSun {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M194.53 19.656L181.47 62.25l27.624 6.563 19.5-17.5-34.063-31.657zm125.94.063l-32.626 30.343 20.656 19.5 25.625-5.407L320.47 19.72zm-64.94 59.405c-14.046.215-28.287 2.138-42.468 5.938-93.08 24.94-148.472 120.887-123.53 213.968 7.604 28.38 21.823 53.248 40.53 73.408.176.252.355.498.532.75l.094-.063c42.67 45.493 108.4 66.657 172.78 49.406C396.55 397.59 451.942 301.676 427 208.595 406.735 132.964 339.604 82.24 265.22 79.25c-3.22-.13-6.447-.175-9.69-.125zM85.47 82.563L95.437 126l27.218-8.156 8.125-24.875-45.31-10.407zm344.03.187l-43.47 9.97 8.158 27.218 24.875 8.124L429.5 82.75zm-170.72 15c1.93.004 3.865.05 5.783.125 66.473 2.61 126.234 47.86 144.375 115.563 22.327 83.325-26.957 168.735-110.282 191.062-57.286 15.35-115.544-3.167-153.625-43.313l-.03-.03c-7.722-11.214-13.966-23.47-18.406-36.313-24.473-70.782 10.592-153.698 82.937-178.5 60.946-20.893 132.18 9.025 153.22 70.75 17.63 51.725-8.105 112.282-60.938 130.125-44.027 14.868-95.41-6.862-110.343-51.376-12.367-36.86 6.033-79.954 43.624-92.438 30.914-10.267 66.952 5.034 77.22 36.188 8.03 24.378-3.386 52.733-27.127 62.437 10.773-10.378 15.78-26.178 11.657-41.56-5.275-19.686-23.813-32.462-43.438-31.314-2.803.164-5.657.59-8.47 1.344-22.494 6.028-35.964 29.41-29.936 51.906.695 2.594 1.623 5.068 2.75 7.406.022.052.04.106.063.157.07.145.145.29.218.436 11.972 26.708 41.876 39.625 69.876 30.5 36.25-11.814 53.642-52.3 42.156-87.156-13.713-41.614-60.582-61.476-100.875-48.094-47.956 15.927-70.97 69.85-55.437 116.156 18.427 54.928 80.65 81.133 134.063 63.094 63.153-21.328 93.476-92.667 72.625-153.844-19.966-58.576-77.885-92.29-136.625-89.937-13.556.543-27.156 3.01-40.344 7.53-56.145 19.25-92.422 68.7-101.22 123.595.602-68.348 46.356-130.556 115.656-149.125 13.67-3.663 27.38-5.402 40.875-5.375zM66.876 177.938l-44.438 13.625 30.344 32.656 19.5-20.657-5.405-25.625zm382.906.812l-6.56 27.625 17.5 19.5 31.686-34.063-42.625-13.062zm-193.155 69c10.227.247 19.356 7.11 22.156 17.563 3.415 12.74-3.98 25.586-16.717 29-11.147 2.986-22.387-2.31-27.313-12.22-.466-1.12-.896-2.274-1.28-3.468l-.126.03c-.114-.356-.215-.726-.313-1.092-3.412-12.74 4.013-25.587 16.75-29 1.594-.427 3.205-.683 4.782-.782.69-.042 1.38-.046 2.063-.03zM54.03 283.47L22.376 317.5l42.594 13.094 6.56-27.656-17.5-19.47zm407.94 1.655l-19.5 20.656 5.405 25.626 44.438-13.656-30.344-32.625zM95.686 381.25L85.28 426.594l43.44-9.97-8.157-27.218-24.876-8.156zm323.625 2.094l-27.218 8.125L384 416.374l45.313 10.406-10-43.436zm-213.03 56.406l-25.626 5.406 13.625 44.438 32.657-30.344-20.656-19.5zm99.374.75l-19.5 17.5 34.063 31.688 13.092-42.625-27.656-6.563z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Ultrasound;

impl IconShape for Ultrasound {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M473.156 14.97l-18.062 4.842c11.34 42.354 14.96 84.95 11.687 126.282l1.876 5.406c4.394 12.465 8.1 25.566 10.875 38.844 10.88-56.44 9.483-116.156-6.374-175.375zM400.22 29.093l-18.064 4.843c10.017 37.386 12.704 74.996 8.97 111.313h18.75c3.702-37.944.785-77.182-9.657-116.156zm-71.376 11.812l-18.03 4.813c8.982 33.532 10.525 67.293 5.655 99.53h18.81c4.774-33.88 2.968-69.237-6.436-104.344zm-58.594 8.657l-18.063 4.843c27.292 101.963-33 206.532-134.812 233.844l4.844 18.03C233.8 276.35 300.15 161.273 270.25 49.564zM217 56.624l-18.063 4.844c20.678 77.25-24.96 156.4-102.093 177.093l4.844 18.062c86.9-23.314 138.598-113.003 115.312-200zm-169.094 6c-16.44 0-29.562 13.126-29.562 29.563 0 16.435 13.126 29.562 29.562 29.562S77.47 108.624 77.47 92.187c0-16.437-13.124-29.562-29.564-29.562zm116.875 7.063l-18.06 4.843c13.107 49.004-15.794 99.125-64.72 112.25l4.844 18.064c58.693-15.747 93.652-76.408 77.937-135.156zm-45.905 5.937l-18.063 4.813c7.452 27.826-8.885 56.174-36.656 63.624L69 162.125c37.537-10.07 59.936-48.928 49.875-86.5zm190.188 88.313c-7.934 24.493-12.72 51.205-12.72 75.812 0 57.394 23.366 84.448 55.876 94.563l4.092 1.25 1.72 3.906c17.165 39.266 15.82 82.72-3.344 121.436l-1.5 3.063-3.125 1.342c-13.44 5.934-24.513 15.596-31.282 29.438h125.064c-6.94-14.213-18.402-24.17-31.875-30.03l-3.158-1.376-1.5-3.094c-18.87-38.603-19.788-81.76-2.687-120.78l1.72-3.94 4.092-1.25c32.68-9.964 55.844-36.78 55.844-94.53 0-24.483-5.263-51.218-13.31-75.813h-38.25l-22.47 39.094 35.125 22.782-56.938 74.032 22.75-66.438-32.25-18.97 17.594-50.5h-69.467zm-31.313 80.875c-31.69 47.205-79.966 83.58-139.25 99.468l4.844 18.064c56.374-15.11 103.527-47.548 137.28-90.03-1.65-8.516-2.62-17.677-2.874-27.502zm29.125 82.25c-37.602 39.21-86.06 68.962-142.406 84.062l4.843 18.063c59.998-16.08 111.596-47.908 151.562-89.844-5.01-3.55-9.698-7.632-14-12.28zm44.094 60.968c-43.567 41.235-97.727 72.527-159.75 89.158l4.843 18.03C254.767 479.48 306.798 451.2 350 414c1.265-8.633 1.584-17.313.97-25.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Umbrella;

impl IconShape for Umbrella {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.438 32.53c-4.628.44-10.283 3.95-16.657 12.657-6.842 9.35-13.723 24.012-19.593 42.563-11.094 35.068-18.797 84.06-20.875 139.156h115.97c-2.073-55.1-9.714-104.116-20.75-139.187-5.84-18.553-12.68-33.187-19.5-42.532-6.57-9.003-12.353-12.417-17.063-12.657-.48.006-.96-.01-1.44 0-.03.002-.06 0-.092 0zm35.968 4.907c7.715 11.575 14.262 26.65 19.938 44.688 11.825 37.578 19.62 88.07 21.687 144.78h82.19c-5.113-53.912-23.637-101.76-50.533-136.25-20.55-26.35-45.627-44.893-73.28-53.218zM223.5 38.782c-26.088 8.886-49.81 26.876-69.438 51.907-27.044 34.493-45.687 82.318-50.812 136.22h79.313c2.07-56.722 9.923-107.234 21.812-144.813 5.488-17.346 11.768-31.932 19.125-43.313zm-55.25 10.47C91.18 79.186 34.663 146.36 23.375 226.906H84.28C89.44 169 109.43 117.31 139.345 79.156c8.788-11.21 18.474-21.242 28.906-29.906zm190.313 4.25c8.533 7.655 16.523 16.26 23.875 25.688 29.76 38.16 49.604 89.83 54.75 147.718h55.156c-10.747-76.928-62.296-141.66-133.78-173.406zM249.97 245.594v171.53c0 20.038-5.565 33.484-13 41.813-7.438 8.33-16.894 11.913-26.564 11.563-19.34-.7-40.22-17.18-40.22-53.375H151.5c0 43.858 28.352 70.98 58.25 72.063 14.95.54 30.13-5.43 41.156-17.782 11.027-12.352 17.75-30.725 17.75-54.28V245.593H249.97z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Uncertainty;

impl IconShape for Uncertainty {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M257.78 19.438c-127.92.016-231.75 103.855-231.75 231.78 0 55.734 19.71 106.776 52.532 146.72L57.75 434.094h132.406l-66.312-114.72-22.375 39c-20.9-30.478-33.064-67.442-33.064-107.155 0-104.523 84.854-189.376 189.375-189.376 104.523 0 189.408 84.853 189.408 189.375 0 39.108-11.68 75.664-32 105.874l-21.875-37.72L327 434.095h132.406l-21.594-37.47c32.225-39.78 51.75-90.253 51.75-145.405 0-127.927-103.827-231.766-231.75-231.782h-.03zm-.655 75.468c-49.528-.047-110.474 29.232-128.406 104.938l60.75 14.312c26.965-76.242 90.87-70.824 113.31-28.625 26.775 50.346-89.687 107.283-84.124 190.407h77.688c6.49-98.144 118.973-123.49 59.562-229.53C337.963 114.38 301 96.572 261.876 95.03V95c-1.573-.062-3.153-.092-4.75-.094zM258.5 395.97c-26.95 0-48.594 21.644-48.594 48.592 0 26.95 21.645 48.594 48.594 48.594 26.95 0 48.594-21.645 48.594-48.594 0-26.948-21.645-48.593-48.594-48.593z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnfriendlyFire;

impl IconShape for UnfriendlyFire {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M132.28 19.97C94.364 19.96 56.6 26.472 24.03 40.343c106.356-16.32 188.315 27.415 200.814 96.406 5.418 29.904-37.63 51.288-71.25 77.813 2.465-13.414 7.356-25.622 11.344-38.282-14.197 14.1-26.88 28.942-35.157 45.97-6.432-20.1-10.023-40.21-14.718-60.313-5.76 38.48-8.168 76.96.938 115.438.12 1.223.256 2.468.47 3.72C127.3 344.73 183.5 404.46 244.155 443.436c-20.684-4.097-39.713-10.91-59.312-16.78 22.393 16.586 45.716 31.66 71.78 42.25-18.617-.14-36.953-.982-55.468-1.376 56.55 16.237 114.847 28.187 180.313 22.47 38.163-.738 66.84-15.306 85.405-35.813l-5.938-16.343-52.53 23.125-15.594 6.874L395.406 451l2.906-19-56.062 22-20.875 8.22 8.906-20.595 10.845-25.156c-14.48 2.333-31.098 3.21-48.47.5-24.806-3.875-50.92-15.12-71.217-38.908 27.48 16.855 59.18 22.11 89.343 21.844.043.002.085 0 .126 0 16.346.51 31.756-2 43.375-5.28l18.908-5.345-7.782 18.033-9.094 21.093 50.282-19.75 15.125-5.906-2.47 16.03-2.78 18.22 46.06-20.28 9.126-4 3.438 9.374 4.97 13.687c9.516-17.186 13.383-36.418 11.342-54.53l-29.78 4.063 20.155-33.938c-6.063-10.564-14.867-19.773-26.5-26.656-.063-.04-.122-.09-.186-.126-32.735-23.455-69.573-31.572-107.438-35.875l18.78 17.874c-33.723-5.47-67.613-18.598-65.123-42.03-9.323 15.147-2.238 32.477 11.625 47.967-31.926-8.398-41.564-31.427-32.907-63.217 5.64-20.712 25.924-32.85 41.97-49.25l.03-.032c29.778-25.73 46.797-58.807 60.564-93.78-7.622 8.132-14.89 16.433-22.625 24.5 5.763-36.61-1.635-71.36-12.72-105.594-2.794 21.978-3.924 43.714-10.47 66.22C328.8 74.173 315.744 59.227 301.126 45c5.094 13.018 11.25 25.574 13.688 39.78-38.447-41.365-110.748-64.8-182.532-64.81zm248.626 322.81l57 43.47-49.125-3.438-7.874-40.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnlitBomb;

impl IconShape for UnlitBomb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M135.25 38.156c-16.082.46-32.345 7.235-46.47 17.407-17.216 12.4-31.534 30.2-37.31 50.687-5.78 20.488-1.95 44.032 16.155 63.406 14.573 15.595 19.996 29.328 20.563 40.5.566 11.173-3.554 20.304-10.376 27.406-13.643 14.206-37.278 17.995-50.5 6.094l-12.5 13.906c22.224 20.005 56.61 13.645 76.47-7.03 9.93-10.34 16.43-24.836 15.593-41.313-.836-16.478-8.83-34.407-25.594-52.345C67.18 141.782 65.16 126.6 69.47 111.312 73.78 96.025 85.484 80.97 99.72 70.72c14.233-10.253 30.704-15.365 43.218-13.44 9.566 1.474 17.565 6.055 23.062 17.44l15.938-9.19c-8.362-15.432-21.594-24.476-36.157-26.718-2.42-.372-4.866-.596-7.31-.656-1.07-.026-2.148-.03-3.22 0zM243.5 51.563l-120.125 69.374 24.906 43.157c15.03-18.11 33.446-33.898 55-46.344 20.615-11.903 42.444-19.803 64.595-23.938L243.5 51.563zm60.03 57.406c-1.026.01-2.065.034-3.092.06-29.894.803-60.05 8.877-87.813 24.907-88.84 51.298-119.255 164.55-68.03 253.282 51.222 88.73 164.505 119.013 253.343 67.717 88.837-51.295 119.223-164.55 68-253.28-34.666-60.05-97.713-93.346-162.407-92.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnlitCandelabra;

impl IconShape for UnlitCandelabra {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M249.344 17.344l-.97 37.375h-14.968v147.56h43.375V54.72h-12.936l-14.5-37.376zm135.22 0L376.28 54.72h-15.436v147.56h43.375V54.72h-12.47l-7.188-37.376zm-252.502.312L121.094 54.72h-14.03v147.56h43.374V54.72h-14.344l-4.03-37.064zm-30.78 204.375c0 16.145 9.13 26.056 20.343 29.72v41.72c0 30.783 24.7 56.53 55.688 56.53h70.125v91.5c-22.293 3.78-42.157 21.122-42.157 52.03h103c0-30.993-19.874-48.318-42.155-52.06V350h69.28c30.987 0 56.533-25.546 56.533-56.53v-41.345c11.76-3.307 21.593-13.317 21.593-30.094h-61.06c0 16.353 9.37 26.297 20.78 29.845v41.594c0 20.7-17.14 37.842-37.844 37.842h-69.28v-79.53c11.213-3.643 20.343-13.555 20.343-29.75h-61.064c0 16.93 10.077 27.015 22.03 30.218v79.063h-70.124c-20.702 0-37-16.946-37-37.844v-41.22c11.955-3.18 22.032-13.234 22.032-30.22H101.28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Unlocking;

impl IconShape for Unlocking {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M78.53 157.188c-23.843 0-43.93 21.364-50.28 50.593-4.216 5.54-6.75 12.435-6.75 19.876 0 7.506 2.56 14.467 6.844 20.03 6.475 28.963 26.485 50.064 50.187 50.064 24.293 0 44.72-22.173 50.657-52.25H234.97v65.594h19.31v-44.22h18.69v44.22h20.092V286h18.688v25.094h15.125V245.5h17.97v-33.47h-215.19c-5.248-31.382-26.14-54.843-51.124-54.843zM424.44 169.28c-31.78 0-57.813 26.036-57.813 57.814 0 17.65 7.836 33.673 20.47 44.312l-25.22 72.938-4.28 12.406h133.123l-4.314-12.406-25.187-72.938c12.63-10.64 20.467-26.662 20.467-44.312 0-31.642-25.47-57.813-57.25-57.813zm0 18.69c21.617 0 38.562 17.372 38.562 39.124 0 14.002-7.057 26.117-17.875 33l-6.22 3.97 2.408 6.967 23.156 67.033H383.81L407 271.03l2.406-6.967-6.22-3.97c-10.817-6.882-17.873-18.997-17.873-33 0-21.615 17.507-39.124 39.125-39.124zm-369.97 25.405c8.003 0 14.313 6.28 14.313 14.28 0 8.003-6.31 14.282-14.31 14.282-8.003 0-14.282-6.28-14.282-14.28 0-8.003 6.28-14.282 14.28-14.282z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnstableOrb;

impl IconShape for UnstableOrb {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M146.71 19.252l45.472 27.152-25.71 62.268c-30.323 18.782-54.614 46.39-69.26 79.223l-40.644-18 25.51-39.926-62.824-50.74v24.02L57.324 134l-28.22 44.172 61.402 27.193c-5.617 17.308-8.666 35.766-8.666 54.928 0 3.234.093 6.448.264 9.64l-25.875 7.22-36.976-25.596v22.728l33.55 23.227 31.32-8.74c2.476 15.37 6.92 30.085 13.07 43.88l-67.098 20.18 22.142 44.28-32.984 5.82v18.978l60.902-10.748-23.414-46.828 49.102-14.766c15.915 27.395 38.92 50.176 66.49 65.828l4.852 33.96-49.13 10.345 21.38 33.046h22.26l-13.175-20.36 39.64-8.347-5.54-38.774c20.844 8.55 43.652 13.28 67.552 13.28 15.134 0 29.83-1.9 43.867-5.458l80.265 28.506 23.365 31.152h23.36l-30.716-40.957 36.39-32.927-45.626-37.62c19.485-21.056 33.957-46.807 41.512-75.352l11.892 17.38 48.264-64.85v-31.303L445.12 291.11l-7.692-11.245c.705-6.43 1.078-12.957 1.078-19.572 0-32.163-8.557-62.352-23.51-88.422l21.447-27.653-16.44-47.274H450.1l-14.852-77.69H416.22l11.28 59h-70.287l-12.97 24.858c-25.058-13.436-53.684-21.067-84.07-21.067-5.948 0-11.826.3-17.624.87l-33.105-29.35 6.166-14.934-32.448-19.378h-36.45zm55.186 52.592l16.956 15.033c-9.208 2.19-18.14 5.095-26.735 8.652l9.78-23.686zm166.647 25.1h31.672l15.246 43.833-11.25 14.51c-12.103-16.544-26.977-30.935-43.948-42.475l8.28-15.87zm-108.26 3.66c88.114 0 159.746 71.6 159.746 159.677 0 88.08-71.633 159.675-159.747 159.675-19.067 0-37.36-3.36-54.324-9.506-1.37-.497-2.735-1.007-4.087-1.54l-.12-.045c-1.208-.477-2.408-.967-3.603-1.472-2.926-1.233-5.812-2.542-8.646-3.94l-.006-.047c-7.198-3.57-14.09-7.662-20.625-12.234l.016.103c-18.408-12.827-33.977-29.426-45.583-48.695l-.12-.396c-2.897-4.83-5.544-9.824-7.927-14.965l-.078.022c-6.276-13.58-10.702-28.193-12.952-43.523l.028-.01c-.916-6.205-1.48-12.524-1.656-18.94l-.016.005c-.04-1.49-.066-2.982-.066-4.482 0-16.49 2.494-32.387 7.123-47.34l.043.02c1.863-5.998 4.08-11.84 6.61-17.514l-.066-.028c10.893-24.494 27.77-45.716 48.788-61.83l.074.03c5.807-4.46 11.925-8.54 18.322-12.183l.02-.048c4.14-2.346 8.394-4.512 12.754-6.488.033-.015.067-.03.1-.047 20.126-9.156 42.472-14.262 65.995-14.262zm0 18.697c-41.134 0-78.1 17.522-103.863 45.513l13.39 27.236 64.983-56.282 57.822 50.388-60.396-25.818-39.42 40.066 34.62 11.89 8.637 52.87 99.566 77.99-112.168-54.314-67.578 7.66 73.85 59.19-62.98 10.183c24.878 22.025 57.617 35.39 93.536 35.39 13.404 0 26.367-1.86 38.643-5.337l-103.742-22.73h-.002l101.707 6.583-39.187-50.102 74.276 52.082c19.23-11.346 35.52-27.12 47.47-45.934l-121.837-98.54 100.55-19.942-67.42-79.45 101.325 71.97c-20.26-53-71.554-90.563-131.785-90.563zm-116.855 61.91c-15.28 22.538-24.2 49.745-24.2 79.07 0 5.495.323 10.91.932 16.24l85.18-13.444-3.83-36.215-51.905-13.23-6.177-32.42zm254.832 49.64l-88.53 14.94 74.44 82.034c10.946-20.047 17.166-43.056 17.166-67.543 0-10.096-1.066-19.94-3.076-29.43zm-273.447 68.88c5.875 20.247 16.163 38.6 29.757 53.963l26.385-9.84-56.143-44.124zm252.79 94.625l30.52 25.165-24.367 22.046-51.432-18.265c16.572-7.35 31.82-17.15 45.28-28.945z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct UnstableProjectile;

impl IconShape for UnstableProjectile {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M120.375 22.47c88.55 42.68 157.7 88.838 211.438 154.78C247.84 102.894 134.438 59.955 21.97 28.53v95.095c66.055 28.358 165.725 98.252 191.25 144.75-51.636-51.886-122.18-81.19-191.25-102.406v87.53c75.425 22.986 148.444 61.787 191.905 148.063 19.75 55.943 73.15 96.125 135.78 96.125 79.39 0 143.94-64.55 143.94-143.938 0-45.592-21.307-86.29-54.47-112.688-7.824-10.445-15.605-20.434-23.344-30.03 5.687-5.654 9.22-13.475 9.22-22.126 0-17.24-13.98-31.22-31.22-31.22-6.977 0-13.425 2.32-18.624 6.19-64.35-69.56-125.732-112.213-184.5-141.407h-70.28zM369.97 68.124c-11.588 0-21 9.382-21 20.97 0 11.586 9.412 21 21 21 11.586 0 20.967-9.414 20.967-21 0-11.59-9.38-20.97-20.968-20.97zm97.217 125.47c-10.173 0-18.406 8.262-18.406 18.436 0 10.175 8.234 18.407 18.408 18.407 10.173 0 18.437-8.232 18.437-18.406s-8.264-18.436-18.438-18.436zM335.563 229.28l4.688 24.782-51.375 13 61.5 79.625-8.656-60.78 49.905-3.626 3.406-45.31c32.242 12.5 57.96 37.922 70.845 69.968l-5.5 19.468-49.188-15.187L474.375 365c-1.43 16.137-5.897 31.376-12.844 45.156l-32.217-14.5-82.75 58.53 66.656-25.248 25 13.437C415.57 465.008 384.283 479 349.655 479c-61.742 0-112.934-44.45-123.344-103.156l45.625 39.812 23.532-30.72 26.624 33.783 93.625-58.345-39.908-42.97.5 41.44-47.062 16.905-43.5-54.78-9.72 37.374-44.874-45.313c15.4-44.967 55.627-78.307 104.406-83.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Valley;

impl IconShape for Valley {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.844 20.72L189.03 192.312l-49.31-47.188-60.5 150.844H441.81l-57-94.564-66.03 68.125-13.407-13.03 37.938-39.125-89.47-196.656zM20.47 314.655v178.72h175.75l49.936-78.626-36.062-34.844 43.875-65.25H20.47zm261.186 0l-35.5 55.313 58.47 47.25-2.126 76.155h193v-178.72H281.656z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VanillaFlower;

impl IconShape for VanillaFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M304.188 20.78c-66.4 29.275-7.705 118.11-67.344 199.095.002.01-.002.02 0 .03 4.68 23.896 1.18 50.524-15 61.407 5.676-10.848 4.674-33.22-.594-53.968C172.566 116.55 98.992 169.912 50.97 49.064c-7.508 115.22 76.944 106.685 121.405 219.03 25.28 4.854 48.27 21.84 42.406 49.375-8.74-28.164-38.682-37.34-74.655-29.94-49.053 14.66-79.57 51.282-119.03 39.033 42.903 46.394 89.77.747 146.28 14.968 10.2-6.306 21.764-10.282 32.375-10.092 6.877.123 13.343 2.007 18.78 6.125-17.464-2.606-52.255 20.413-64.436 42.062-11.036 31.072 5.565 72.344-24.063 118.156 64.557-9.482 55.983-72.112 96.032-104.967-5.95-23.987-.636-54.244 19.907-62.907-8.336 10.483-8.898 36.958-3.157 58.47 17.706 48.55 69.432 44.36 102.406 111.874 4.12-48.97-27.776-83.065-38.158-119.625-25.52-12.012-50.434-38.33-45.906-61.47 5.082 16.233 35.01 39.13 60.28 48.19 60.935 16.158 108.5-22.17 175.064 23.592-42.414-75.354-97.718-43.818-153.5-79.25-25.297 6.58-55.71 3.98-67.53-13.593 10.318 5.398 31.1 4.795 50.967.187.03-.01.063-.018.094-.03C425.25 261.26 418.945 146.456 494.5 138c-84.284-35.58-103.4 85.843-182.938 102.406-15.316 25.246-39.25 43.34-65.906 44.125 11.467-7.75 30.848-23.313 45.063-42.342-.085-.003-.167.002-.25 0 50.867-65.388-20.946-134.664 13.717-221.407zm136.5 49.69c-37.396.183-76.304 40.32-75.72 93.436 27.76-61.158 76.168-72.398 130-51.25-12.783-29.8-33.303-42.29-54.28-42.187zm-225.47.593c-.532-.013-1.08.006-1.624.03-4.982.224-10.477 1.986-16.438 5.626 30.17 20.098 45.097 56.783 31.656 111.468 29.054-43.44 19.963-116.347-13.593-117.125zM20.25 149.53v40.5c39.124 3.345 76.562 22.105 109.813 60.25-13.216-53.944-61.76-91.727-109.813-100.75zm127.688 202.907c-60.802 8.268-60.422 39.282-119.188 32.657 49.566 43.217 76.473-8.307 119.188-32.656zm273.468 32.938c-22.266.2-51.875 6.393-80.687 8.063 38.87 19.01 104.58-4.72 116.186 29.625 5.516-30.448-10.265-37.914-35.5-37.688z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VibratingBall;

impl IconShape for VibratingBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M297.87 24.322c-40.38.374-80.665 13.623-114.077 39.72 73.64-37.01 166.104-24.977 227.547 36.464 61.442 61.44 73.013 153.443 36.002 227.084 57.598-73.738 53.068-180.48-14.77-248.317-37.098-37.098-85.97-55.4-134.703-54.95zm-27.25 63.123c-37.16.42-74.186 14.305-102.975 41.67 60.11-36.405 139.642-28.35 191.54 23.545 51.897 51.898 59.488 130.976 23.08 191.086 56.502-59.44 56.012-153.534-2.31-211.855C349.883 101.82 310.177 87 270.62 87.446zm-16.61 59.54c-28.304 0-56.606 10.797-78.2 32.392-43.19 43.19-43.19 113.214 0 156.404 43.188 43.19 113.21 43.19 156.4 0 43.19-43.19 43.19-113.213 0-156.403-21.594-21.595-49.897-32.393-78.2-32.393zm-132.635 28.4c-56.503 59.44-55.552 153.995 2.77 212.316 58.32 58.323 152.416 58.81 211.855 2.308-60.112 36.41-139.186 28.822-191.084-23.078-51.898-51.9-59.95-131.435-23.54-191.545zM56.297 191.54C-1.3 265.276 3.69 372.48 71.527 440.317c67.838 67.838 174.58 72.366 248.32 14.77-73.642 37.01-165.647 25.44-227.087-36.002-61.44-61.442-73.474-153.908-36.463-227.547z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VileFluid;

impl IconShape for VileFluid {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.875 18.375C220.39 207.41 99.905 207.03 99.905 339.563c0 89.282 81.826 153.843 160.97 153.843 80.922 0 157.78-64.24 157.78-147.312 0-127.22-115.946-139.043-157.78-327.72zM164.72 224.53c20.58 28.427 49.463 50.325 84.843 67.126-52.21 33.95-104.512 4.16-84.844-67.125zm186.56 0c19.67 71.285-32.632 101.076-84.842 67.126 35.38-16.8 64.262-38.7 84.843-67.125zm-228.467 91c13.56 15.95 31.694 29.396 52.968 39.25.824 19.023 7.407 34.174 23.75 53.376-.656-16.11.23-30.838 3.876-43.125 17.655 5.02 36.742 7.75 56.656 7.75 18.736 0 36.733-2.438 53.5-6.905 3.442 12.116 4.3 26.536 3.657 42.28 15.894-18.673 22.544-33.512 23.655-51.81 22.768-9.975 42.15-24.008 56.438-40.814-1.84 57.177-40.896 105.505-94.625 122.533L291.75 403.78l-12.625 39.564c-6.228.84-12.593 1.28-19.063 1.28-6.468 0-12.834-.44-19.062-1.28l-12.625-39.563-10.938 34.283c-53.73-17.03-92.788-65.358-94.625-122.532z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VineFlower;

impl IconShape for VineFlower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M398.97 17.5c-52.865.834-133.31 51.93-97.126 156.438 12.087-2.36 24.568-1.758 36.312 1.656-34.77-102.722 41.56-138.717 81.5-130.406 40.7 8.47 58.178 60.677 37.344 80.78-19.036 18.37-45.295 24.767-61.844 7.75-25.923-26.653-.047-63.278 37.97-58.968-45.166-23.858-83.427 26.427-59.22 61.406 24.985 36.103 82.66 40.462 109.063-5C514.27 77.258 461.215 18.47 401.56 17.5c-.865-.014-1.712-.014-2.593 0zm-170.814 1.688c13.627 38.648-4.29 53.002-19.72 72.124-9.066-27.893-32.84-41.827-55.53-41.593-24.57.252-47.854 17.088-49.75 50.78C127.812 50.362 191.84 60.614 191 130.625h.03c-.396 4.326-.44 9.015-.03 14.125 7.19-3.703 15.105-6.32 23.563-7.563 3.93-.574 7.85-.852 11.718-.812 3.115.033 6.183.28 9.22.688 7.406-38.218 61.06-55.133 37.188-117.875h-44.532zM87.47 21C-3.384 49.15 3.057 151.056 67.5 194.53c-35.316 19.842-53.083 74.65-16.25 121.126-17.08-51.437 7.57-97.026 45.813-97.906 14.594-13.436 34.042-20.828 54.062-20.313 1.31-6.294 3.39-12.338 6.156-18.03C49.75 184.102 4.483 81.236 87.47 21zm136.436 134.094c-2.206.052-4.442.24-6.656.562-27.155 3.99-46.7 26.346-48.906 52.563l-.844 9.905-9.844-1.47c-25.973-3.884-52.237 10.298-62.375 35.845-10.137 25.546-.758 53.864 20.814 68.844L124.25 327l-6.125 7.78c-16.145 20.615-17.167 49.867-.22 71.283 16.942 21.405 46.04 27.407 69.782 16.312l9.032-4.22 3.624 9.314c9.552 24.486 35.226 40.13 62.5 36.124 27.02-3.97 46.337-25.99 48.72-52.063l.905-9.842 9.78 1.437c25.973 3.886 52.237-10.264 62.375-35.813 10.138-25.548.728-53.86-20.844-68.843l-8.186-5.69 6.187-7.81c16.37-20.597 17.44-50.26.408-71.783-17.045-21.537-46.525-27.808-70.25-16.562l-9 4.28-3.688-9.25c-5.487-13.768-15.547-24.593-28.344-30.75-7.55-3.633-16.046-5.714-24.812-5.81-.73-.01-1.452-.02-2.188 0zm200.156 44.5c58.73 26.456 58.318 99.107-11.25 113.062-4.16-.044-8.443.217-12.812.813 4.47 9.48 7.003 19.854 7.313 30.467 56.123 3.103 80.57 64.37 42.75 116.907 60.76-39.278 48.297-109.04 3.5-136.563 58.818-28.563 48.388-120.77-29.5-124.686zM234.47 208.03l5.905 40.25c4.48.024 9.01.524 13.5 1.564l5.094-12.78 17.374 6.874-5.094 12.843c3.91 2.305 7.46 5.012 10.688 8.033l31.937-25.282 11.594 14.657L293.5 279.5c2.22 3.927 4.023 8.093 5.344 12.406l13.812-2.03 2.72 18.468-13.845 2.03c-.028 4.43-.538 8.882-1.56 13.313l37.936 15.032L331 356.093l-37.938-15.063c-2.3 3.917-4.98 7.487-8 10.72l8.72 11.03-14.657 11.595-8.75-11.063c-3.906 2.216-8.022 4.017-12.313 5.344L264 409.094l-18.47 2.72-5.936-40.408c-4.407-.015-8.838-.5-13.25-1.5l-5.156 13L203.813 376l5.125-12.938c-3.966-2.308-7.575-5.02-10.844-8.062l-31.97 25.313-11.593-14.657 31.97-25.312c-2.206-3.878-4.015-7.99-5.344-12.25l-13.656 2-2.72-18.5 13.595-2c.01-4.48.506-8.985 1.53-13.47l-37.78-15L149 263.75l37.78 15c2.317-3.96 5.046-7.58 8.095-10.844l-8.5-10.75 14.656-11.594 8.532 10.782c3.908-2.21 8.053-4.022 12.344-5.344L216 210.75l18.47-2.72zm4.5 58.876c-16.726.345-32.32 10.495-38.907 27.094-8.783 22.132 1.93 46.936 24.062 55.72 22.133 8.78 46.937-1.932 55.72-24.064 8.782-22.133-1.93-46.936-24.064-55.72-5.532-2.194-11.236-3.145-16.81-3.03zM50.405 387.78c-42.488 13.302-43.09 84.813 10.25 98.345 48.784 12.374 80.822-10.665 95.188-39.97-10.023-.934-19.82-3.876-28.813-8.655-10.313 19.2-29.745 33.275-60.5 24.063C32.05 451.23 25.348 407.9 50.407 387.78zm340.844 5.158c-8.206 10.524-18.95 18.563-30.97 23.562 20.846 17.897 28.375 43.38 18.564 77.97h36.906c11.214-40.23-.81-76.986-24.5-101.533z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VineLeaf;

impl IconShape for VineLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M379.625 19.844c-16.74.187-34.18 4.942-50.22 13.625-12.754 6.905-24.542 16.552-34.28 28.5-1.217-1.252-2.578-2.38-3.72-3.69-47.612-54.672-125.46-43.178-160.75 1.345-5.91 4.88-9.686 12.268-9.686 20.53 0 14.692 11.9 26.595 26.593 26.595 14.69 0 26.625-11.903 26.625-26.594 0-10.035-5.578-18.75-13.782-23.28 31.8-23.023 82.904-25.36 116.906 13.687 2.22 2.546 4.53 4.972 6.938 7.312-11.28 19.99-17.145 44.58-13.906 72.78-12.262-16.69-31.758-28.007-55.094-27.5-12.29.27-25.64 3.807-39.563 11.564-60.394 33.638-37.274 103.51-153.375 103.686 47.213 28.976 95.146 41.69 136.938 41.844-14.583 71.33 33.297 162.234 146.813 212-55.354-96.272 18.237-128.528 44.906-186.063 60.407 9.56 105.242-59.912 134.374 53.5 27.68-154.03-86.917-220.388-158.53-211.937-14.422 1.703-26.155 7.967-34.94 17.094-7.646-30.47-3.774-55.575 6.563-75.25 27.31 19.926 61.414 29.575 90.313 29.47 18.49-.07 35.196-3.904 46.875-13.75 11.68-9.85 16.05-26.89 9.375-44.595-8.432-22.363-27.576-35.638-48.97-39.532-5.347-.974-10.825-1.407-16.405-1.344zm.22 18.718c4.457-.065 8.76.29 12.842 1.032 16.328 2.972 28.704 11.517 34.813 27.718 4.736 12.56 2.46 18.326-3.938 23.72-6.396 5.392-19.18 9.285-34.906 9.343-24.812.092-55.875-9.065-79.78-26.47 8.326-10.05 18.477-18.082 29.405-24 13.51-7.312 28.19-11.147 41.564-11.343zm-140.69 128.313c6.397.06 13.328.942 20.907 2.78-72.17 14.765-84.3 99.482-165.156 81.782 70.31-9.934 82.423-85.154 144.25-84.562zm34 19.5c52.567 110.048-67.184 156.03-9.967 257.563-84.856-93.86 23.175-138.69 9.968-257.563zm24.908 3.906c42.292 46.343 133.717-11.018 164.093 90-43.937-71.563-131.402-22.378-164.094-90z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VineWhip;

impl IconShape for VineWhip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M91.72 30.938c-11.966.114-21.575 10.038-27.69 34.406-1.728-.12-3.42-.164-5.06-.125-.69.015-1.36.048-2.032.093C1.603 68.968.36 167.01 92.56 310.625c-71.938-175.71-35.61-226.565 44.282-157-38.505 17.613-21.605 45.215-5.344 73.5-1.287-30.686 19.758-38.518 24.313-55.563 23.737 24.213 50.402 57.545 78.656 99.907 7.732 11.593 15.377 22.474 22.936 32.75-14.56 10.542-7.932 33.297-35.656 45.217 31.126.735 54.204-3.397 53.313-22.187 80.447 100.804 148.373 127.744 184.875 115-1.53 14.002 8.962 28.752-6.313 49.22 33.763-18.444 52.77-37.19 20.375-57.25 42.036-35.254 14.252-124.714-40.78-181.44 52.787-50.407-8.977-89.516-72.22-104.874 27.52 21.707 21.675 48.652 32.22 73-13.708-8.013-28.228-13.7-43.126-16.28-4.14-.718-8.307-1.222-12.5-1.44-71.263-5.38-67.123 47.11-.875 69.97-31.727-11.35-33.71-67.642 16.405-52.03l-.03-.19c86.477 40.41 130.355 169.808 84.81 177.876-23.083 4.09-55.358-11.07-94.06-49.375 19.28-4.406 31.163-23.904 53.78-40.75-15.274-.834-29.638-4.237-41.406-3.937-14.15.36-24.508 6.105-28.19 28.094-19.554-21.58-40.526-48.67-62.624-81.813C195.646 146.4 134.198 90.384 90.094 72.063c14.436-5.612 29.11-15.96 54.406-5.874-19.786-20.743-38.067-35.39-52.78-35.25zm12.75 299.875c29.458 75.44 9.59 124.826-60.157 113.75C155.528 483.976 175.155 422 104.47 330.813z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VintageRobot;

impl IconShape for VintageRobot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M260.22 58.28c-33.15 0-60.763 22.89-68 53.782h136c-7.24-30.89-34.85-53.78-68-53.78zM146.06 130.75v194.188H381.22V130.75H146.06zm117.063 24.125c32.075 0 58.28 26.207 58.28 58.28 0 32.075-26.206 58.282-58.28 58.282s-58.28-26.207-58.28-58.28c0-32.076 26.206-58.282 58.28-58.282zm-135.75 40.22c-37.902 8.577-67.593 37.596-77.094 75.124-3.368.833-6.668 2.127-9.81 3.936-18.16 10.452-24.47 33.907-13.97 52.03l16.156-9.342c-5.428-9.37-2.296-21.078 7.125-26.5l.157-.063c9.396-5.302 21.1-2.135 26.5 7.19 5.43 9.374 2.3 21.043-7.124 26.467l9.312 16.188c18.16-10.453 24.466-33.905 13.97-52.03-1.42-2.454-3.09-4.682-4.94-6.69 5.013-20.46 20.205-36.686 39.72-44v-42.31zm272.53 3.25v44.624c13.927 8.56 24.357 22.155 28.345 38.436-1.848 2.007-3.517 4.235-4.938 6.688-10.497 18.126-4.19 41.578 13.97 52.03l9.312-16.187c-9.425-5.424-12.555-17.093-7.125-26.468 5.427-9.375 17.234-12.55 26.655-7.126 9.42 5.422 12.553 17.13 7.125 26.5l16.156 9.344c10.5-18.125 4.19-41.58-13.97-52.032-3.142-1.81-6.442-3.103-9.81-3.937-8.527-33.68-33.33-60.522-65.72-71.876zm-224.28 145.28v33.125c5.605-1.6 11.743-2.5 18.438-2.5 8.152 0 15.475 1.222 22 3.406v-34.03h-40.438zm141.688 0v33.47c6.063-1.826 12.78-2.845 20.187-2.845 7.424 0 14.164 1.085 20.25 3.03v-33.655h-40.438zm-123.25 49.313c-21.565 0-31.638 9.323-38.75 23.375-5.676 11.21-8.255 25.565-9.438 38.718h96.438c-1.052-13.284-3.285-27.65-8.75-38.81-6.833-13.953-16.734-23.283-39.5-23.283zm143.437 0c-22.766 0-32.668 9.33-39.5 23.28-5.466 11.162-7.698 25.528-8.75 38.813h96.438c-1.183-13.152-3.763-27.506-9.438-38.717-7.113-14.052-17.186-23.375-38.75-23.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Viola;

impl IconShape for Viola {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M243.563 38c-4.573.03-9.013.158-13.282.406-60.02 3.488-90.837 25.7-102 47.75-10.96 21.652-4.584 43.744 14.22 55.688 24.607 4.865 43.247 13.396 56.594 23.75 16.655-11.283 36.73-17.906 58.312-17.906.345 0 .688-.004 1.03 0 .128-25.1-7.24-49.852-26.342-68.25L245.064 66c23.964 23.083 32.516 53.65 32 83.563 21.826 4.184 41.28 15.19 55.998 30.718 21.47-4.24 48.327-5.663 81.282-2.936 22.53-6.344 32.215-16.125 35-26.53 2.842-10.62-1.267-24.84-13.47-40.158-24.402-30.633-79.4-62.203-147.03-69.937-16.484-1.893-31.565-2.806-45.28-2.72zm-109.72 120.594l.407.812c10.11 21.25 20.207 36.504 29.375 47.03 5.208-10.688 12.19-20.353 20.563-28.624-10.848-7.5-26.203-14.147-47.25-18.062l-1.657-.313-1.436-.843zm-39.53 1.625c-3.047-.018-6.205.288-9.438.936-13.425 2.69-27.935 11.42-39.563 26.53-23.255 30.226-35.36 86.202-3.093 167.94 24.787 62.864 73.113 102.805 113.06 114.218 19.975 5.706 37.26 4.27 49-3.156 11.436-7.233 19.148-20.417 19.564-43.375-15.82-34.955-24.59-63.755-28-87.282-14.43-10.597-26.05-24.795-33.5-41.28-31.368 11.772-55.317 29.418-64.5 51.594l-17.25-7.156c12.153-29.345 40.484-49.57 75.562-62.375-1.96-7.976-3-16.305-3-24.875 0-8.893 1.114-17.536 3.22-25.782-12.575-12.194-25.396-30.61-38.095-56.906-6.636-5.958-14.828-8.98-23.968-9.03zm163.093 6.155c-22.844 0-43.522 8.897-58.844 23.406 26.816 11.658 47.624 28.7 60.72 48.44 8.45-12.424 20.873-20.97 35-24.97 7.01-1.984 14.44-2.917 22.062-2.813 5.557.077 11.23.71 16.937 1.875-14.258-27.334-42.82-45.937-75.874-45.937zm123.406 28.28c-1.155.007-2.306.013-3.437.032-11.63.2-22.046 1.06-31.344 2.407 6.53 10.51 11.235 22.264 13.69 34.812 14.055-8.13 29.655-19.696 46.405-35.562l.78-.72c-7.885-.532-15.48-.893-22.592-.968-1.186-.012-2.345-.006-3.5 0zM185.97 204.782c-8.912 13.508-14.126 29.707-14.126 47.157 0 39.034 25.913 71.838 61.53 82.188 22.612-20.06 27.404-43.996 19.282-67.625-8.272-24.066-31.302-47.78-66.687-61.72zm249.343 1.72c-6.065.072-12.04 1.567-17.563 4.5-20.052 18.817-38.875 32.21-56.094 41.188-.043 18.268-4.823 35.438-13.156 50.375 19.783 16.692 36.69 37.34 43.906 63.28l-18 5c-5.632-20.25-19.64-37.64-36.75-52.437-12.015 14.49-27.856 25.672-45.97 32-3.397 20.358-12 43.13-27.467 67.625-5.88 22.9-2.46 38.35 5.53 48.376 8.12 10.188 22.107 15.962 40.72 15.813 37.223-.3 90.415-25.737 130.78-80.25 52.39-70.696 55.61-125.823 41.656-158.72-10.362-24.434-29.4-36.965-47.594-36.75zm-121.438 22.625c-5.135.1-10.004.82-14.5 2.094-13.703 3.878-24.05 12.528-29.5 26.874l-.438-.156c.308.817.624 1.646.907 2.468 8.87 25.802 4.486 54.115-14.406 77.094.488.008.978.03 1.468.03 47.37 0 85.563-38.21 85.563-85.592 0-6.2-.665-12.243-1.908-18.063-8.617-3.077-17.07-4.633-24.968-4.75-.744-.01-1.485-.014-2.22 0zm-96.594 119.03c4.124 18.422 11.452 40.516 23.126 66.47 1.747.238 3.486.443 5.25.625.248-1.032.502-2.08.78-3.125l.376-1.406.782-1.22c12.833-20 20.368-38.19 24.125-54.28-4.685.646-9.456 1-14.314 1-14.213 0-27.765-2.885-40.125-8.064z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Virus;

impl IconShape for Virus {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M122.156 19.47l-5.22 1.405L47.5 39.47l-5.22 1.405-1.374 5.22L22.28 115.53l-1.405 5.22 3.813 3.813 95.468 95.468 3.813 3.814 5.218-1.375 50.093-13.44c.49 8.758 4.812 17.78 12.814 25.782L341.25 383.97l-87.063-8.25-21.625-2.064 13.375 17.094 25.782 33-35.22 14.938-6.875 2.937 1.344 7.344 8.03 44.75h18.97L250.655 453l32.97-13.97 42.718 54.69h23.687l-48.592-62.25 63.937-27.095c12.634 5.195 26.962 1.96 36.156-6.313 6.05-5.442 10.338-13.19 10.72-22.03.342-7.924-2.687-16.32-8.938-23.594l31.375-84.844 60.97 5.25v-18.75l-66.47-5.72-7.093-.624-2.47 6.688-24.374 65.875-13.813-95.5 114.22-25v-19.157l-126.688 27.75-8.5 1.844 1.25 8.625 15.53 107.344-138.28-138.283c-7.515-7.513-16.656-11.092-25.5-11.406-1.065-.036-2.137-.023-3.19.032l13.564-48.78 1.406-5.22-3.813-3.812-95.468-95.47-3.814-3.81zm-5.562 20.874l87.812 87.812-15.28 57.094c-.834.765-1.626 1.58-2.376 2.438L129.562 203 41.75 115.187l15.78-59.062 59.064-15.78zm96 154.562c4.167.076 8.752 1.847 13.156 6.25l2.188 2.22L207.5 223.81l-2.188-2.218c-5.85-5.85-7.38-10.615-7.406-14.125-.01-1.27.17-2.456.53-3.564l.19-.062-.032-.344c.67-1.787 1.814-3.368 3.406-4.75 2.682-2.33 6.427-3.92 10.594-3.844zm28.562 21.656l16.22 16.22-20.47 20.437L220.72 237l20.436-20.438zM270.594 246l16.187 16.188-20.436 20.437-16.22-16.188L270.595 246zM300 275.406l16.53 16.53-20.436 20.44-16.563-16.532L300 275.406zm29.75 29.75l16.188 16.22-20.438 20.437-16.188-16.22 20.438-20.437zm29.438 29.406l14.093 14.125-20.436 20.47-14.125-14.126 20.467-20.467zm27.312 27.344l1.28 1.28c4.884 4.885 5.923 8.774 5.783 12.033-.14 3.258-1.72 6.407-4.532 8.936-5.62 5.06-14.173 7.013-21.686-.5l-1.28-1.28 20.436-20.47zm-112.47 34.47l50.94 4.812-35.44 15.03-15.5-19.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VisoredHelm;

impl IconShape for VisoredHelm {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.094 18.5c-74.34 0-138.073 62.498-156.188 148.438 52.758-7.697 102.23-22.044 153.938-45.094l4.125-1.813 3.967 2.064c49.424 25.667 97.648 41.026 150.657 46.406-17.66-86.744-81.71-150-156.5-150zm1.28 122.156c-57.41 25.148-112.883 39.993-172.53 47 6.724 32.847 6.91 65.935-.5 98.938 89.29 41.602 231.648 43.154 340.594-.125-10.762-32.516-11.727-65.66-1.188-98.408-59.03-4.235-112.628-20.06-166.375-47.406zm-13.5 33.125h18.72v127.75h-18.72V173.78zm-58.78 11.19h18.687v101.655h-18.686V184.97zm115.72 0h18.686v101.655h-18.688V184.97zm-171.72 14.905h18.687v79.28h-18.686v-79.28zm227.72 0h18.686v79.28h-18.688v-79.28zm38.748 116.75c-14.302 4.282-28.96 7.873-43.78 10.844l-19.22 64.06c26.114-17.337 48.002-43.31 63-74.905zm-277.53 2.875c13.95 28.257 33.448 51.85 56.562 68.53l-17.688-58.905c-13.397-2.61-26.387-5.826-38.875-9.625zm213.156 11.656c-51.63 8.175-104.745 8.588-153.72 1.438l20.845 69.5c18 8.52 37.49 13.187 57.78 13.187 18.588 0 36.507-3.92 53.22-11.124l21.875-73zm-195.5 47.156c-19.436 21.562-36.416 44.367-48.594 72.157 70.233-8.736 133.743 14.684 168.03 50.75 39.684-35.607 103.71-55.685 170.876-44.25-15.08-29.372-33.32-51.982-53.938-74-31.187 31.75-71.53 51-115.968 51-46.568 0-88.65-21.142-120.406-55.658z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Volcano;

impl IconShape for Volcano {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M26.125 19.97C85.93 41.742 125.45 76.81 153.845 125.28c20.807 35.52 35.428 78.442 46.624 128.282.646 5.295 1.186 10.563 1.686 15.813-48.006-64.42-118.568-102.565-181.594-103.75v.22c58.233 16.936 103.123 50.71 135.188 92.968-29.434-17.817-63.758-23.935-115.03-25.063 88.53 26.684 116.565 46.203 136.936 91.906-50.52-9.608-100.656 16.807-107.28 70 17.742-29.653 41.175-46.612 65.093-48.28 25.746-1.8 32.124 14.687 15.436 37.562l-6.687 8.125c-.162.176-.307.354-.47.53l.063-.03-1.563 1.906-75.938 51.5-.968.686-.78.875-41.064 46.44h24.938l29.374-33.19 76.032-51.56 1.094-.75.875-1.033L205.5 347.97l29.72 15.967 2.968 1.594 3.312-.686 34.656-7.03 1.375-.283 1.22-.655 16.375-8.906h2.25l53.75 57.124.5.53.53.438 113.408 88.907h30.03v-.19L365.782 392.97c-15.184-25.04-5.886-49.94 17.44-54.845 35.786-7.526 64.944-6.61 105.436 11.094-44.382-35.54-97.07-46.683-146.375-30.345 27.234-63.822 87.474-107.53 153.314-132.22v-.718c-68.792 7.528-131.456 37.83-177.844 84.875 11.63-57.224 27.12-105.994 50.28-145.53 28.366-48.42 67.863-83.47 127.564-105.25v-.063h-45.406c-42.903 23.262-74.69 55.603-98.282 95.874-12.098 20.65-22.08 43.34-30.53 67.97C332.187 116.106 353.705 53.018 394 19.968h-79.03c-28.243 100.098-41.47 200.18-52.314 300.28-.684-100.097-.42-200.185 12-300.28H183.75c23.25 68.337 31.688 136.213 34.094 207.218-12.94-81.71-35.23-150.175-70.313-207.22h-40.28c20.476 19.316 38.15 47.228 52.594 79.844-22.34-32.882-51.07-59.753-88.094-79.843H26.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Vomiting;

impl IconShape for Vomiting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M256.25 20.313c-108.64 0-196.78 90.592-196.78 202.937 0 84.615 49.994 156.904 121.093 187.438v-16.375c0-25.638-6.2-40.132-13.875-48.47-7.675-8.336-17.567-11.4-27.72-11.937-18.252-.97-32.4-12.266-40.905-27-6.47-11.205-5.975-24.767-.532-36.97 5.444-12.2 15.49-23.71 29.19-33.905 27.394-20.39 69.79-35.56 122.436-35.56 52.702 0 98.475 15.648 129.344 36.218 15.435 10.284 27.24 21.746 34.22 33.968 6.976 12.222 8.93 26.41 2.186 38.094-4.19 7.257-11.026 11.988-18.687 15.938-7.663 3.95-16.085 6.78-24.595 6.78-11.865 0-20.63 2.214-27.438 10.157s-12.437 23.63-12.437 52.688v16.437c71.195-30.488 121.28-102.814 121.28-187.5 0-112.347-88.14-202.938-196.78-202.938zm-76.656 86.718c1.53.02 3.05.078 4.562.157 14.525.766 28.29 4.3 41.063 9.97l17.31 7.687-16.624 9.062-84.062 45.875-8.938-16.405 65.156-35.563c-24.195-5.513-50.92-1.877-82.062 17.532l-9.875-15.844c25.778-16.066 50.528-22.75 73.47-22.47zm150.312 0c22.944-.28 47.722 6.404 73.5 22.47l-9.875 15.844c-31.14-19.41-57.865-23.045-82.06-17.53l65.155 35.56-8.938 16.407-84.062-45.874L267 124.844l17.313-7.688c12.772-5.67 26.506-9.203 41.03-9.97 1.514-.078 3.034-.136 4.563-.155zm-73.594 170.282c-68.947 0-113.104 15.367-116.843 37.907l.5.03c13.487.714 28.843 5.31 40.468 17.938 11.624 12.627 18.812 32.418 18.812 61.125v100.312h113.813V394.312c0-31.4 5.766-51.81 16.937-64.843 11.17-13.034 27.003-16.69 41.625-16.69.352 0 .76-.03 1.156-.06-6.417-22.614-49.872-35.408-116.467-35.408z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct VoodooDoll;

impl IconShape for VoodooDoll {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M323.3 19.97c-60.4.63-112.4 52.18-109 119.13l14.2-13.4 12.8 13.6-23.8 22.6c2.2 9.2 5.4 18.6 9.8 28.2-53.6-22.8-67-40.1-111.9-94.1-9.4-11.23-18.92-15.48-27.49-16.13-1.07-.1-2.14-.1-3.19-.1-7.36.24-14.13 3.22-19.35 8.03-5.96 5.5-9.71 13.3-9.77 21.7-.1 8.4 3.36 18 13.55 27.7 24.54 23.5 52.75 47.2 74.15 71.2 11.7 13.1 21.7 26.5 27.6 40.3 16 4.2 32 8.5 48 12.7l1.5 5c4.3 14.2 2.4 31.7-12.2 45.8l-3.9 3.7c-12.2-3.3-24.5-6.5-36.8-9.8-4.5 8.1-10.3 15-16.6 21-11.4 10.9-24.3 19.4-36.2 29-23.66 19.1-43.42 40.3-41.58 92.2 1.15 32.2 25.42 45.8 45.98 44.5 10.3-.6 19-4.9 24-12.6 5-7.8 7.2-19.9.9-38.5-5.5-16.6 2.9-33.5 15.3-45.2 12.5-11.7 30.4-19.4 48.6-15.3 10 2.2 16.2 10.7 19.4 19.1 3.2 8.4 4.8 17.8 6.9 27.5 4.1 19.4 9.5 38.7 25.2 50 30.4 21.7 61.3 18.2 74.9 6.6 6.8-5.8 9.7-12.8 8-22.1-1.7-9.2-9.1-21.5-26.3-34.5-19.7-14.9-24-41.6-22.2-67.1 1.9-25.5 9.9-51 20.3-67.8 6.3-10.1 17.3-13.7 29.4-16.8 12-3.2 26-5.6 40.5-9.3 28.9-7.4 58.5-19.3 76.3-50.6 8.7-15.4 10.8-28 9.3-37.1-1.4-9.1-6-15.1-12.5-18.7-13-7.1-35.8-4.2-54.6 21-13.7 18.2-39.5 26.6-69.2 28.6-9 .6-18.5.6-28.1-.1 2.4-1.5 4.9-3.1 7.4-4.8l.1-31.2h18.6v15.9c31.5-29.7 55.1-74.4 53.1-119.84 18.1 11.88 30.6 27.13 42 47.74 3.4-16.5-.2-32.57-8.1-47.99 16.2 6.7 28.6 17.11 41.4 27.1-4.8-20.07-14.7-33.13-29.5-43.24 16.7 1.34 26.1 5.24 40.8 12.74-11-24.93-55.2-50.35-98.3-35.21-16.7-6.54-34-11.16-49.4-11.13zm-34.6 54.34c11 0 19.8 8.87 19.8 19.81 0 10.98-8.8 19.88-19.8 19.88-10.9 0-19.8-8.9-19.8-19.88 0-10.94 8.9-19.81 19.8-19.81zm44.7 33.09c10.9 0 19.8 8.9 19.8 19.8 0 11-8.9 19.8-19.8 19.8-11 0-19.8-8.8-19.8-19.8 2.3-11.3 6.5-19.5 19.8-19.8zm-80.1 40.7l15 11.3-21 27.7-14.9-11.3c7-9.2 14-18.5 20.9-27.7zm28.1 16.8l17.8 5.7-10.1 31.6-17.8-5.7c3.3-10.5 6.8-21.1 10.1-31.6zM42.31 204.6c-16.92 20.2-19.8 44.5-18 72.1l30.38-17.1 3.31-1.8 3.66.9L198.7 295c5.5-6.5 6.2-11.9 5-18.2L66.72 240.4l-3.69-.9-1.94-3.3c-6.24-10.6-12.54-21.1-18.78-31.6zM326.2 309.8c-2.5 5.2-4.9 11.2-6.9 17.8l95.9 25.4c19.2 2.4 38.5 3.7 57.7 5.9l-51.7-22.8c-34.1-9.8-67.2-18.9-95-26.3z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Vortex;

impl IconShape for Vortex {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.188 17.5v152.063C66.86 258.63 151.98 320.656 248.28 341.092c7.287 2.303 15.034 3.563 23.064 3.563 6.747 0 13.288-.884 19.53-2.53-47.547 33.525-105.556 53.155-168.187 53.155-36.77 0-71.258-7.8-103.5-20.342v35.625c39.863 9.25 78.667 13.034 114.188 10.812 22.572-1.413 43.213-4.7 63.063-10.53-45.634 33.337-107.435 50.03-177.25 49.686v29.44c6.82.457 13.417.874 20.343.874 132.277 0 245.515-77.08 300.283-188.28.174-.357.357-.708.53-1.064.236-.48.463-.953.688-1.438-.046.417-.076.835-.124 1.25-7.255 62.57-34.964 122.59-82.937 170.563-7.697 7.696-15.647 14.944-23.94 21.594h104.595c28.33-57.514 37.687-120.485 29.125-180.72-3.284-23.093-8.64-45.25-16.938-67.188 53.172 71.838 78.54 160.38 71.47 247.907h73.374C492.68 363.235 416.173 252.043 305.406 199c-.273-.13-.538-.276-.812-.406-1.12-.54-2.227-1.045-3.375-1.53-.6-.278-1.183-.573-1.783-.845.102.086.21.16.313.25-4.324-1.73-8.834-3.08-13.5-4 61.317-7.77 125.604 3.935 183.25 37.218 8.896 5.135 17.562 10.86 25.656 16.78v-94.655c-22.682-5.175-45.22-7.668-68.125-7.97-66.77-.874-133.078 18.29-189.186 54.876-9.19 4.476-17.36 10.758-24.063 18.343 24.015-56.973 66.21-107.004 123.69-140.188 49.576-28.623 104.276-41.016 157.686-39V17.5h-118.78c-41.383 17.778-79.457 43.683-111.282 75.656 16.34-27.53 36.19-52.736 58.594-75.656h-42.032c-60.804 67.31-91.872 156.46-87 245.656-.093 1.544-.156 3.09-.156 4.656 0 14.815 4.25 28.65 11.563 40.407-47.44-37.913-83.766-90.83-100.625-153.75-12.45-46.46-12.248-92.975-2.657-136.97H19.188zm252.156 192.188c32.223 0 58.156 25.902 58.156 58.125 0 32.222-25.933 58.156-58.156 58.156-11.938 0-23.007-3.57-32.22-9.69 6.202 3.168 13.23 4.97 20.72 4.97 25.67 0 46.438-20.802 46.437-46.47.003-23.096-16.51-42.202-38.592-45.81 10.03 6.777 17 18.396 17 31.405 0 20.813-17.123 37.313-37.938 37.313-13.864 0-25.89-7.378-32.438-18.532-.72-3.67-1.125-7.457-1.125-11.344 0-32.223 25.934-58.125 58.157-58.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Vulture;

impl IconShape for Vulture {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M363.188 28.063c-34.372 0-62.25 27.863-62.25 62.218 0 2.92.204 5.782.593 8.595-17.072 3.958-33.287 12.576-46.592 25.875-12.052 12.046-30.82 44.714-50.813 83.625L120.25 272.28l32.03.72-84.718 43.406 74.032-3.562-38.438 25.656L143 336.125c-1.84 4.05-3.69 8.165-5.406 11.97l-121.688 66.25 46.75-1.283L19 461.094l46.75-17.03-3.625 32.873 126.938-104.28c5.69 16.434 15.305 28.105 27.156 32.624l32.124 59.47c-20.13 2.938-39.952 12.047-55.063 26.47h129.5c-13.087-17.008-32.674-25.766-53.624-27.283l-31.406-58.156c21.746-6.568 46.638-34.228 67.875-92.28 19.033-10.784 34.323-20.795 42.375-28.844 33.67-33.656 72.28-103.9 53.844-145.687.006-.006.025.004.03 0 38.314-5.095 66.074-7.915 86.438 21.53 5.48-46.96-25.07-65.864-57.406-74.53-1.616-6.128-4.74-11.664-8.97-16.157-8.466-24.3-31.55-41.75-58.748-41.75zm31.53 48.593c10.484 0 18.75 8.3 18.75 18.78 0 10.482-8.267 18.783-18.75 18.783-10.482 0-18.78-8.302-18.78-18.782s8.297-18.782 18.78-18.782z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WalkingBoot;

impl IconShape for WalkingBoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M272.5 18.906c-12.775.17-26.23 2.553-40.344 7.594-30.165 55.31-68.313 120.904-125.72 178.5-21.19 21.26-39.23 44.94-52.28 68.313 1.294 6.312 4.984 11.65 10.72 17.406 10.992 11.032 30.86 21.618 54.593 33.25 46.313 22.695 107.284 50.39 146.374 108.467l195.625.032c-20.198-70.834-100.276-101.12-159.064-83.94-.073.03-.145.066-.22.095-1.61.633-3.27 1.138-4.967 1.563-.024.005-.04.025-.064.03-8.86 2.204-18.82 1.68-29.125-.406-24.79-5.02-52.76-19.695-61.342-45.687-28.615-86.673 16.65-179.742 78.156-223.28 23.064-16.328 49.06-25.848 74.47-24.47.144.008.29.023.436.03-24.19-22.74-53.33-37.95-87.25-37.5zm81.75 56c-19.213.01-39.414 7.59-58.625 21.188-54.644 38.682-96.652 125.024-71.188 202.156 5.127 15.53 27.25 29.162 47.282 33.22 10.015 2.027 19.218 1.518 23.717-.283 2.25-.9 3.173-1.84 3.594-2.562.422-.72.81-1.663.25-4.375-9.08-44.167-2.743-84.61 22.533-114.47 23.586-27.863 62.753-45.462 117.406-50.686-15.014-47.145-37.47-71.226-61.314-80.03-6.407-2.368-13.032-3.706-19.812-4.064-1.272-.067-2.563-.094-3.844-.094zM43.78 294.22c-5.405 12.554-9.136 24.756-10.905 36.186 7.178 27.76 51.898 55.43 91.094 61.344 1.703-5.973 5.832-11.475 10.28-14.25 51.01 28.844 86.18 60.704 102 101h229.594c.697-9.613.44-18.712-.625-27.344l-204.314-.03h-5.125l-2.75-4.345c-35.405-55.575-93.93-82.58-141.78-106.03-23.925-11.724-45.17-22.336-59.625-36.844-2.978-2.99-5.618-6.225-7.844-9.687z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaspSting;

impl IconShape for WaspSting {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M235.75 42.28c-.68.006-1.353.01-2.03.032-3.1.11-6.195.404-9.25.907-20.682 3.4-40.108 14.714-55.376 30.28-18.356-6.394-37.205-10.75-56.656-12.563-2.31-.215-4.59-.333-6.844-.343-.752-.004-1.507.012-2.25.03-20.82.524-38.94 9.602-52.53 23.063-15.533 15.385-25.624 36.27-29.658 57.907-4.033 21.638-2.052 44.237 8.125 62.906 10.178 18.67 29.117 32.835 55.532 36.094 36.828 4.544 70.415 5.794 103.72 4.594l.437.406.374-.438c27.815-1.036 55.45-3.77 84.625-7.78-.814 7.602.168 14.882 3.155 21.31 23.12 15.608 47.78 19.41 76.72 11.22 3.638-1.957 7.24-4.17 10.75-6.687 10.992-7.885 19.667-17.44 25.592-27.47-10.102-20.476-13.347-41.67-9.656-62.53-6.924-3.75-15.252-5.577-24.28-5.47-.715.008-1.433.06-2.156.094-16.59-32.33-35.69-63.26-60.063-95.563-15.846-21-37.24-30.144-58.28-30zm2.188 18.532c14.892.16 28.934 6.522 41.156 22.72 22.482 29.797 40.225 58.18 55.75 87.812-2.768.87-5.543 1.875-8.313 3.062-44.5-38.158-89.732-72.463-138.124-93.344 11.76-10.097 25.604-17.187 39.094-19.406 3.515-.578 7-.88 10.438-.843zm165 17.563l-6.625 17.47c30.865 11.68 52.434 36.81 64.5 67.25-27.754-32.927-66.408-55.983-109.563-56.19l-.094 18.72c27.147.13 52.99 11.29 74.688 29.125-10.274 5.33-19.327 12.764-27.094 22.438-3.192 18.115.078 35.896 10.406 54.562 21.263 21.66 46.337 33.562 76.25 33.094 6.106-18.483 7.41-34.1 5.344-47.656-2.258-58.64-30.98-117.305-87.813-138.813zm-291.782 1.188c69.776 6.655 133.8 50.255 197.97 104.593-.27.19-.545.37-.813.563-1.253.897-2.465 1.84-3.657 2.78l-191.03-67.22-2.47-40.718zM92.5 80.656l5.563 91.156-59.094-23.343c.17-1.15.348-2.292.56-3.44 3.39-18.177 12.1-35.84 24.44-48.06 8.12-8.044 17.597-13.812 28.53-16.314zm22.375 59.844l109.656 38.594-43.624 47.656c-8.55.216-17.118.268-25.78.125l-37.657-43.938-2.595-42.437zm-76.72 27.75l63.657 25.125 27.907 32.563c-13.784-.8-27.915-2.095-42.595-3.907-21.254-2.62-33.857-12.56-41.438-26.468-4.322-7.93-6.81-17.322-7.53-27.312zm397.5 4.813c.374-.02.75 0 1.126 0 12.082 0 21.876 9.794 21.876 21.875 0 12.082-9.794 21.875-21.875 21.875-12.08 0-21.874-9.795-21.874-21.875 0-11.703 9.193-21.29 20.75-21.875zM242.782 185.53l47.032 16.532c-4.065 5.014-7.425 10.27-10 15.594-25.21 3.637-48.96 6.376-72.468 7.906l36.094-39.437-.657-.594zm19 85.157c-22.023 3.702-40.202 14.834-53.28 30.063 13.942 16.114 30.9 26.48 51.47 31.78 24.453 6.303 54.333 5.188 89.624-3.905-1.118-13.518-6.158-25.815-20.72-36.125-24.175.564-46.892-6.817-67.093-21.813zM197.595 316.5c-9.088 16.403-13.382 35.462-11.844 54.5 31.95 24.294 61.132 35.617 87.625 35.156 25.832-.45 50.003-11.76 73.594-35.875.625-7.607 1.596-15.078 2.25-22.342-35.35 8.516-66.727 9.7-93.94 2.687-22.447-5.785-41.876-17.308-57.686-34.125zm149.562 78.97c-22.667 18.85-47.38 28.92-73.47 29.374-26.433.46-53.628-8.724-81.498-26.53 10.815 26.82 35.084 50.75 75.968 63.31 22.05 3.672 40.392 3.026 54.906-1.437 16.862-5.183 28.98-15.113 37.688-31.312-8.31-10.982-12.13-22.215-13.594-33.406zm150.406 12.655c-21.934 13.607-78.608 25.768-99.343 15.594-4.52 19.162-15.06 21.715-23.47 18.28-8.854 14.47-21.072 25.37-35.97 32.156 30.077 21.514 136.794 17.434 158.783-66.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterBolt;

impl IconShape for WaterBolt {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M16.656 13.78v101.626C24.09 156.98 37.52 198.146 58.72 234c-10.608 4.22-18.095 14.576-18.095 26.688 0 15.858 12.83 28.687 28.688 28.687 9.17 0 17.337-4.306 22.593-11 31.064 32.862 72.3 56.826 126.03 65.5 1.762-19.596-.38-43.662-7.03-70-.153-.606-.312-1.208-.47-1.813-49.262 3.933-112.35-46.09-155.405-128.03 14.51-4.115 25.564-25.078 25.564-50.313 0-19.337-6.505-36.154-16.063-44.814 61.958-27.854 164.946-1.763 227.22 33.782-48.7-42.11-91.218-65-162.938-68.907H16.656zM383 24.25c-9.352 0-16.938 7.586-16.938 16.938 0 9.35 7.586 16.937 16.938 16.937 9.352 0 16.938-7.586 16.938-16.938 0-9.35-7.586-16.937-16.938-16.937zm30.97 36.78c-17.564 0-31.783 14.25-31.783 31.814 0 17.563 14.22 31.78 31.782 31.78 17.562 0 31.81-14.217 31.81-31.78 0-17.563-14.248-31.813-31.81-31.813zm-240.19 1.814c-23.255.037-43.425 6.88-56.655 21-26.065 38.438-14.82 82.045 10.5 115.062 13.28 17.317 35.624 20.438 44.97 11.094 4.852-4.853 5.86-12.614 3.53-21.125l.906 1.28c26.775 20.566 52.716 59.879 66.345 104.657 19.984 65.66 6.223 118.565-30.72 118.094-13.853-.177-28.85-8.127-43.436-21.094 3.344 1.275 6.57 2.298 9.81 2.657 13.533 1.502 23.973-5.532 30.72-18.72-22.275 9.978-56.66.58-94.656-21.75 11.065 14.657 23.428 29.71 37.125 43.406 103.223 103.225 240.478 132.925 306.686 66.72 66.208-66.207 36.506-203.495-66.72-306.72-13.695-13.697-28.745-26.028-43.405-37.094 22 37.434 31.45 71.36 22.19 93.657-9.23-32.292-33.12-67.81-68.72-97.407-41.758-34.72-89.71-53.773-128.47-53.72zm21.22 56.25c1.46 0 2.952.04 4.438.094-10.142 20.03 1.824 47.9 28.406 64.187 28.2 17.28 62.132 14.965 75.78-5.188 3.377-4.983 5.195-10.59 5.595-16.468 4.746 3.446 9.443 7.065 14.06 10.905 17.895 14.878 32.534 31.425 44.033 48.156-.3.442-.587.885-.907 1.314-28.493 38.214-120.112 11.177-207.625-59.625-.09-.076-.188-.145-.28-.22-1.39-1.226-2.813-2.405-4.25-3.47-.01-.008-.02-.02-.03-.03-.013-.01-.02-.023-.032-.03-1.388-1.15-2.772-2.3-4.157-3.47.41.482.815.955 1.22 1.438-6.606-4.294-13.447-6.837-19.53-7.407 1.99-3.338 4.274-6.435 7-9.343 13.23-14.118 33.094-20.86 56.28-20.843zM411.03 271.53c10.32 5.475 20.25 12.5 29 21.25 44.725 44.727 46.48 115.272 4.314 157.44-42.167 42.166-112.618 39.724-157.344-5-8.59-8.592-15.223-18.3-20.656-28.408 42.458 22.617 94.995 17.724 129.062-16.343 3.287-3.288 6.263-6.743 9-10.345-16.205-.64-29.156-13.982-29.156-30.344 0-16.77 13.604-30.342 30.375-30.342 7.28 0 13.957 2.572 19.188 6.843 1.82-21.772-2.845-44.393-13.782-64.75zm-26.53 8.75c10.948 0 19.813 8.897 19.813 19.845 0 10.948-8.865 19.813-19.813 19.813-10.948 0-19.844-8.865-19.844-19.813 0-10.948 8.896-19.844 19.844-19.844zM60.906 326.564c-9.352 0-16.937 7.554-16.937 16.906 0 9.35 7.584 16.936 16.936 16.936s16.907-7.585 16.907-16.937c0-9.353-7.555-16.908-16.907-16.908z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaterSplash;

impl IconShape for WaterSplash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M163.53 21.28c-4.262.042-8.402 1.318-11.936 3.782-14.61 10.188-21.734 41.505 11.03 69.97-.874 22.855 41.786 26.99 24.845-6.657 15.375-44.718-5.465-67.27-23.94-67.094zm255.25 9.564c-6.193.008-12.997 2.884-16.78 8.625-23.15 35.122 1.875 53.016 25.875 14.936 9.863-15.65 1.23-23.575-9.094-23.562zm-41.717 63.468c-63.42 56.883-111.03 138.435-247.688 80.938 18.578 53.492-6.768 71.09-31.313 76.28-8.846-6.104-17.503-14.193-25.374-24.28l-19.282-24.72 2.625 31.25c5.134 61.565 27.576 107.054 64.782 136.376 37.207 29.322 88.146 42.22 149.25 42.22 95.388 0 181.77-60.905 213.563-148l5.344-14.657-15.408 2.186c-5.34.757-9.54.544-12.812-.28l31.688-60.157c-14.324 6.135-29.355 13.593-43.97 20.25 1.73-13.324 5.75-30.14 12.72-50.282l10.312-29.875L446.594 151c-25.463 19.87-52.84 43.613-79.78 63.25-8.948-17.862-7.626-54.075 10.248-119.938zM33.188 139.906c-8.878-.007-18.012 11.466-15.688 22.688 6.156 29.728 35.794 21.19 28.844-7.75-2.593-10.795-7.83-14.934-13.157-14.938zm401.343 44.906c-6.213 24.132-7.675 43.034-3.936 57.844 2.573 10.193 8.258 18.705 16.562 23.5 4.09 2.36 8.58 3.803 13.375 4.47-29.9 20.703-73.522 6.61-53.53-46.72-85.188 114.645-173.707 126.336-202.156 39.125-14.613 86.63-105.328 67.462-125.75-2.342 22.01 18.3 47.298 26.824 70.656 22.25 15.653-3.066 29.977-12.394 40.25-27.438 5.99-8.77 10.622-19.464 13.813-32 13.008 21.732 28.002 35.802 44.812 43.094 22.92 9.942 47.727 6.613 71.688-3.22 39.206-16.086 78.357-49.144 114.218-78.562zm-6 179.688c11.396 7.638 18.095 16.212 18.095 25.125 0 32.772-85.57 59.563-190.375 59.563-104.804 0-189.813-26.79-189.813-59.563 0-8.645 6.17-17.1 16.938-24.53-39.8 13.298-64.844 31.22-64.844 50.81 0 41.02 106.547 74.158 237.72 74.158s237.688-33.137 237.688-74.157c0-19.793-24.892-38.038-65.407-51.406z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaveCrest;

impl IconShape for WaveCrest {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M298.844 21.47c-19.177.074-37.7 9.793-43.156 29.06-21.613-18.783-57.038-5.957-57.97 13.907-.397.11-.79.234-1.187.344-12.147-4.116-20.077-.304-24.186 7.44-18.52-14.45-44.42-1.614-51.188 19.218-14.786-17.19-42.58 4.042-30.406 25.124.188.327.397.63.594.938-4.788 3.64-9.477 7.395-14.063 11.28-7.26-3.534-15.395-5.344-23.56-5.155-13.145.303-26.367 5.78-36.19 17.625v118.063c6.726 4.154 16.51 6.48 24.94 5.375-7.202 19.076-12.8 38.67-16.75 58.437-.277.918-.546 1.85-.782 2.813-.782 3.182-1.24 6.21-1.407 9.093-9.176 55.403-5.31 111.628 13.095 161.126H56.72c-15.91-39.335-21.726-84.3-18.095-129.875 20.554 13.602 55.617 7.05 63.563-25.31 7.245-29.515-15.273-47.982-38.126-47.876-4.062.02-8.143.638-12.062 1.875 5.06-17.025 11.418-33.773 19.063-49.94 5.86-12.39 12.446-24.437 19.75-36.03 13.37 8.93 38.33 6.824 41.25-21 1.343 4.814 9.112 7.514 15.656 7.438-10.532 23.45-18.023 48.2-22.564 73.343-8.506 47.1-6.837 95.784 4.625 140.564-22.214 3.28-24.636 38.295 1.22 38.844 4.18.087 7.748-.735 10.72-2.188 7.164 17.84 16.073 34.685 26.686 50.156h23.156c-45.083-57.982-62.535-143.55-48-224.03.185-1.024.4-2.042.594-3.063 12.583 16.662 30.995 16.28 44.313 7.156.098 7.433.444 14.858 1.06 22.25 6.366 76.193 39.422 149.527 91.626 197.686h29.156c-57.272-43.11-95.5-119.53-102.156-199.22-5.615-67.22 10.893-136.265 56.125-190.155-22.662 48.81-28.814 101.335-22.405 152.032-10.69 7.01-16.59 20.936-7.063 35.813 4.65 7.262 10.705 10.994 16.938 12.125 2.012 7.007 4.255 13.938 6.72 20.78 25.606 71.122 74.834 133.122 135.936 168.626h43.28c-69.03-26.022-128.378-90.037-158.405-166.47 12.857.64 25.67-14.788 16.658-29.686-3.872-6.39-9.452-9.026-14.97-9 3.396-7.17 3.52-15.913-2-24.53-4.954-7.738-11.826-11.5-18.874-12.25-5.378-44.973-.098-91.102 18.812-134.345l.906 1.75C273.37 181.75 290.925 240.357 322.625 289c10 15.346 21.402 29.735 33.906 42.938-1.243-.215-2.44-.324-3.592-.313-19.654.194-25.004 31.01-1.75 36.72 15.508 3.807 23.524-8.896 21.687-20.408 34.925 31.702 76.562 54.554 119.906 64.094v-19.217c-59.818-14.523-117.576-57.376-154.5-114.032-24.12-37.01-39.39-79.608-41.092-124 4.408-66.014 98.113-44.375 115.656-5.155-6.523-34.758-23.54-58.183-46.094-73.188 15.407-13.958-4.283-37.503-20.813-26.156-8.08-19.323-27.917-28.886-47.093-28.81zm-138.625 2c-2.13.103-4.395.752-6.72 2.03-16.766 9.213-4.997 35.847 12.75 26.094 15.18-8.345 7.774-27.85-5.125-28.125-.3-.008-.602-.016-.906 0zm264.155 22.874c-19.126-.404-22.245 28.57-2 29 20.526.43 21.4-28.59 2-29zM53.5 75.687C43.338 76.05 33.672 88.067 40.562 100c10.167 17.61 36.35 2.13 25.594-16.5-3.315-5.743-8.037-7.977-12.656-7.813zm69.906 42.282c.402.812.812 1.623 1.28 2.436 2.326 4.027 5.03 7.26 7.97 9.813-10.67 9.647-20.636 19.996-29.875 30.936-1.62-8.085-5.26-15.083-10.25-20.78 6.11-5.04 12.437-9.807 18.907-14.376 4.71-1.154 9.05-4.033 11.97-8.03zM181 123.062c2.093 2.72 4.457 5.205 7.063 7.374-4.182 5.037-8.18 10.204-11.97 15.5-2.8-4.34-6.46-8.03-10.593-10.812 6.088-2.494 11.522-6.697 15.5-12.063zm240 51.593c-25.802.693-29.64 40.193-1.594 40.78 28.89.61 30.117-40.2 2.813-40.78-.422-.01-.81-.01-1.22 0zm-244.188 4.625c3.198 9.806 12.542 14.786 22.125 13.69-2.288 8.29-4.19 16.68-5.718 25.124-6.353-6.258-13.926-9.102-21.5-9.25-3.403-.067-6.787.43-10.064 1.375 4.41-10.618 9.46-20.953 15.156-30.94zm280.47 42.22c-18.49-.39-21.542 27.59-1.97 28 19.844.417 20.725-27.608 1.97-28z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaveStrike;

impl IconShape for WaveStrike {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M26.81 17.81c10.67 36.57 30.31 58.68 55.5 75.35 26.29 17.44 58.89 28.24 92.29 40.54 33.3 12.2 67.5 25.8 96.1 50.1 24.8 21 45 50.1 56.5 91.7 10.1-7.8 19.9-15.9 29.7-24.1-8.3-37.9-24.5-64.1-45.5-84.1-23.6-22.6-53.6-37.2-85.3-49.8-31.7-12.6-65-23.03-94.6-38.03-28-14.23-53.03-32.96-68.81-61.66zm57.78 0C98.03 37.41 117.1 51.19 140 62.78c27.6 14.01 60.4 24.43 92.9 37.32 32.6 12.9 65 28.4 91.4 53.6 21.6 20.6 38.8 47.7 48.5 84 10.5-9.2 20.8-18.4 31-27.6-4.3-31.9-16-55.5-32.3-74.3-19-21.8-44.7-37.13-73.3-49.46-56.8-24.5-124.1-35.88-167.4-68.53zm82.51 0c38.1 18.53 90.6 30.71 138.5 51.38 30 12.93 58.4 29.52 80 54.31 18.8 21.6 32.2 49.4 36.9 85.1 11.4-.1 22.9-1.5 34.3-4.5 6.1-51.1-23.9-93.1-67.2-125.35C345 45.62 286.7 24.27 245.4 17.81zm148.5 0c29 11.09 58.9 26.47 85.1 45.94 47.9 35.62 83.9 86.45 73.8 148.25l-.6-.1c-3.8 20.7-11.7 36.8-22.9 50.6-16 19.7-39.1 34.5-66.9 48.3-55.5 27.5-128.8 50.1-192.8 103.4-12 12.2-24 24.6-34.2 35-1.2-11.3-2.4-22.7-3.6-34l-11.4 4.4c-33.6 13.1-62.29 31.7-89.75 50.9-5.29-2-8.91-4.8-11-8.2-2.2-3.5-3.12-8.2-1.97-14.7l78.92-48.1c15.7-8.3 13.8-40.6 9.2-52.7l22.5 9.6c-.2-16.1-3.9-26.7-9.4-34.4-7.1-10-18.3-16.1-33.1-21.5-24.53-8.9-57.97-14.7-87.66-36.1v30.9c20.08 21.4 47.71 29.1 67.72 34.7 8.46 2.2 18.14 14.2 22.04 22.5 5.2 11.4 4.5 22.9-2.5 31.9l-80.98 49.4c-2.98 1.4-3.33 2.5-4.15 5.5-3.28 12.2-2.11 23.9 3.5 32.9 5.61 9 15.05 14.8 25.9 17.7l4.22 1.2c27.61-18.5 56.11-37.7 81.91-49.3l3.1 29.2 2 19.8 13.9-14.3 47.1-48.2c60.5-50.2 131.3-72.2 188.8-100.8 28.8-14.3 54.5-30.3 73.1-53.2 17.8-21.8 28.5-49.9 29.5-86.3.2-4.7.1-10 .1-14.9-.6-69-72.7-132.82-133-155.29zM19.84 51.03v52.77c10.49 24.4 27.77 38.9 49.75 50.2 23.38 12.1 51.91 19.7 80.61 29.4 28.7 9.7 57.7 21.6 81.3 43.3 20.9 19.3 37 46.3 44.6 84.6 11.9-7.3 23.5-15.2 34.9-23.6-10.1-42.4-28.8-69.7-52.4-89.7-25.6-21.7-57.5-34.7-90.4-46.8-33-12.1-67-23.2-96.2-42.5-20.95-13.81-39.27-32.22-52.16-57.67zm0 87.87v38.8l.22-.2c24.58 35 70.31 41.2 114.94 56.5 22.3 7.6 44.3 17.8 61.3 36.3 14.6 15.9 25.2 37.6 29.6 67.4 11.2-4.9 22.2-10.3 33-16.3-6.3-38.7-20.9-63.2-40.1-80.9-20.4-18.9-46.7-30-74.5-39.4-27.9-9.4-57.29-17.1-83.24-30.4-15.4-8-29.67-18.2-41.22-31.8zm0 66.4v35c27.88 25.8 63.2 31.5 94.06 42.6 16.2 5.9 31.5 13.7 41.9 28.2 8 11.1 12.5 25.7 12.9 44.5 13.4-2.6 26.5-6.3 39.3-10.9-3.5-29.2-12.9-48.1-25.4-61.7-14-15.2-32.6-24.1-53.6-31.3-35.75-12.2-78.62-18.6-109.16-46.4z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Waves;

impl IconShape for Waves {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M400.9 104.8c-12 30-41 47.9-99.7 43.9-13.7-1.8-27.6-4.1-41.6-6.7-119.1-37.2-236.24-37.2-236.24 37.2 33.48-37.2 117.74-30.8 225.04-4 116.8 29.2 241.8 41.2 241.8-51.8-18.4 19.3-53.4 28.6-96.6 30.4 10-10.4 12.5-26.7 7.3-49zM147 187.5c-70.75-.3-123.64 16.1-123.64 66.1 33.48-37.2 117.74-34.8 225.04-8 116.8 29.2 241.8 45.2 241.8-47.8-35.4 37.2-130.2 39.6-230.6 8-37.7-11.9-78-18.2-112.6-18.3zm-23.9 69.6c-58.44-.2-99.74 15.6-99.74 70.9 33.48-37.2 122.34-44.3 225.04-18.6 121 30.2 241.8 37.2 241.8-37.2-35.4 37.2-132.1 22.6-230.6 4-48.4-7.5-96.5-19.1-136.5-19.1zm0 74.3c-58.44-.1-99.74 15.8-99.74 71 19.03-21.1 55.52-30.3 102.54-30.8-10.4 10.4-12.9 26.9-7.7 49.4 13.9-34.8 52-51.8 130.3-37.2 122.6 22.8 241.7 37.2 241.7-37.2-35.4 37.2-132.1 18.6-230.6 0-48.4-7.6-96.5-15.1-136.5-15.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WavyChains;

impl IconShape for WavyChains {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M440.5 39.2c-17.7 0-32.3 14.6-32.3 32.4v1.3c-10 3.1-20 6.4-29.9 10-5.9-8.2-15.4-13.5-26.1-13.5-17.8 0-32.4 14.6-32.4 32.3 0 1.8.2 3.6.4 5.3-9.6 4.6-19.1 9.4-28.4 14.5-5.8-5.5-13.7-9-22.3-9-17.7 0-32.3 14.6-32.3 32.3 0 3.4.5 6.7 1.5 9.8-9.7 6.9-19.1 14.1-28.3 21.6-4.3-2.1-9.1-3.3-14.2-3.3-17.7 0-32.3 14.6-32.3 32.3 0 4.2.8 8.2 2.3 11.9-8.4 8.8-16.5 17.9-24.3 27.4-3.5-1.2-7.2-1.9-11.1-1.9-17.7 0-32.32 14.6-32.32 32.3 0 7.5 2.62 14.4 6.92 19.9-5.82 9.1-11.52 18.5-16.9 28.2-2.1-.4-4.3-.6-6.53-.6-17.75 0-32.31 14.5-32.31 32.3 0 9.8 4.46 18.6 11.44 24.6-3.38 7.9-6.66 16-9.79 24.3-.54-.1-1.1-.1-1.65-.1-17.75 0-32.36 14.6-32.36 32.4 0 11.2 5.85 21.1 14.64 27-2.73 9.7-5.3 19.7-7.73 29.9h19.2c2.03-8.4 4.17-16.5 6.41-24.6 17.67-.1 32.15-14.6 32.15-32.3 0-10.6-5.21-20.1-13.19-26 2.96-7.9 6.01-15.6 9.19-23.1 1.31.1 2.65.2 4 .2 17.71 0 32.33-14.6 32.33-32.3 0-9-3.7-17.1-9.7-23 5-9 10.2-17.8 15.5-26.3 3.4 1.2 7 1.9 10.7 1.9 17.8 0 32.4-14.6 32.4-32.4 0-7.4-2.6-14.2-6.8-19.7 6.8-8.2 13.8-16.1 21-23.8 5.3 3.9 11.8 6.1 18.8 6.1 17.8 0 32.4-14.5 32.4-32.3 0-6.1-1.8-11.9-4.8-16.8 8.1-6.6 16.4-12.8 24.9-18.9 5.7 4.8 12.9 7.7 20.8 7.7 17.8 0 32.4-14.6 32.4-32.3 0-2.7-.4-5.3-1-7.7 8.9-4.9 18-9.5 27.3-13.8 5.9 6.5 14.5 10.7 23.9 10.7 17.8 0 32.4-14.6 32.4-32.4v-1.5c9.8-3.5 19.7-6.8 29.8-9.8 5.9 8.2 15.5 13.5 26.2 13.5 16.6 0 30.4-12.7 32.2-28.9 7.3-1.6 14.6-3.2 22-4.6v-19c-8.5 1.6-17.1 3.4-25.5 5.3-5.4-10.4-16.3-17.5-28.7-17.5zm0 18.7c7.7 0 13.7 6 13.7 13.7 0 7.6-6 13.6-13.7 13.6-7.6 0-13.6-6-13.6-13.6 0-7.7 6-13.7 13.6-13.7zm-88.3 30.2c7.6 0 13.6 6 13.6 13.6 0 7.7-6 13.7-13.6 13.7-7.7 0-13.7-6-13.7-13.7 0-7.6 6-13.6 13.7-13.6zm142.5 12.5c-15.8 2.6-27.8 16.9-27.1 33.3 0 .7.1 1.4.2 2.1-6.2 1.5-12.4 3.1-18.6 4.9-6-9.4-16.7-15.5-28.5-15-17.8.7-31.8 15.9-31 33.7v.8c-5.1 2-10.2 4-15.2 6.1-6.1-8.5-16.3-13.9-27.5-13.4-17.7.7-31.7 15.9-31 33.7.1 2.7.6 5.4 1.4 8-6.7 3.8-13.3 7.8-19.8 12-6.2-6.3-14.9-10.1-24.4-9.7-17.7.8-31.7 16-31 33.7.3 5.3 1.8 10.3 4.3 14.7-5.2 4.5-10.2 9.2-15.2 14.1-5.1-3-11.1-4.6-17.5-4.3-17.7.7-31.7 15.9-30.9 33.6.3 7 2.8 13.4 6.8 18.5-4.3 5.9-8.5 11.9-12.6 18.1-3.7-1.3-7.7-1.9-11.8-1.7-17.8.7-31.8 15.9-31 33.6.4 9.6 5 18.1 12 23.7-2.8 6-5.4 12-8 18.2-1.6-.1-3.3-.2-5-.2-17.8.8-31.7 15.9-31 33.7.5 11.2 6.7 20.9 15.7 26.3-3 10.9-5.6 22.1-8.1 33.7H129c2.1-10 4.5-19.6 7.1-29 17.6-.8 31.6-16 30.8-33.7-.4-9.4-4.8-17.8-11.6-23.5 2.5-6.2 5.2-12.4 7.9-18.4 1.6.2 3.1.2 4.7.2 17.8-.8 31.7-15.9 31-33.7-.3-7-2.9-13.5-7-18.7 4-6.2 8.2-12.1 12.5-18 3.8 1.4 7.9 2.1 12.1 1.9 17.7-.8 31.7-15.9 31-33.7-.2-4.9-1.6-9.5-3.8-13.7 5.1-5 10.4-9.8 15.7-14.5 4.9 2.6 10.6 4 16.5 3.8 17.7-.8 31.7-16 31-33.7-.1-1.8-.3-3.6-.7-5.4 6.9-4.4 13.9-8.7 21.1-12.8 6.1 5.2 13.9 8.2 22.4 7.8 17.7-.7 31.7-15.9 31-33.6v-.2c5.1-2.2 10.3-4.2 15.5-6.2 6.2 8.1 16.2 13.3 27.1 12.8 17.1-.7 30.8-14.8 31-31.7 6.9-1.9 13.9-3.7 20.9-5.5 4.9 5.8 11.8 9.9 19.5 11.1v-19.2c-4.8-2-8.2-6.5-8.4-12.1-.3-6 3.2-11.1 8.4-13.2zm-225.2 30.6c7.7 0 13.7 6 13.7 13.7 0 7.6-6 13.6-13.7 13.6-7.6 0-13.6-6-13.6-13.6 0-7.7 6-13.7 13.6-13.7zm151.9 13.4c7.7-.3 13.9 5.4 14.3 13.1.3 7.6-5.5 13.8-13.1 14.1-7.7.4-13.9-5.4-14.2-13-.3-7.7 5.4-13.9 13-14.2zm-73.6 27.2c7.6-.3 13.9 5.4 14.2 13 .3 7.7-5.5 13.9-13.1 14.2-7.6.4-13.9-5.4-14.2-13-.3-7.7 5.4-13.9 13.1-14.2zm137.7 14.9c-16.2.7-29.2 13.4-30.8 29.1-9.3 2.7-18.4 5.6-27.3 8.7-6.2-7.3-15.6-11.8-25.8-11.3-17.8.7-31.7 15.9-31 33.6 0 .8.1 1.5.2 2.3-8.3 4.4-16.3 9-24.1 14-5.8-4.2-12.8-6.6-20.4-6.3-17.7.8-31.7 16-30.9 33.7.1 3.7.9 7.2 2.2 10.5-8 7.6-15.7 15.7-22.9 24.3-4.1-1.7-8.7-2.6-13.4-2.4-17.7.7-31.7 15.9-31 33.7.4 8.1 3.8 15.4 9 20.9-5.6 10.4-10.7 21.3-15.3 32.8-24.7 0-31.4 19.6-31.3 33.6.5 10.1 5.6 19 13.1 24.6-1.8 7.9-3.4 16-4.8 24.3h19c1.1-6.1 2.3-12.1 3.6-17.9.9.1 1.8 0 2.8 0 17.7-.7 31.7-15.9 31-33.6-.5-11.1-6.6-20.7-15.3-26.1 4-10 8.5-19.4 13.4-28.4 2.7.6 5.6.9 8.5.7 17.7-.7 31.7-15.9 31-33.6-.3-6.3-2.4-12.1-5.8-17 6.4-7.4 13.1-14.5 20.1-21.2 5.6 3.9 12.4 6.1 19.7 5.8 17.8-.8 31.7-15.9 31-33.7-.1-3.4-.8-6.7-2-9.8 6.6-4.1 13.3-8 20.2-11.7 6.3 7.4 15.7 11.9 26 11.5 17.7-.8 31.7-15.9 31-33.7 0-.8-.1-1.6-.2-2.4 7.6-2.7 15.4-5.2 23.3-7.5 5.7 10.6 17.1 17.7 29.9 17.1 2.2 0 4.4-.4 6.5-.9v-20.2c-2 1.5-4.5 2.4-7.3 2.5-7.6.3-13.9-5.5-14.2-13.1-.3-7.6 5.4-13.9 13.1-14.2 3.2-.1 6.1.8 8.4 2.5v-20.2c-3.4-.8-5.9-1-9.2-1zm-289.3 4.9c7.7 0 13.7 6 13.7 13.6 0 7.7-6 13.6-13.7 13.6-7.6 0-13.6-5.9-13.6-13.6 0-7.6 6-13.6 13.6-13.6zm77.8 24.2c7.6-.3 13.9 5.4 14.2 13.1.3 7.6-5.4 13.9-13.1 14.2-7.6.3-13.9-5.5-14.2-13.1-.3-7.6 5.5-13.9 13.1-14.2zm128.3 16c7.7-.3 13.9 5.5 14.2 13.1.3 7.7-5.4 13.9-13 14.2-7.7.3-13.9-5.4-14.3-13.1-.3-7.6 5.5-13.9 13.1-14.2zm-271.5 29.5c7.7 0 13.7 6 13.7 13.6 0 7.7-6 13.7-13.7 13.7-7.6 0-13.6-6-13.6-13.7 0-7.6 6-13.6 13.6-13.6zm83.8 12.6c7.6-.3 13.9 5.5 14.2 13.1.3 7.6-5.4 13.9-13.1 14.2-7.6.3-13.9-5.4-14.2-13.1-.3-7.6 5.4-13.8 13.1-14.2zm112.5 1.6c7.7-.3 13.9 5.5 14.2 13.1.4 7.6-5.4 13.9-13.1 14.2-7.6.3-13.8-5.4-14.1-13.1-.4-7.6 5.4-13.8 13-14.2zm123.2 7.6h-1.7c-17.7.7-31.7 15.9-31 33.7.1.2.1.5.1.8-6.9 2.3-13.5 5-19.9 8-5.9-4.8-13.5-7.6-21.7-7.3-17.8.8-31.7 15.9-31 33.7.1 3.4.8 6.6 1.9 9.7-7.3 7.6-14 15.9-19.9 24.8-3.4-1-7-1.5-10.7-1.3-17.7.7-31.7 15.9-31 33.6.5 11.1 6.6 20.7 15.4 26.1-1.7 6.1-3.2 12.4-4.5 18.8-14.9 2-26.4 14.2-27.8 29.1h18.8c1.3-6 6.4-10.4 12.8-10.7 6.8-.3 12.5 4.3 13.9 10.7h18.9c-1.1-11.6-8.3-21.3-18.2-26.2 1.2-5.8 2.6-11.4 4.1-16.8h.3c17.7-.8 31.7-15.9 31-33.7-.3-7.3-3.1-14-7.5-19.3 4.8-7.2 10.1-13.8 15.9-20 5.6 4.1 12.7 6.5 20.2 6.1 17.7-.7 31.7-15.9 31-33.6-.1-2.8-.6-5.5-1.3-8 5.1-2.3 10.4-4.4 15.9-6.3 6.2 8.1 16.1 13.2 27 12.7 14.4-.6 26.3-10.7 29.9-24 4.4-.4 8.9-.6 13.5-.8v-18.6c-4.7.1-9.5.4-14.1.7-4.4-12.7-16.4-21.8-30.3-21.9zm-.9 18.7c7.6-.3 13.9 5.4 14.2 13 .3 7.7-5.4 13.9-13.1 14.3-7.6.3-13.8-5.5-14.2-13.1-.3-7.7 5.5-13.9 13.1-14.2zM376.8 337c7.7-.3 13.9 5.4 14.2 13.1.3 7.6-5.4 13.8-13 14.2-7.7.3-13.9-5.5-14.3-13.1-.3-7.7 5.5-13.9 13.1-14.2zm-294.82 4c7.61 0 13.61 6 13.61 13.7 0 7.6-6 13.6-13.61 13.6-7.65 0-13.62-6-13.62-13.6 0-7.7 5.97-13.7 13.62-13.7zm180.12.6c7.6-.4 13.9 5.4 14.2 13.1.3 7.6-5.4 13.8-13.1 14.1-7.6.4-13.9-5.4-14.2-13-.3-7.7 5.4-13.9 13.1-14.2zm-96.1.8c7.7-.3 13.9 5.5 14.2 13.1.4 7.6-5.4 13.9-13 14.2-7.7.3-13.9-5.4-14.2-13.1-.4-7.6 5.4-13.8 13-14.2zm319.3 7.6c-14.9 1-27.8 12.5-29.8 27.9-.4 2.4-.4 4.9-.2 7.2-5.6 2.4-11.1 5.2-16.4 8.6-5-3.8-11.2-6.1-17.9-6.4-17.8-.7-33 13.3-33.7 31-.4 9.6 3.6 18.5 10.1 24.7-2.8 6.5-5 13.4-6.7 20.8-14.4 2.4-25.6 14.4-26.9 29h18.9c1.2-6 6.3-10.4 12.7-10.7 6.8-.3 12.5 4.3 13.9 10.7h18.9c-1.1-11.9-8.7-21.9-19-26.6 1.2-5.2 2.8-10.2 4.6-14.8 1.5.3 3 .4 4.5.5 17.7.7 32.9-13.2 33.6-31 .2-4.3-.5-8.5-1.9-12.4 3.9-2.4 8.1-4.5 12.2-6.2 5.1 6.3 12.4 10.8 21 12 4 .5 7.9.3 11.5-.5v-20c-2.5 1.6-5.7 2.4-9 1.9-7.6-1-12.7-7.7-11.7-15.3 1-7.6 7.8-12.7 15.3-11.7 2.1.3 3.9 1 5.4 2v-20c-3.2-.7-6.4-1-9.4-.7zm-168.1 53.8c7.6-.3 13.9 5.4 14.2 13.1.3 7.6-5.4 13.9-13.1 14.2-7.6.3-13.9-5.4-14.2-13.1-.3-7.6 5.4-13.9 13.1-14.2zm101.6 2.2c.4-.1.9 0 1.4 0 7.6.3 13.4 6.5 13.1 14.2-.3 7.6-6.6 13.4-14.2 13.1-7.7-.4-13.4-6.6-13.1-14.3.3-7.1 5.8-12.6 12.8-13zm-284.7 11.8c7.6-.3 13.8 5.4 14.1 13.1.4 7.6-5.4 13.8-13 14.2-7.7.3-13.9-5.5-14.2-13.1-.4-7.6 5.4-13.9 13.1-14.2zm-84.44 4.4c7.65 0 13.63 6 13.63 13.7 0 7.6-5.98 13.6-13.63 13.6S36 443.5 36 435.9c0-7.7 6.01-13.7 13.66-13.7zM224.5 429c7.6-.3 13.9 5.4 14.2 13 .3 7.7-5.4 13.9-13.1 14.3-7.6.3-13.9-5.5-14.2-13.1-.3-7.7 5.5-13.9 13.1-14.2zm262.2 24.4c-17 .2-31.2 13.8-32 31-.1 2.9.2 5.7.8 8.4h19.9c-1.4-2.2-2.1-4.8-2-7.6.3-7.7 6.6-13.4 14.2-13.1 2.7.1 5.1 1 7.1 2.4v-20.1c-3-.7-5.2-1-8-1z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WavyItinerary;

impl IconShape for WavyItinerary {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.875 15.47v44.405c6.964 245.8 209.943 234.28 332.875 332.938-10.604 5.66-23.793 9.413-40.125 11.406 44.99 10.586 84.793 44.636 104.03 89.092 23.766-62.477-3.088-115.007-25.905-164.78-2.283 16.258-6.327 29.72-12.906 40.624-65-77.148-197.603-71.956-270.375-246.22 109.484 109.288 275.855-16.455 346.78 173.876-9.736 4.946-21.563 5.977-36.47 3.094 26.28 31.006 41.215 69.576 60.033 119.906 17.417-63.916 15.822-108.235 6.03-162.406-4.77 12.202-10.066 21.867-16.406 29C415.188 8.556 195.654 151.902 75.78 15.47H20.876z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WaxSeal;

impl IconShape for WaxSeal {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M283.406 26c-31.262-.124-67.23 14.174-87.406 24.813-14.187 7.48-63.924 37.248-106.594 45.5-55.05 10.643-86.878 63.63-54.594 90.156 53.676 44.1 55.533 101.236 15.844 143.186-43.832 46.33 1.16 113.166 63.844 105.625 62.685-7.54 89.117.543 121.03 32.44 41.408 41.38 131.457 24.757 153.595-32.595 10.275-26.614 24.304-56.372 58.594-68.563 40.316-14.328 52.335-59.373 26.217-90.625-19.376-23.183-21.61-47.184 4.875-95.468 21.756-39.664 4.657-83.827-55.937-80.44-45.002 2.515-64.425-27.456-97.156-59.374C314.866 30.074 299.78 26.066 283.405 26zm-20.312 76.188c87.992 0 159.53 71.508 159.53 159.5 0 87.994-71.538 159.53-159.53 159.53s-159.53-71.536-159.53-159.53c0-87.995 71.538-159.5 159.53-159.5zm0 18.687c-77.892 0-140.813 62.918-140.813 140.813 0 77.894 62.922 140.843 140.814 140.843 77.89 0 140.844-62.948 140.844-140.842 0-77.892-62.953-140.813-140.844-140.813zm-9.344 19.188h18.688v12.562l32.218 9.78-32 9.72h-.78v97.47H253.75V172.53l-33.344-10.124 33.344-10.125v-12.218zm-51.875 40.343c9.892-.023 20.71 2.28 32.313 7.156v20.594c-14.94-7.682-27.267-9.843-36.657-8.844-11.21 1.194-18.696 6.513-23.468 14.125-9.34 14.902-7.106 39.607 13.907 56.157h-25.657c-14.936-20.91-15.937-47.15-4.063-66.094 7.603-12.13 20.8-20.992 37.313-22.75 2.064-.22 4.16-.34 6.312-.344zm122.438 0c2.153.005 4.28.124 6.343.344 16.513 1.758 29.71 10.62 37.313 22.75 11.872 18.944 10.872 45.183-4.064 66.094H338.22c21.01-16.55 23.245-41.255 13.905-56.156-4.77-7.613-12.258-12.932-23.47-14.125-9.69-1.032-22.498 1.294-38.092 9.593v-20.75c12.145-5.308 23.443-7.774 33.75-7.75zm-71.438 16.875c.052.034.104.063.156.095l-.155.25v-.344zm-81.563 91h183.563v18.44h-34.28v17.81h34.28v18.69H171.312v-18.69h36.47v-17.81h-36.47v-18.44zm55.157 18.44v17.81h27.28v-17.81h-27.28zm45.968 0v17.81h29.468v-17.81h-29.47zm-9.157 50.03c7.64 0 13.845 6.204 13.845 13.844s-6.204 13.844-13.844 13.844-13.842-6.204-13.842-13.844 6.203-13.844 13.843-13.844zM457 410.5c-7.208.234-14.82 2.62-21.5 7.688-34.04 25.825-9.88 74.987 31.938 40.437 32.292-26.678 13.11-48.89-10.438-48.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WebSpit;

impl IconShape for WebSpit {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M21.438 17.656v9.938C37.81 43.897 54.236 59.792 70.78 75.25c2.573 12.667 1.725 23.156-2.124 32.438-15.92-18.03-31.71-35.61-47.22-52.782l.002 27.907c70.88 78.78 146.137 165.605 206.343 263.156 13.8 52.237 8.507 101.07-26.5 145.936h23.032c8.083-12.15 14.338-24.677 18.938-37.47 15.217 1.72 33.785 5.172 48.03 13.377 3.376 7.964 6.63 16 9.75 24.093h20c-3.345-8.968-6.838-17.854-10.5-26.656 8.66-10.96 22.278-19.576 37.94-24.938 11.79 20.602 21.207 38.808 26.624 51.594h20.125c-5.083-14.244-14.946-33.968-27.626-56.312 20.542-3.283 42-1.254 57.937 6.03l.314.157c11.46 16.573 22.16 33.27 32.03 50.126h21.563c-11.953-21.14-25.167-41.973-39.468-62.562 2.386-9.1 5.464-17.228 9.436-24.563l47.156 36.97V418l-36.5-28.594c7.515-8.648 17.01-16.088 29.063-22.844 2.47 1.22 4.956 2.42 7.438 3.625v-20.843c-18.542-9.172-36.76-18.583-54.688-28.25-1.054-13.162.976-23.972 6.53-33.75 6.17-10.858 17.096-20.864 34.876-30.25l4.19-2.22c3.075.052 6.108.03 9.092-.06v-18.72c-4.68.146-9.552.092-14.625-.188-9.012-15.84-13.766-31.516-15.906-47.406 10.3-4.778 20.49-10.258 30.533-16.375V150c-65.106 42.96-132.462 57.01-204.47 27.656-71.11-32.4-142.686-72.663-197.124-105.5-19.133-17.603-38.152-35.753-57.064-54.5H21.438zm69.093 75.75c9.104 8.28 18.228 16.462 27.407 24.5-2.14 9.614-6.785 21.5-13.343 31.125-7.563-8.876-15.15-17.642-22.72-26.31 4.953-8.856 7.91-18.705 8.657-29.314zm43.157 38.156c8.516 7.292 17.06 14.502 25.657 21.594 11.636 23.238 15.422 49.608 8.062 73.188-16.436-21.38-33.276-42.186-50.25-62.438 7.905-9.9 13.208-21.488 16.53-32.344zm33.72 3.97c19.33 10.633 39.44 21.326 59.968 31.718-.643 2.09-1.78 4.563-3.594 7.03-.93 1.27-2.013 2.506-3.186 3.69-15.632-11.976-31.102-24.276-46.438-36.876-.196-.365-.394-.73-.594-1.094l-.437.25c-1.91-1.57-3.814-3.138-5.72-4.72zm76.968 40.187c6.032 2.968 12.09 5.89 18.156 8.78v.03c6.862 3.562 13.704 6.74 20.533 9.564 5.253 2.4 10.5 4.78 15.75 7.094 7.944 3.5 15.86 6.88 23.75 10.156-1.775 2.63-4.25 5.393-7.407 7.906-6.508 5.18-15.358 9.116-23.75 10.094-18.86-12.937-37.46-26.262-55.812-40 1.152-1.29 2.243-2.63 3.25-4 2.21-3.008 4.123-6.236 5.53-9.625zm-55.72 8.593c25.305 22.866 49.936 45.837 73.626 69l-81.405-9.938c8.618-18.825 10.685-39.22 7.78-59.063zm259.658 11.656c2.107 12.503 5.76 25.073 11.53 37.624-25.556-3.827-54.49-11.692-85.03-22.344 25.004-.867 49.547-6.166 73.5-15.28zm-108 22.56c14.673 5.778 29.14 11.077 43.312 15.72-7.58 15.442-11.644 30.8-13.188 46.03-19.927-12.048-39.524-24.437-58.812-37.25 5.526-2.412 10.66-5.55 15.188-9.155 5.49-4.368 10.29-9.51 13.5-15.344zm61.406 21.314c18.968 5.555 37.247 9.83 54.5 12.375-10.454 7.697-18.568 16.23-24.064 25.905-5.7 10.035-8.58 21.023-9.125 32.688-11.698-6.502-23.257-13.142-34.717-19.875.57-17 4.48-33.964 13.406-51.094zm-122.845 3.53c29.595 20.37 59.846 39.808 90.938 58.345.64 15.733 3.538 31.3 7.53 46.624-30.25-35.6-63.362-70.51-98.468-104.97zm-83.47 20.595l28.97 3.53c15.58 14.313 37.374 41.2 59.313 71.875-6.406 12.17-10.73 26.36-12.938 43.22-22.624-41.445-48.19-80.912-75.344-118.626zm58.564 7.155l29.968 3.656c9.93 10.012 19.686 20.043 29.218 30.126-6.933 5.344-13.097 11.203-18.437 17.75-14.15-19.553-28.05-37.334-40.75-51.53zm135.343 42.063c26.142 15.11 52.89 29.6 80.312 43.562-20.473 14.02-34.436 31.82-43 53.844-5.67-7.747-11.472-15.448-17.438-23.125-8.76-25.44-16.983-50.004-19.875-74.283zm-63.375 5.437c8.626 9.347 17.076 18.738 25.312 28.156-21.46 6.077-43.836 14.744-61.188 31.126 4.605-28.262 16.223-44.755 35.875-59.28zM364.75 362.5c15.275 18.052 29.763 36.24 43.375 54.594-16.32-2.82-33.8-2.268-50.53 1.312-8.52-14.31-17.885-29.31-27.72-44.406 10.934-4.86 22.817-8.386 34.875-11.5zm-51.344 20.47c8.952 13.758 17.532 27.64 25.438 40.905-13.797 5.136-26.463 12.596-36.47 22.53-4.935-11.072-10.09-22.034-15.468-32.842 6.303-13.44 15.514-23.187 26.5-30.594zm-60.28 6.5c9.57 17.408 18.628 35.132 27.03 53.217-10.95-3.496-21.905-5.32-31.47-6.468 3.61-15.33 4.978-30.955 4.44-46.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Werewolf;

impl IconShape for Werewolf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M340.573 495.942h-79.318c-17.24-19.952-46.972-25.794 25.136-118.418 12.088-15.528-46.796-47.858-56.975-35.75-28.683 46.058-50.585 105.183-120.653 71.499-6.986 26.338 4.46 54.395 10.054 82.67h-94.4c16.02-47.83 23.117-100.957 70.94-127.915l40.776 20.109c-1.342-16.2-2.167-32.398 1.676-48.597-120.404-30.952-104.494-70.512-112.833-80.714l23.46 7.54c-15.39-46.284 5.568-77.477 18.434-92.724 4.425 9.79 12.396 44.278 20.108 65.913 4.531-5.565 4.27-12.491 17.316-14.244-3.269 44.218 4.552 80.447 46.362 80.715 14.779-23.381 32.411-39.627 51.39-52.507-4.278-20.515-1.554-60.232-20.11-60.885-25.41-.894-37.227 2.808-54.74-2.793-16.173-22.335-14.987-47.59-12.74-67.847-54.678-27.557-48.39-81.972-13.772-88.792-4.022 22.54-9.233 40.639 15.9 49.392.914-42.185 2.97-89.372 65.844-54.272-20.147 7.362-41.442 16.125-36.077 39.484 46.607-22.884 55.874 4.5 63.086 21.858-17.15-.46-38.262-19.805-52.078 6.336-8.267 15.643 3.313 43.175 13.965 59.21 30.528-25.635 55.627-59.8 103.337-48.038-23.147-24.95-24.066-49.9-25.695-74.85 15.918 4.581 33.276 14.078 57.534 37.425h150.816L432.74 119.46l-15.584-20.272-24.075 24.74-21.785-26.252-29.046 33.514 13.406 16.2 15.082-18.993 20.108 21.785 25.136-21.226 12.848 12.289-11.73 28.487c-32.382 2.288-63.976-11.185-98.31 30.164 9.407 21.581 26.252 34.796 52.506 37.424 61.734-77.259 87.839-40.664 97.308-19.008-18.712-7.396-41.145-5.18-48.99 20.963 94.104-13.285 65.17 46.659 58.734 63.227-9.057-20.891-7.92-50.593-41.698-38.37 21.891 49.98.846 55.718-11.73 64.795-2.965-27.495-3.925-70.39-31.28-62.56-48.574 13.901-81.41 34.295-99.428-35.191-12.245 12.959-20.846 28.52-18.433 51.948 64.634 19.134 94.215 50.374 100.082 103.907 1.383 12.625-48.923 20.805-72.712 15.07-8.508 46.645 12.735 72.095 37.425 93.841z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wheat;

impl IconShape for Wheat {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M98.344 16.688C79.692 43.785 68.498 69.01 65.5 89.56l23.938 39.157 28.624-33.47c.868-21.213-5.49-48.677-19.718-78.563zM472.5 19.625C444.04 36.055 423.112 54 411.562 71.25l4.75 45.688L456.563 99c9.89-18.777 15.938-46.29 15.938-79.375zm-91.75 27.28c-10.153 21.036-16.8 40.84-20.156 58.314l18.375 57.686 19.78-34.25-6.5-62.22h.03c-3.422-6.392-7.252-12.906-11.53-19.53zM27.25 80.782c-.125 23.364 2.393 44.102 6.875 61.314L75.5 186.25l3.125-39.406L46 93.47l.03-.032c-5.83-4.287-12.08-8.52-18.78-12.657zm132.844 10.532c-8.415 3.504-16.29 7.213-23.594 11.094l-39.25 45.97-3.094 39.374 50.438-39.094c6.712-15.904 12.09-35.263 15.5-57.344zm177.22 21.626c-24.024 58.09-16.16 97.86 7.873 108.5l21.157-36.625-19.594-61.438c-2.973-3.46-6.108-6.943-9.438-10.438zm146.03.218c-4.55-.028-8.97.084-13.28.28L414.935 138l-19.78 34.28 62.343-13.655c12.897-11.47 26.09-26.626 38.656-45.094-4.358-.216-8.64-.348-12.812-.374zm-226.094 8.72c-23.24 23.238-38.832 46.003-45.53 65.655l16.436 42.907 34.22-27.75c4.695-20.704 3.436-48.856-5.126-80.812zM16.406 159.06c3.28 62.77 27.482 95.31 53.75 94.594l3.344-42.22-44.063-47c-4.175-1.844-8.515-3.647-13.03-5.374zm143.22 11.375c-6.457 1.354-12.63 2.896-18.5 4.563l-48.97 37.938-3.312 41.75c26.492 7.51 57.16-20.567 70.78-84.25zm16.06 1.563c-4.36 22.935-5.65 43.762-4.374 61.5l32.688 51 10.22-38.188-22.407-58.437h.03c-4.952-5.28-10.318-10.592-16.155-15.875zm267.408 8.938l-60.563 13.218-20.936 36.25c20.682 18.195 60.438 6.035 100.125-45.625-6.413-1.552-12.62-2.823-18.626-3.843zm-138.688 25.53c-8.912 1.92-17.304 4.16-25.187 6.657l-46.97 38.03-10.22 38.19 56.69-29.283c9.493-14.424 18.323-32.49 25.686-53.593zm155.125 25.063c-25.85 20.324-44.046 41.06-53.03 59.782l11.22 44.532 37.28-23.47c7.126-19.99 9.236-48.088 4.53-80.843zm-123.342 8.595c-34.435 77.573-59.394 159.06-62.97 253.03h18.72c3.558-90.792 27.573-169.428 61.312-245.436l-17.063-7.595zm-185.375 6.906c-8.173 62.347 9.714 98.713 35.687 102.75l10.97-40.874-34.814-54.25c-3.77-2.57-7.713-5.105-11.844-7.625zm221.75 24.532c-7.053 22.243-10.817 42.77-11.657 60.532l26.406 54.594L402 349.967l-15.28-60.687h.06c-4.3-5.848-9.033-11.76-14.217-17.717zm-302.47 1.532c-8.664 74.584-8.13 147.835 12.188 220.062h19.44c-20.877-70.772-21.764-143.02-13.064-217.906l-18.562-2.156zm219.47 11.094c-6.613.16-12.953.54-19.032 1.125L215.5 313.78l-10.844 40.408c24.69 12.23 59.938-9.82 84.906-70zm206.718 36.937c-9.072.844-17.664 2.052-25.78 3.594l-51.156 32.217-14.688 36.657 59.75-22.313c11.14-13.193 22.055-30.075 31.875-50.155zm-157.31 22c-15.528 60.938-2.096 99.19 23.217 106.28l15.72-39.28-28.094-58.03c-3.43-3-7.053-5.985-10.844-8.97zM183.25 368.72c-12.674 41.233-22.26 82.547-26.844 124.436h18.813c4.507-39.722 13.69-79.23 25.905-118.97l-17.875-5.467zm270 26.655l-58 21.688-15.563 38.875c23.056 15.098 60.673-2.606 92.625-59.407-6.594-.627-12.95-1.003-19.062-1.155zM356.5 469.03c-1.874 7.713-3.185 15.757-3.656 24.126h18.687c.45-6.686 1.55-13.206 3.126-19.687l-18.156-4.44z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Whip;

impl IconShape for Whip {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M258.885 29.48c-8.57-.04-17.296.356-26.164 1.2-1.407.033-2.816.06-4.222.117-20.63.848-41.087 4.36-60.744 10.795-52.42 17.156-98.946 55.478-126.432 118.11-48.427 110.354 2.248 219.542 82.684 274.032 40.218 27.246 88.14 41.196 135.228 34.795 47.088-6.4 92.92-33.513 127.748-86.108 26.368-39.818 22.913-82.72-3.59-105.356-26.506-22.635-72.54-22.532-123.77 12.938-25.962 17.976-47.77 20.706-65.667 15.812s-32.506-18.044-41.904-34.398c-9.397-16.354-13.216-35.697-10.407-51.14 2.53-13.91 9.352-24.512 23.197-30.036 40.302-2.047 54.377 32.316 41.76 56.715h.002c37.934-22.406 21.153-56.542-8.457-65.39 38.397-3.073 55.48 24.433 57.042 44.046 14.265-25.26 2.38-55.33-37.642-61.36 18.195-7.832 55.78 1.215 70.412 20.767-1.002-52.434-83.122-50.04-133.248-10.643-17.66 8.572-28.226 24.805-31.454 42.557-3.79 20.842 1.183 43.942 12.592 63.795 11.408 19.85 29.618 36.67 53.177 43.112 23.56 6.442 51.848 1.875 81.237-18.473 47.052-32.58 82.676-29.734 100.992-14.093 18.316 15.642 22.844 46.55.146 80.827-32.332 48.826-72.883 72.226-114.683 77.908-41.8 5.682-85.27-6.712-122.23-31.75-73.918-50.076-120.74-149.214-76.05-251.05 25.518-58.15 67.353-92.223 115.13-107.86 35.64-11.665 74.71-12.85 112.345-5.17 103.925 25.726 164.447 102.694 170.205 174.32 4.1-1.467 8.452-2.328 12.926-2.48 2.845-.094 5.74.095 8.648.593 4.994.855 9.64 2.56 13.822 4.932C484.332 130.812 389.88 30.1 258.885 29.48zm211.937 215.202c-.408-.008-.814-.006-1.218.006-11.326.334-21.075 8.513-23.07 20.162-.89 5.197-.09 10.253 2.003 14.627 2.892-.748 5.855-1.102 8.832-1.086 4.192.022 8.406.76 12.468 2.092 5.166 1.696 10.164 4.566 14.482 8.42 5.135-3.57 8.877-9.136 10.03-15.863 2.28-13.314-6.502-25.725-19.815-28.005-1.248-.214-2.488-.33-3.713-.353zm-13.51 52.453c-2.118-.01-4.047.312-5.576.9-2.977 1.144-4.625 2.623-5.547 6.277-5.098 60.167-43.147 110.48-89.987 157.077-1.075 4.273-.507 7.62 1.336 11.167 2.092 4.028 6.15 8.153 11.288 11.525 8.543 5.606 20.148 8.14 25.963 8.385 16.255-25.115 35.394-59.53 51.42-91.71 16.707-33.547 30.02-65.31 32.87-78.148 1.78-14.092-6.032-21.404-15.068-24.37-2.28-.748-4.585-1.094-6.7-1.105z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Whiplash;

impl IconShape for Whiplash {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M407.056 376.454C511.348 517.65 270.95 424.988 194.373 328.11c-59.935-75.823 212.347-41.197 101.407-177.47C172.653-.453-54.165-13.92 65.816 92.687 35.032 6.53 299.823 128.57 311.883 205.35c10.934 69.623-308.9 30.456-112.237 175.655 137.22 101.312 397.83 144.363 207.41-4.55z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Whirlwind;

impl IconShape for Whirlwind {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M232.824 13.738c-96.1 7.382-215.29 48.535-215.29 118.383 0 65.084 117.615 107.844 245.49 93.538 90.757-10.15 167.13-45.817 200.578-89.152-44.08 82.325-143.703 106.34-233.877 116.19 112.254 5.15 262.53-32.988 262.53-124.23 0-64.527-117.615-107.84-245.49-93.534C156.007 45.082 80.41 80.75 46.96 124.084c18.41-49.265 91.46-93.87 185.864-110.346zm56.04 40.864c77.387-.618 136.667 23.666 136.667 58.234 0 4.73-1.112 9.433-3.227 14.053-31.82-20.172-88.055-36.5-149.174-39.148-6.105-.264-12.257-.387-18.437-.353-2.06.01-4.122.038-6.187.085-51.472 1.157-104.23 13.43-145.113 44.86 5.022-36.577 75.142-70.428 160.92-76.728 8.347-.613 16.547-.942 24.552-1.005zm-34.036 51.482c5.848-.037 11.685.077 17.492.328 57.486 2.49 111.856 19.132 139.096 35.758-6.62 6.792-15.386 13.238-25.896 19.14-24.89-11.45-63.462-19.06-105.92-19.142-3.244-.006-6.51.032-9.795.115-44.026 1.117-91.184 10.864-128.448 36.09-15.823-6.824-27.48-15.514-33.54-25.562 38.834-33.478 93.327-46.39 147.01-46.726zm24.717 54.79c31.283.173 60.834 5.14 82.178 11.675-27.063 10.793-60.804 18.506-97.41 21.194-37.686 2.768-72.323-.243-99.774-7.51 31.234-16.912 69.26-24.342 105.74-25.267 3.1-.08 6.19-.11 9.265-.092zM81.873 230.83c5.158 4.435 10.285 8.583 15.387 12.445.127.237.264.472.39.71l.592.023c61.57 46.215 119.69 52.326 188.065 51.99.002 0 .005 0 .007-.002v.002h-.007c-73.987 20.576-134.236 19.522-185.5-8.316 74.926 98.107 242.27 52.573 335.22-46.637-43.032 23.107-110.06 35.868-185.318 31.842-66.24-3.544-126.098-19.41-168.837-42.057zM324.55 335.342c-67.937 33.614-143.89 42.532-199.144 11.236 4.907 16.882 14.784 28.156 28.295 35.658 15.565 8.643 36.38 11.85 59 9.55 34.243-3.485 72.07-19.68 100.767-45.057 3.635-3.794 7.342-7.59 11.084-11.388zm-62.306 63.68c-15.773 5.91-31.93 9.757-47.652 11.357-23.025 2.342-45.308-.15-64.108-8.835 15.125 14.916 32.064 25.36 47.95 30.023 15.676 4.604 29.844 3.767 41.142-2.59 9.392-5.284 17.44-14.62 22.668-29.955zM139.22 416.985c7.508 25.64 18.886 51.543 38.15 77.282h38.546c.632-.79 1.39-1.33 1.75-2.364 5.113-14.602 11.056-28.235 17.715-41.15-13.33 3.696-27.91 2.948-42.212-1.252-18.734-5.5-37.433-16.752-53.95-32.516z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WhiteTower;

impl IconShape for WhiteTower {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M97.812 23.375v92.875l46.22 51.72V351h-25.845L94.594 491.906H414.53L390.938 351h-25.875V167.97l46.22-51.72V23.375h-53.938v43.97H324.5v-43.97h-53.938v43.97h-32.437v-43.97h-53.938v43.97H151.75v-43.97H97.812zm73.75 152.875h18.688v50.22h-18.688v-50.22zm73.594 0h18.688v50.22h-18.688v-50.22zm74.156 0H338v50.22h-18.688v-50.22z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WideArrowDunk;

impl IconShape for WideArrowDunk {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M213.006 18.303c-21.637-.01-42.777 4.028-62.66 11.787v-.002C34.204 75.41-38.364 247.605 86.88 479.638-1.625 185.493 192.23 114.806 335.583 306.48l-29.55 21.86c60.543 45.71 107.035 83.703 163.136 156.812 30.35-98.22 35.076-175.94 7.385-283.75l-32.032 24.037C390.41 80.73 297.89 18.347 213.007 18.304zM203.25 78.39c54.92-.455 114.01 35.336 160.82 112.112l22.928-13.592c25.364 48.176 30.742 96.352 31.47 144.528-28.858-41.125-62.888-75.81-104.222-101.403l27.565-16.34C241.768 94.185 110.326 56.397 43.71 269.428 61.548 146.686 128.538 79.01 203.25 78.39z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wildfires;

impl IconShape for Wildfires {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M113.938 17.313c-42.34-.07-52.66 77.42-6.032 114.312-2.902-35.87 2.8-83.013 36.313-103.188-11.323-7.752-21.495-11.11-30.282-11.125zm138.125.437c8.16 45.43 5.173 71.412-10.375 105.25-29.125-14.063-33.2-41.072-29.063-68.344-14.39 13.454-21.03 43.178-19.844 58.563-12.546-9.482-17.98-21.618-22.124-37.407-13.104 34.137-11.907 86.925 16.25 118.562-7.352-21.496-2.805-51.407 10.97-69.313-5.15 28.665 11.53 50.063 11.53 50.063 8.907-9.77 11.976-22.46 13.344-36 9.08 8.49 13.28 27.23 12.53 36.938 7.92-5.985 11.36-13.63 13.97-23.594 5.855 15.25 7.96 32.674 2.688 46.06 35.488-42.277 30.225-141.653.125-180.78zm66.812 11.438c14.923 28.354 4.272 82.423-8.375 122.343 36.043-29.78 53.284-107.328 8.375-122.343zm164 65.624c-53.907 49.84-67.186 96.46-45.156 137.782 39.202 73.534-45.61 122.36-38.44 33.406 3.046-37.743 22.7-89.4-2.78-124.344-4.936 52.786-43.865 45.074-47.72 6.72-40.92 37.17 21.244 49.163-20.592 85.593-22.39 19.497-49.636-1.838-25.657-64.19-85.963 84.987-60.1 221.734 11.658 287.314-37.526-47.567-38.385-121.518-3.875-166.375-16.714 88.44 60.563 111.427 46.5-24.876 37.085 44.064 35.146 87.386 6.906 141.437 27.226-9.268 64.204-43.986 75.124-73.28 16.606 32.903 24.75 90.014-7.938 132.344 28.245-27.613 39.415-62.605 54.844-106.156 37.28-105.23-46.707-194.604-2.875-265.375zm-367.688 51.5c17.052 165.273-76.64 137.394-56.374 30.157-46.19 60.037-51.31 165.622-7.438 220.436-9.75-45.566-3.42-100.052 17-126.594-8.16 45.43-5.174 71.413 10.375 105.25 15.597-21.18 17.544-49.604 13.406-76.875 12.467 13.133 28.12 50.28 35.5 67.094 12.55-9.48 17.99-21.613 22.125-37.405 8.31 21.642 12.832 50.958 8.47 77.625 53.55-46.136 46.535-135.86 25.313-177.906 3.16 29.475-26.987 78.477-60 89.72 34.24-65.54 36.59-118.07-8.376-171.502z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WilliamTell;

impl IconShape for WilliamTell {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M85.688 17L71.406 52.03 44 25.188 28.594 40.594l27.062 26.5L21.78 80.906 60 119.126l42.594-6.095 49.812 48.782c3.39-3.362 7-6.418 10.813-9.156 2.124-1.525 4.318-2.937 6.56-4.25l-51.905-50.844 6.03-42.343L85.688 17zm185.75 76.22c-8.536-.003-24.483 3.607-27.094 20 13.8 22.026 20.71 40.802 20.75 64.06-8.927-7.693-18.882-13.6-29.5-17.343-8.623-3.036-17.01-4.424-25.03-4.312-13.37.187-25.71 4.517-36.44 12.22-17.164 12.322-30.14 33.692-33.968 61.905-7.802 57.496 15.476 115.295 61.22 131.406 4.76 1.677 14.684 3.154 23.186 2.5 8.503-.654 14.683-3.687 16.063-5.906l8.28-13.344 7.782 13.656c2.828 4.977 9.346 9.443 17.25 12.188 7.905 2.745 16.925 3.687 22.22 3.28 9.136-.694 17.988-3.023 26.406-6.717l-38.438-37.407v-.03c-6.18-6.054-8.756-14.46-7.688-21.75 1.07-7.29 4.987-13.366 10-18 5.014-4.636 11.31-7.995 18.407-8.907 1.774-.23 3.61-.252 5.47-.095 5.564.47 11.285 2.704 15.748 7.063l.032.03 41.687 40.563c13.06-18.516 22.175-41.198 25.44-65.25 6.63-48.853-22.3-86.08-60.5-92.124l-.44-.062c-5.175-.77-10.93-.875-17-.406-11.28.858-22.543 3.982-33.25 9.125 2.932-28.897-.828-55.604-10.592-86.344zm37.375 205.905c-.228-.004-.474.016-.72.03-.28.02-.564.055-.874.095-2.48.318-5.677 1.86-8.095 4.094-2.418 2.235-3.896 5.01-4.188 7-.29 1.984-.184 3.264 2.25 5.656l81.844 79.688 6.314 6.156-5.75 6.656s-3.9 4.28-12.563 10.313c-6.464 4.5-15.94 10.39-29.56 17.406 43.76 25.907 104.59 48.83 156.655 54.124-1.08-51.14-26.906-108.247-55.563-151.563-12.888 25.173-30.687 42.064-30.687 42.064l-6.53 6.22-6.44-6.283-81.874-79.686H313v-.03c-1.407-1.38-2.593-1.914-4.188-1.94z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WilliamTellSkull;

impl IconShape for WilliamTellSkull {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M86.652 18.096l-1.554 70.736-69.46.28L89.52 163.01l54.353.146 44.604 44.604h.002c6.92 6.92 12.97 5.18 16.45 1.982 1.74-1.6 2.67-3.525 2.625-5.955-.044-2.43-1.07-5.845-5.416-10.19l-42.505-42.505.906-59.1-73.888-73.894zM286.21 139.62c-28.266.063-55.965 10.132-77.437 30.034 3.08 1.608 5.972 3.704 8.56 6.29 13.655 13.66 13.664 35.797.02 49.443-13.643 13.645-35.773 13.635-49.43-.026-.323-.32-.632-.652-.94-.983-9.182 14.817-17.888 30.39-25.49 44.92-16.012 30.61-25.985 53.498-28.266 58.78 3.362 6.358 7.096 12.146 11.138 17.474l18.092-27.386 15.588 10.3-20.834 31.532c5.772 5.562 11.97 10.515 18.53 14.99l18.688-28.285L190.016 357 171.72 384.69c7.127 3.872 14.557 7.385 22.202 10.7l14.142-26.86 16.53 8.704-13.307 25.274c6.334 2.48 12.76 4.918 19.256 7.37 20.375-35.275 39.245-72.09 79.373-85.296l5.84 17.746c-14.786 4.866-26.283 14.15-36.43 26.256 14.903.904 31.89.907 47.986-1.078 4.58-.565 9.06-1.314 13.4-2.227l14.68-38.68-13.273-1.467 5.21-51.684 18.596 1.874-3.356 33.266 18.854 2.084-9.192 24.217 9.88 10.258c43.073-45.297 40.857-120.162-6.983-168.078l-.064-.062c-24.303-24.31-55.36-36.695-85.988-37.36-.957-.02-1.913-.03-2.87-.027zm-5.927 77.907c12.325.005 24.652 4.684 34.004 14.037 16.243 16.246 18.35 41.45 6.385 60.05 0 0-.486 1.367-6.36 7.956-18.695 18.697-49.295 18.68-67.998-.027-18.7-18.703-18.72-49.305-.025-68.002 9.346-9.347 21.668-14.018 33.993-14.013zm-.004 18.557c-7.507-.003-15.01 2.886-20.786 8.662-11.55 11.552-11.543 30.02.027 41.592 11.576 11.576 30.034 11.58 41.585.027 11.55-11.552 11.545-30.024-.025-41.595-5.787-5.788-13.295-8.683-20.8-8.686zm-59.643 9.143l-22.082 69.025-36.016-29.117 58.097-39.908zm244.763 79.11c-16.418.023-34.172 6.102-52.67 15.554l55.657 18.782 12.965-32.242c-5.154-1.438-10.48-2.102-15.952-2.094zm-100.5 29.878l-8.273 21.8 60.086 60.782-34.098 13.26c26.71 26.71 54.527 45.262 107.717 43.71-1.153-47.405-16.373-80.384-43.707-107.716l-14.684 37.753-67.04-69.588zm-38.427 45.275l8.17 46.89c11.254 2.533 24.023-4.133 28.43-15.16l-8.493-25.825-13.084 3.4-15.023-9.305zm-17.844 17.15l-31.667 43.174c6.304 9.973 20.355 14.382 31.516 9.594l.15-52.77z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WindHole;

impl IconShape for WindHole {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M19.842 17.184v61.42C29.59 124.187 54.08 177.31 96.35 234.948c-19.817-18.264-37.322-36.358-52.72-54.082 25.615 59.5 69.548 119.182 123.13 162.795 48.123 31.57 119.676 29.46 162.902-10.613 6.732-7.988 13.065-16.54 18.98-25.682-20.605 78.87-90.272 129.942-216.61 139.61 22.292 6.705 46.503 10.895 72.36 12.234-74.885 23.496-140.058 19.362-187.47-3.782v38.822h344.572c12.548-25.422 22.592-53.765 29.526-84.895 4.948-48.52-4.294-110.44-32.512-182.982 17.547 27.72 31.866 54.315 43.36 79.518-.008-16.152-.728-32.81-2.237-49.982-.084-5.56-.53-11.03-1.29-16.398-33.654-52.997-81.454-71.595-133.21-64.133 59.48-17.147 105.816-5.343 143.067 40.62 61.71 66.54 84.012 167.01 60.17 278.837h25.113V184.81c-31.772-28.644-73.986-47.578-126.732-52.068 32.298-9.65 61.865-13.936 88.188-13.43 4.774.09 9.442.34 14.002.74-29.598-8.21-60.133-11.63-90.846-11.398-12.44.095-24.907.807-37.354 2.024l.088.05c-47.7 10.48-91.986 38.815-126.73 88.68 6.15-25.89 14.357-48.62 24.226-68.144-29.95 7.29-55.854 24.91-73.71 48.888-12.354 53.054 9.742 114.704 56.314 126.26-16.457-8.185-27.838-25.188-27.838-44.73 0-27.46 22.46-49.918 49.92-49.918s49.92 22.46 49.92 49.918c0 17.3-8.92 32.61-22.385 41.576-38.712 29.777-80.068 19.58-109.082-19.545-31.807-42.892-33.913-88.063-8.812-146.24-13.99 18.068-25.763 39.423-34.736 64.257-2.735-95.686 31.315-157.842 82.412-184.546H19.842z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WindSlap;

impl IconShape for WindSlap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M164.672 15.316c-4.24-.02-8.52-.008-12.848.032 356.973 34.267 149.668 296.606-133.02 225.675v29.272c208.715 52.028 406.9-83.077 335.225-186.316 74.252 54.5 10.927 228.767-217.44 261.272 80.052-17.795 151.75-58.013 188.793-112.78v-.003c-76.777 75.27-199.896 99.73-306.61 83.514v38.547l.03.003v29.983c103.604 17.95 230.47-10.83 317.05-98.192-64.335 91.95-198.984 149.52-317.05 142.64v62.942C398.408 491.783 590.073 234.433 449.346 98c90.898 155.644-119.865 338.862-308.12 339.258C392.92 399.278 523.24 116.29 322.532 33.352c-43.685-11.26-96.104-17.76-157.86-18.036z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WindyStripes;

impl IconShape for WindyStripes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M446.572 492.26c-70.9-25.76-157.852-68.623-227.857-124.94-59.28-47.69-105.936-98.75-138.307-147.944 54.324 63.48 143.362 129.306 255.75 181.51 52.552 24.408 105.607 43.44 156.853 57.81v-85.782c-55.75-13.377-114.278-33.344-172.304-60.295-73.743-34.253-136.533-74.167-183.894-115.62 72.805 49.005 178.796 92.765 302.112 119.347 18.29 3.944 36.086 7.565 54.087 10.567v-76.457c-31.79-3.728-64.292-8.414-97.356-15.54-94.3-20.327-177.547-51.718-240.3-87.645 83.46 37.45 203.265 61.61 337.655 64.025v-70.863c-15.215.637-29.944 1.242-45.588 1.242-195.255 0-346.713-48.31-428.59-121.212-9.91 191.205 34.25 281.387 186.745 434.5 16.274 13.093 33.47 25.568 50.223 37.297h190.768z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WineGlass;

impl IconShape for WineGlass {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M148.97 22.47l-6.25.093-2.564 6.156c-13.235 37.556-21.28 79-21.28 118.093 0 53.777 14.848 93.17 39.874 118.875 18.945 19.458 43.36 30.696 70.156 35 17.09 48.115 16.085 101.005-2.562 148.687-30.555 5.118-60.254 18.273-86.313 39.5h231.22c-26.066-21.23-55.75-34.384-86.313-39.5-18.667-47.734-19.62-100.686-2.468-148.844 26.58-4.382 50.84-15.552 69.75-34.842 25.184-25.692 40.186-65.08 40.186-118.875 0-39.093-8.045-80.537-21.28-118.094l-2.188-6.25h-219.97zm6.75 18.686h199.843c7.25 21.815 12.64 44.904 15.593 67.72h-231.03c2.953-22.816 8.344-45.905 15.593-67.72zm-17.47 86.406h234.78c.45 6.49.69 12.912.69 19.25 0 50.357-13.716 84.26-34.845 105.813-21.13 21.554-50.295 31.406-83.53 31.406-33.238 0-62.247-9.863-83.22-31.405s-34.563-55.437-34.563-105.813c0-6.338.24-12.76.688-19.25z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingCloak;

impl IconShape for WingCloak {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.22 19.78c-8.89 0-17.316 4.814-24.064 14.032-6.748 9.22-11.28 22.648-11.28 37.657 0 15.007 4.532 28.437 11.28 37.655 6.748 9.218 15.174 14.03 24.063 14.03 8.888 0 17.313-4.812 24.06-14.03 6.75-9.218 11.283-22.648 11.283-37.656 0-15.01-4.534-28.44-11.282-37.657-6.747-9.22-15.172-14.032-24.06-14.032zm-71 80.564c-3.742.026-7.026 1.21-9.532 3.72h-.032c-15.052 15.07 13.468 37.41 3.97 77.06-15.963 66.63-95.553 120.79-159.22 151.75 25.314 24.212 73.335-.004 113.47-37.843-27.484 36.044-59.557 67.277-89.564 94.095 37.994 20.533 88.767-26.55 124.094-86.25-24.198 53.547-58.515 101.02-90.812 141.563 45.916 15.528 92.305-48.115 118.875-121.25-13.033 61.304-35.024 119.312-57.22 170.25 98.32 7.795 132.337-254.94 88.656-355.063-10.166-23.302-29.326-38.127-42.687-38.03zm141.968 0c-13.36-.096-32.522 14.73-42.688 38.03-43.68 100.123-9.694 362.86 88.625 355.063-22.196-50.937-44.187-108.945-57.22-170.25 26.57 73.136 72.992 136.78 118.908 121.25-32.298-40.543-66.646-88.015-90.844-141.562 35.326 59.7 86.13 106.783 124.124 86.25-30.007-26.818-62.11-58.05-89.594-94.094 40.134 37.84 88.186 62.056 113.5 37.845-63.666-30.96-143.288-85.12-159.25-151.75-9.5-39.652 19.02-61.99 3.97-77.063-2.508-2.51-5.79-3.692-9.533-3.718z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingedArrow;

impl IconShape for WingedArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M73.094 16.406l11.562 68.97-69.562-10.97 49.343 71.28 58.938-4.374 229.188 250.532 10.343 11.28-14.75 4.032-31 8.47 158.25 61.562-61.312-158.032-7.5 29.438-3.844 15.062-11.5-10.437-250.78-227.376 4.5-60.72-71.876-48.718zM292.47 37.438c18.44 24.016 36.14 55.45 51.436 92.093-47.545-40.388-98.46-68.028-144.625-80.843-20.273-5.627-39.474-8.398-57.093-8.28 37.747 18.288 79.988 47.766 120.938 85.937-20.085-2.15-38.57-.45-54.188 5.187 28.617 5.76 63.627 21.405 99.032 45.564-15.344-.555-29.557 1.836-41.908 7.22 24.04 4.608 52.973 18.012 82.188 39.25 22.694 32.528 39.02 63.948 47.656 91.31l7.313-28.624 7.186-28.28 10.563 27.217 59.53 153.438c7.184-15.762 10.475-34.355 9.97-54.97l.686 1.095c-.002-153.714-38.734-285.77-94.562-346.78 12.703 40.545 22.227 92.176 27.25 150.405-33.583-73.595-81.73-128.26-131.375-150.938zM38.874 148.156c.332 16.408 3.085 34.11 8.25 52.72 13.017 46.892 41.315 98.688 82.75 146.874-40.03-16.008-74.276-34.903-100-54.656 22.68 49.645 77.343 97.792 150.938 131.375-58.23-5.024-109.83-14.578-150.375-27.283 60.728 55.565 191.833 94.23 344.625 94.594h.125c23.24 1.485 44.092-1.704 61.53-9.592L283.97 422.75l-26.406-10.25 27.344-7.47 24.97-6.81c-25.7-8.406-54.856-23.48-85.095-44.126-24.744-31.907-40.308-64.004-45.343-90.25-5.886 13.508-8.214 29.278-7 46.28-24.863-36.017-40.892-71.74-46.75-100.843-5.588 15.482-7.313 33.777-5.25 53.657-35.763-38.874-63.668-78.778-81.562-114.78z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingedEmblem;

impl IconShape for WingedEmblem {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M36.844 26.188c-7.642 55.355 77.047 132.044 145.125 170C135.185 183.3 67.505 158.733 20.155 128.78c10.17 48.74 83.738 82.165 152.03 107.376-56.094-.93-104.776-7.642-162.25-25.53 20.11 39.824 95.964 59.89 162.533 67.468-40.172 8.212-83.4 8.65-127.19 3.062 27.2 25.9 75.004 35.054 124.876 31.125 15.11-1.19 25.764 11.643 33.063 28.97-16.1 14.04-26.314 34.665-26.314 57.625 0 42.143 34.357 76.5 76.5 76.5s76.5-34.357 76.5-76.5c0-21.61-9.045-41.16-23.53-55.094 7.313-18.595 18.25-32.747 34.093-31.5 49.87 3.93 97.708-5.225 124.905-31.124-43.79 5.588-87.016 5.15-127.188-3.062 66.57-7.578 142.425-27.644 162.532-67.47-57.474 17.89-106.156 24.603-162.25 25.532C406.76 210.946 480.33 177.52 490.5 128.78c-47.35 29.953-115.03 54.522-161.813 67.407 68.078-37.955 152.767-114.644 145.125-170C416.836 88.028 362.51 139.09 291.22 166.5c-25.236 9.703-24.56 30.48-8.25 50.156 20.692 24.965 17.825 67.663-8.658 108.625-6.647-1.893-13.664-2.905-20.906-2.905-6.053 0-11.94.724-17.594 2.063-25.986-40.708-28.71-82.986-8.156-107.782 16.308-19.675 17.017-40.453-8.22-50.156C148.15 139.09 93.823 88.028 36.845 26.187zm211.78 315.093l-13.155 40.845-39.69 12.125c2.214-28.29 24.578-50.68 52.845-52.97zm10.126.033c27.825 2.52 49.785 24.555 52.22 52.406L270.81 380.81l-12.062-39.5zm52.22 62.937c-2.517 27.602-24.238 49.42-51.783 52.125l12.938-40.25 38.844-11.875zm-115.095.03l40.906 13.158 11.97 39.03c-28.064-2.21-50.31-24.227-52.875-52.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingedLeg;

impl IconShape for WingedLeg {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M24.928 23.108c8.025 58.99 116.646 113.317 197.394 132.7-51.69.28-128.258-5.556-185.43-22.678 24.43 47.073 109.81 60.78 187.105 67.028-57.808 15.162-109.87 21.8-173.96 19.956C82.1 255.192 166.16 254.14 236.62 242.794c-38.85 19.96-83.113 32.74-129.636 39.588 40.913 20.362 106.803 1.757 147.45-4.43-19.043 16.43-41.836 28.653-66.856 37.932 25.075 10.61 64.635 2.653 92.165-11.408-3.48 11.993-15.64 25.648-31.718 35.095 20.82 4.43 46.642.674 66.817-6.833 27.207 10.518 36.235 23.727 37.968 38.06-41.966 13.17-57.812 106.545 29.825 105.43-41.212-17.458-48.907-61.13-19.812-76.848 44.16-23.86 65.382 48.02 55.51 86.106 33.642-12.11 36.518-88.94-7.634-108.167 46.837.503 67.127 32.147 54.327 72.508 53.774-63.696 9.178-103.04-46.535-99.114-82.715-5.958-156.808-121.435-127.108-150.472 22.79-19.817 22.544-51.31-6.26-65.664-72.81-36.302-120.06-22.37-260.198-111.466z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingedShield;

impl IconShape for WingedShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M133.813 37.28C103.96 66.698 96.25 109.353 110.28 145.47c-36.49-20.383-64.53-55.487-74.624-98.907-24.28 73.892 10.364 151.554 77.406 183.812-32.378 8.965-67.574-2.14-92.843-33.03 13.227 64.09 61.895 103.305 111.843 93.905-6.975 30.883-30.75 49.33-62.032 44.438 34.323 27.377 71.306 27 91.157 2.437 12.456 22.323 27.246 44.204 44.375 65.438l-23.125 12.062c16.96 26.955 42.62 53.035 75.907 77.125 31.79-23.093 55.416-48.452 72.437-74.28l-22.81-11.845c18.262-22.29 33.963-45.313 47.124-68.844 19.78 24.912 56.984 25.416 91.47-2.092-31.284 4.89-55.09-13.554-62.064-44.438 49.96 9.422 98.644-29.8 111.875-93.906-25.27 30.89-60.465 41.996-92.844 33.03 67.044-32.257 101.688-109.92 77.408-183.81-10.097 43.428-38.153 78.525-74.657 98.905 14.035-36.12 6.356-78.772-23.5-108.19 12.743 50.553-15.21 102.74-63.842 120.345-39.307 2.985-81.754 3.038-121.063.094-48.77-17.527-76.824-69.81-64.063-120.44zm252.156 130.595c-3.963 92.26-46.662 184.737-127.908 265.78-81.665-81.18-123.585-173.522-127.437-265.75 75.58 14.548 179.816 14.366 255.344-.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WingedSword;

impl IconShape for WingedSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M246.78 18.656v101.22c7.988.266 16.003.267 24 0V18.655h-24zm-72.155 110.406v30.813h168.313v-30.813c-55.755 12.73-113.104 12.604-168.313 0zm-150.28 35.063l9.343 37.594 132.187 8.093 9.406.562-.655 9.406c-2.594 38.077 5.257 78.673 25.563 112.44l7.625-146.47-183.47-21.625zm463.186 0l-177.842 20.97 7.187 137.843c16.457-31.775 22.736-68.503 20.375-103.157l-.625-9.405 9.375-.563 132.188-8.093 9.343-37.595zm-260.624 14.438L216.25 383.188v44.187l44.375 66.53 43.03-65.342-13-250h-22.53V429.5h-18.688V178.562h-22.53zM38.186 220.72c3.52 11.234 8.043 23.026 13.345 34.936l104.5-8.562c-.358-6.42-.452-12.835-.28-19.188L38.187 220.72zm435.502 0l-117.563 7.186c.172 6.353.077 12.768-.28 19.188l104.5 8.562c5.3-11.91 9.825-23.702 13.342-34.937zm-315.844 45l-97.72 8c5.446 10.777 11.426 21.472 17.782 31.81l84.063-18.28c-1.735-7.117-3.12-14.322-4.126-21.53zm196.187 0c-1.003 7.207-2.36 14.414-4.092 21.53l84.03 18.28c6.357-10.338 12.338-21.033 17.782-31.81l-97.72-8zM167.19 305.25L88.75 322.313c6.694 9.8 13.67 19.05 20.75 27.468l64.938-26.342c-2.725-5.955-5.143-12.023-7.25-18.188zm177.5 0c-2.107 6.166-4.527 12.232-7.25 18.188l64.937 26.343c7.08-8.415 14.056-17.666 20.75-27.467l-78.438-17.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wingfoot;

impl IconShape for Wingfoot {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M494.25 21.125l-164.53 1.25c-15.463 27.984-33.913 52.67-54.163 75.8 6.012 1.497 12.073 2.995 18.027 4.497l13.69 3.453-8.528 11.254c-50.415 66.503-44.632 142.087-27.36 213.694l-18.17 4.383c-16.838-69.817-23.528-148.192 22.64-217.94-88.07-21.897-183.62-43.434-253.374-89.38-1.77 4.89-1.01 10.187 2.262 17.23 2.427 5.222 6.516 11.043 12.14 17.117 53.162 37.938 130.458 65.946 189.778 75.168l-2.87 18.467c-61.85-9.616-139.642-37.397-196.036-77.227.61 5.953 2.61 12.393 6.387 19.36 6.918 12.758 19.275 26.49 35.7 38.907.84.635 1.697 1.265 2.557 1.893 42.555 22.677 93.696 38.914 140.737 42.164l-1.287 18.644c-61.147-4.222-126.33-28.22-175.672-60.745 1.03 4.922 3.253 10.397 6.885 16.38 7.367 12.14 20.078 25.484 36.23 37.675 39.264 17.838 81.604 32.938 128.62 36.473l-1.4 18.636C150.41 244.06 101.38 224.536 57.41 203.57c3.7 19.623 17.285 34.4 38.926 46.805 26.818 15.373 65.26 25.424 105.822 31.328l7.457 1.086.52 7.517c1.074 15.51 4.568 22.832 9.742 31.672l-16.13 9.438c-4.93-8.426-9.286-18.45-11.292-32.436-32.304-5.087-63.402-12.616-89.365-24.265-6.44 7.75-12.784 15.74-18.994 24.033 16.515 23.758 30.6 43.036 52.78 65.78l27.095-9.467 9.343-3.25 2.718 9.53c15.066 53.052 59.564 93.564 113.595 113.813 48.005 17.99 103.003 19.633 150.063.594-68.673-37.578-114.617-123.708-135.782-199.875l-1.125-4.156 2.376-3.564C348.53 203.283 425.85 148.88 494.25 123.97V21.124z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WitchFlight;

impl IconShape for WitchFlight {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M254.656 18.344c-130.276 0-235.97 105.693-235.97 235.97.002 25.49 4.078 49.986 11.564 72.936 38.363-12.022 76.732-21.103 115.094 0l86.687-23.53-21.718-11.564c-2.516-58.148-.82-90.49 9.813-123.03L160.5 192.718c20.212-31.087 48.12-49.398 75.53-64.814-1.944-48.208-52.63-51.764-101.06-47.75l102.31-35.062 61.095 44.968c14.093-11.636 24.928-25.64 30.03-44.968 12.954 28.392 11.902 67.482-15.28 86.03 8.56 18.695.783 43.07-18.563 49.845L330 227.655l67.75 31.125 91.97-24.936c-10.383-120.703-111.684-215.5-235.064-215.5zm38.25 191.375c-20.026 11.44-30.87 32.635-23.844 62.31l28.188 14 72.375-19.624-49.563-22.75-2.125-.97-1.437-1.874-23.594-31.093zM490.626 253L322.5 298.563l41.594 20.687-42.594 80.53-15.625-2.124 16.75 56.688-48.688-47.438 18.438 62.5L220.125 399l14.78-11.063-52.53-7.187 73.063-64-106 28.75c-6.286 43.902-35.572 59.558-68.5 68.03 43.135 46.707 104.988 75.908 173.718 75.908 130.276 0 235.97-104.847 235.97-235.125V253z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WizardStaff;

impl IconShape for WizardStaff {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M335.656 19.53c-24.51.093-48.993 5.235-71.062 15.626-22.46 10.577-43.112 34.202-58.375 62.563-15.264 28.36-25.182 61.262-27.69 88.75-7.487 82.112-51.926 155.352-159.78 252.56l-.188 21.44C89.216 403.443 139.915 346.632 176.313 290l.063.03c-9.293 32.473-22.623 63.18-43.594 87.97-31.47 35.584-69.222 71.1-114.468 106.53l-.062 8.25 25 .064h.47l1.28-1.156c24.405-16.498 48.607-31.488 72.594-41.5l.187.187-46.436 42.5 28.937.063c48.372-41.685 94.714-90.58 129.626-137 33.587-44.658 56.02-87.312 60.688-116.844-1.268-2.32-2.552-4.628-3.656-7.094-18.833-42.06-4.273-96.424 40.218-116.063 32.73-14.45 74.854-3.165 90.438 31.344.15.333.324.634.47.97 13.302 24.062 6.175 49.48-9.345 61.97-7.866 6.328-18.442 9.528-28.75 6.56-10.31-2.966-19.043-11.772-24.5-25.124l17.28-7.062c3.992 9.764 8.667 13.15 12.375 14.22 3.708 1.066 7.767.148 11.875-3.158 8.216-6.61 14.282-21.91 4.406-39.03l-.28-.47-.22-.5c-10.7-24.82-41.96-33.333-66.22-22.625-34.063 15.037-45.594 58.052-30.686 91.345 20.527 45.846 77.97 61.177 122.375 40.875 60.157-27.5 80.13-103.328 53.094-161.813-24.737-53.503-81.41-82.484-138.908-83.843-1.633-.04-3.272-.07-4.906-.063zm-25.75 26.72c3.238.035 6.363.348 9.406.906 10.343 1.898 19.946 6.753 29.032 13.25-30.623-5.437-58.324 4.612-80.78 24.782-22.44 20.152-39.16 50.59-45.783 84.718-4.655-11.358-7.166-21.462-6.686-31.72.296-6.343 1.715-12.956 4.78-20.217 9.094-18.016 21.032-33.946 35.22-46.69 7.824-7.026 16.39-13.07 25.53-17.905 10.932-5.212 20.522-7.22 29.282-7.125zm122.938 62.313c22.583 13.167 34.365 41.86 32.937 70.656-.564 11.395-3.466 22.975-8.905 33.624-12.48 18.937-35.53 25.51-49.97 20.875l-.092-.25c27.943-10.365 39.18-32.377 40.312-55.19.124-2.5.115-4.994-.03-7.468 1.447-13.31-.412-28.793-5.47-43.437-2.244-6.496-5.15-12.89-8.844-18.72l.064-.093zm-135.563 1.312c-20.97 19.342-29.406 35.252-33.25 51.25-3.848 16.023-2.788 32.84-2.905 52.875-.14 23.79-2.56 51.542-18.438 85.688-.005.012-.025.018-.03.03-21.095 26.753-45.276 52.25-68.907 67.376l-.063-.03c64.195-71.545 68.527-114.792 68.75-153.19.112-19.197-1.253-37.594 3.438-57.124.57-2.37 1.233-4.742 2-7.125h.03c8.098-17.036 16.572-26.058 25.47-31.563 7.18-4.44 15.035-6.697 23.906-8.187z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WolfHead;

impl IconShape for WolfHead {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M179.3 38.94C154.7 77.7 142.7 139.7 168.4 185.9l-16.3 9.2c-6.7-11.9-11.2-24.4-13.9-37.2-34.5-6.3-69.42-7.5-104.98-2.1 34.07 10.1 52.77 23.7 76.68 46.7-26.82 9.7-60.25 30.2-92.93 70.2 35.47-8.8 64.83-11.5 89.43-6.3-36.94 22.5-64.06 56.1-88.34 114.1 35.9-17.2 64.89-18.8 102.94-18.8-23.07 32.7-35.27 77.2-36.31 112.8 24.51-26 57.61-60.2 87.21-79 3 29.9 15 58.3 35.9 85.3-.2-43.9 10.3-88.3 31.6-133.4-18.8 9-32.4 18.1-49.9 29.3 6.2-27.9 12.4-55.8 18.7-83.7-23.3 2.4-39 10-60.5 18.5 16.3-33.1 32.7-66.1 49.1-99.2l16.8 8.3-28.4 57.4c18.4-4.4 28.7-4.1 45.7-1.3-4.5 20.4-9 40.7-13.6 61 65.3-36.2 148.3-45.9 226.7-50 7.6-12.9 13.8-24.2 18.8-34.8l-6.3-24.4-24.4 30.8-7.8-27.5-22.5 29.2-7.5-26.1-23.9 31.5-7.7-28.2-23.8 31.4 1.2-41.1 22.6-42.7 7.6 28.3 23.9-31.5 7.6 28.2 23.5-30 6.5 26.9 24.5-30.8 7.8 27.5 24.6-32c2.3-10.8 4.6-22.4 7.4-35.7-55.5-3.7-106.3 4.8-154 9.8-38-20.8-80.8-26.8-121.9-18.5-13.6-29.69-27.2-59.38-40.9-89.06zM325.5 158.3c-4.5 14.2-13 18.3-24.7 20.6-16.1-4.4-28.3-15.5-34.4-30.2 20.4-3.8 42.4 3.4 59.1 9.6z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WolfHowl;

impl IconShape for WolfHowl {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.563 22.094c-126.81 0-229.594 102.784-229.594 229.594 0 25.4 4.132 49.846 11.75 72.687 40.154-24.203 76.02-41.17 107.56-52.03-35.752 5.615-66.405 23.66-109.843 4 31.552-27.765 87.682-65.842 138.532-71.658 26.58-21.615 68.113-43.962 89.655-37.28 30.492-26.873 67.982-61.093 108.125-85.75 10.667 16.156 17.124 35.94 12.563 57.874-80.37 20.205-61.692 148.928 13.468 67.44 6.348 13.064 9.41 26.665 9.095 41.436-32.675 33.83-66.97 63.026-101.938 87.906.466 23.99-5.605 52.915-19 84.813-5.635 13.42-7.33 36.406 22.875 53.97 101.14-24.012 176.375-114.924 176.375-223.408 0-126.81-102.815-229.593-229.625-229.593zm3.312 164.375c-17.835 2.22-32.794 9.046-45.844 18.968 12.083-.036 25.612 2.882 37.5 6.156 6.208-6.698 10.236-18.52 8.345-25.125z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WolfTrap;

impl IconShape for WolfTrap {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M106 113.773l-32.963 74.375c-1.058.223-2.103.455-3.12.704-5.293 1.296-9.95 2.918-14.044 4.79l-8.266-53.435-25.037 87.277c-1.296 3.723-2.424 7.607-3.338 11.635l-.26.905.07-.04c-3.632 16.665-3.56 35.726 3.597 55.818 3.306 14.022 15.515 30.355 40.24 48.135 29.193 20.992 75.05 42.954 138.495 63.86-.253-1.795-.393-3.625-.393-5.486 0-12.21 5.637-23.185 14.432-30.447l-4.07-42.73-31.54 37.69c-9.764-3.686-19.047-7.46-27.896-11.3l-2.95-78.177-33.57 60.615c-9.068-4.85-17.496-9.773-25.294-14.75l-4.627-90.04-28.932 65.057c-7.485-6.607-13.957-13.243-19.45-19.86-4.244-20.016-.412-38.063 6.145-52.42l4.483-2.602c15.852-5.496 35.514-7.645 58.504-6.182 32.732 2.084 72.51 11.748 118.152 30.803.098-13.092 7.704-24.51 18.692-30.142l-5.597-52.59-30.14 42.78c-9.68-3.6-19.025-6.73-28.012-9.41l-4.26-68.73-32.567 59.774c-11.784-2.163-22.712-3.436-32.716-3.91l-3.77-71.97zm323.08 29.936l-15.973 70.28c-9.928-1.244-20.884-1.876-32.837-1.777l-19.58-66.443-18.075 68.964c-9.342 1.12-19.127 2.635-29.316 4.55l-19.015-44.84-16.422 45.742c8.9 6.183 14.768 16.47 14.768 28.04 0 2.407-.257 4.758-.74 7.03 47.224-10.57 87.28-13.166 119.37-9.7 22.9 2.47 41.908 7.938 56.592 16.05l3.978 3.332c4.016 15.265 4.72 33.704-2.873 52.707-6.54 5.582-14.047 11.016-22.547 16.25l-17.43-69.034-19.89 87.94c-8.51 3.565-17.626 6.972-27.356 10.198l-19.724-61.576-19.274 72.674c-9.347 2.27-19.107 4.404-29.326 6.37l-22.605-45.43-14.87 49.995c2.57 5.23 4.02 11.097 4.02 17.283 0 5.728-1.25 11.18-3.476 16.107 70.416-9.85 122.176-24.18 155.893-40.565 27.394-13.31 42.205-27.326 47.852-40.582 10.472-18.58 13.79-37.348 13.048-54.388l.063.053-.102-.942c-.214-4.126-.664-8.146-1.308-12.035l-9.81-90.26-17.243 51.245c-3.714-2.54-8.03-4.93-13.023-7.11-.96-.417-1.95-.822-2.954-1.222L429.08 143.71zm-170.584 89.07c-8.642 0-15.443 6.802-15.443 15.445 0 3.53 1.15 6.74 3.084 9.318 3.42.025 6.915.164 10.468.422 4.313.313 8.527.796 12.633 1.422 2.91-2.793 4.705-6.733 4.705-11.162 0-8.64-6.806-15.446-15.447-15.446zm-12.652 43.468c-1.02-.003-2.032.005-3.033.025-12.016.244-22.59 2.134-30.23 4.98-5.094 1.9-8.82 4.23-10.85 6.22-2.03 1.99-2.375 3.155-2.375 4.37 0 2.426 3.81 8.437 14.258 13.844 10.448 5.408 25.905 9.714 42.992 10.954 17.088 1.24 32.486-.854 42.674-4.65 5.093-1.898 8.82-4.23 10.85-6.22 2.03-1.987 2.374-3.154 2.374-4.368 0-2.43-3.81-8.44-14.258-13.847-10.447-5.408-25.904-9.712-42.992-10.95-3.204-.234-6.348-.348-9.41-.357zm-5.688 57.215l-2.96 29.51c1.08-.09 2.17-.15 3.273-.15 5.382 0 10.524 1.1 15.214 3.077l3.05-30.406c-1.153-.06-2.313-.13-3.48-.215-5.18-.376-10.223-.992-15.098-1.817zm.313 48.05c-11.6 0-20.798 9.2-20.798 20.8 0 11.595 9.2 20.796 20.797 20.796 11.594 0 20.798-9.203 20.798-20.798 0-11.595-9.202-20.798-20.8-20.798z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WolverineClaws;

impl IconShape for WolverineClaws {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M359.672 17.625C313.48 46.29 271.752 75.44 234.484 104.97 205.98 84.112 175.29 63.477 142.39 43.062c27.144 27.17 51.856 51.637 75.657 75.218-12.494 10.31-24.464 20.64-35.875 31.033-42.628-32.138-89.742-63.87-141.344-95.125 43.876 42.25 83.107 79.44 120.25 114.968-10.486 10.213-20.458 20.47-29.906 30.75-32.703-24.725-68.48-49.164-107.344-73.28 33.158 33.19 63.178 62.832 91.594 91.03-44.866 52.294-76.392 105.362-94.47 158.72 43.352-52.554 81.404-95.843 118-135.345 8.92 8.9 17.697 17.714 26.407 26.5-45.706 52.888-77.744 106.583-96.032 160.564 43.905-53.225 82.38-96.934 119.406-136.844 9.348 9.566 18.673 19.212 28 28.97-49.978 55.818-84.697 112.556-104.03 169.624 46.973-56.946 87.73-103.024 127.155-145.188 40.668 43.46 82.702 90.943 131.187 149.72-19.925-58.813-55.8-117.274-107.47-174.782 8.262-8.64 16.51-17.176 24.782-25.657 51.97 52.87 105.448 110.348 168.03 182.75-26.815-70.89-73.77-141.354-140.656-210.562 8.05-8.112 16.168-16.22 24.407-24.437 46.908 49.238 94.57 102.33 150.907 170.624-22.28-65.762-64.422-131.106-126.22-195.156 26.944-26.726 55.307-54.743 86.626-86.093-37.095 23.02-71.31 46.346-102.656 69.937-11.98-11.744-24.626-23.447-37.938-35.094 30.035-29.847 61.767-61.106 97.187-96.562-42.52 26.386-81.26 53.187-116.22 80.312-11.568-9.63-23.577-19.228-36.06-28.78 32.01-31.862 65.834-65.14 103.905-103.25zm-121.406 120.72c10.224 10.15 20.242 20.103 30.125 30-10.4 8.537-20.404 17.12-30.062 25.718-9.895-8.356-20.07-16.694-30.562-25 10.046-10.22 20.225-20.434 30.5-30.72zm50.03 50.06c11.128 11.248 22.165 22.485 33.157 33.845-9.314 7.466-18.35 14.956-27.094 22.47-10.324-10.024-21.054-20.007-32.22-29.97 8.632-8.746 17.344-17.527 26.157-26.344zm-103.124 3.876c9.06 8.717 18.043 17.393 26.937 26.033-8.97 8.657-17.56 17.354-25.782 26.062-9.16-7.9-18.63-15.775-28.406-23.625 9.11-9.65 18.182-19.092 27.25-28.47zm50.75 49.25c9.824 9.655 19.608 19.384 29.406 29.19-8.62 8.06-16.905 16.142-24.875 24.25-9.21-9.38-18.815-18.744-28.875-28.064 8.13-8.568 16.234-17.005 24.344-25.375z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodAxe;

impl IconShape for WoodAxe {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M215.344 22.813L205.03 37.906l71.782 46.375 8.938-12.81c-15.62-23.633-44.153-40.97-70.406-48.657zm-38.47 18.843c-28.32 35.34-79.16 105.16-105.718 145.313 61.96 26.364 113.013 69.562 133.22 119.593 5.064 12.54 8.125 25.566 8.78 38.75 36.873-9.75 80.34-36.93 117.25-70.5 30.105-27.38 55.912-59.115 71.406-87.75L176.875 41.655zm240.657 155.53c-16.836 31.038-43.713 63.084-74.717 91.283-40.21 36.57-87.238 66.474-130.47 76.03-1.09 8.278-3.153 16.543-6.343 24.72-8.91 22.832-26.23 44.633-52.656 64.592 64.678 10.955 135.135-13.105 195.844-53.687 64.21-42.923 116.84-104.112 139.28-157.063l-70.937-45.875zM84.814 213.782L16.5 313.72v143.717l135.875-194.812c-18.23-18.513-41.412-35.295-67.563-48.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenDoor;

impl IconShape for WoodenDoor {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M271.125 17.813v145.562h66.938V34.5c-20.606-10.187-43.6-15.728-66.938-16.688zm-18.688.218c-22.768 1.465-45.25 7.305-65.53 17.376v127.97h65.53V18.03zM356.75 45.5v117.875h61.844c-2.66-48.27-21.532-83.515-48.656-107.53-4.2-3.72-8.6-7.17-13.188-10.345zm-188.53.813c-5.32 3.63-10.403 7.6-15.22 11.906-27.108 24.233-45.9 58.953-48.656 105.155h63.875V46.312zm269.936 97.312v19.5H459v-19.5h-20.844zm0 38.188v.25H84.78v32h353.376v.156H459v-32.407h-20.844zM104 232.75v130.375h64.22v-26.28c-2.152.362-4.346.56-6.595.56-21.91 0-39.875-17.965-39.875-39.874 0-21.907 17.964-39.874 39.875-39.874 2.25 0 4.443.2 6.594.563v-25.47H104zm82.906 0v34.03c8.893 7.334 14.594 18.41 14.594 30.75s-5.7 23.42-14.594 30.75v34.845h65.53V232.75h-65.53zm84.22 0v130.375h66.937V232.75h-66.938zm85.624 0v130.375h62.156V232.75H356.75zm81.406.156v17.938H459v-17.938h-20.844zm-276.53 43.438c-11.81 0-21.19 9.38-21.19 21.187 0 11.81 9.378 21.19 21.19 21.19 11.81 0 21.186-9.38 21.186-21.19s-9.376-21.186-21.187-21.186zm276.53 67.03v19.907H459v-19.905h-20.844zM84.78 381.813v32h353.376v.157H459v-32h-18.47v-.158H84.78zM104 432.5v59.844h64.22V432.5H104zm82.906 0v59.844h65.53V432.5h-65.53zm84.22 0v59.844h66.937V432.5h-66.938zm85.624 0v59.844h62.156V432.5H356.75zm81.406.156v17.938H459v-17.938h-20.844z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenFence;

impl IconShape for WoodenFence {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M149.725 16.338L90.627 79.926v348.678l59.098 63.582 18.584-61.58h51.895l37.91 61.58 37.91-61.58h51.895l18.584 61.58 59.098-63.582V79.926l-59.098-63.588-19.188 63.588v1.97h-50.058v-1.97l-39.143-63.588-39.142 63.588v1.97h-50.06v-1.97l-19.188-63.588zm19.187 84.244h50.06v142.486h-50.06V100.582zm128.346 0h50.058v142.486h-50.058V100.582zM168.912 261.756h50.06v150.162h-50.06V261.756zm128.346 0h50.058v150.162h-50.058V261.756z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WoodenSign;

impl IconShape for WoodenSign {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M240.03 35.938c-1.08.01-2.168.062-3.25.124-8.644.502-17.16 2.8-22.5 5.97-5.336 3.167-7.018 5.72-6.81 9.593v.25l.78 28.156 59.97-1.28-.876-31.844c-.148-3.014-1.806-5.15-7.47-7.593C255.63 37.48 249.63 36.27 243.25 36c-1.063-.045-2.138-.074-3.22-.063zm224.94 57.218L33.593 102.53l1.375 62 154.655 4.064-148.156 9.72-2.907 98.81 1.406.313 8.06 1.844-.843 8.22-6.906 67.47 429.533-9.283L464.219 283l-140.376-3.656 139.22-9.156-8.877-99.407-138.875-3.624 151.032-9.937-1.375-64.064zM276.31 368.562l-59.875 1.282L220 495.78h59.844l-3.53-127.217z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct World;

impl IconShape for World {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M253.47 17.406C123.76 17.406 18.437 122.76 18.437 252.47c0 129.707 105.324 235.06 235.03 235.06 129.707 0 235.063-105.353 235.063-235.06 0-129.71-105.355-235.064-235.06-235.064zM367.874 68.75c61.246 38.19 101.97 106.14 101.97 183.72 0 17.143-1.993 33.823-5.75 49.81l-34.25-18.06 22 54.874c-9.454 21.647-22.362 41.432-38 58.687l-43.158-30.936-64.625 47.72-61.656 6.967-13.906-41.78-49.72 26.844-68.093-18.938 9.157 36.594c-28.41-21.793-51.23-50.466-66-83.563L81.25 304.47l32.25 17.124 59.22-9.875 2.843-40.908-37.344-1.718 4.905-17.844 30.78-25.313-25.093-15.625 67.22-38.593-45.345-29.657-66.625 40.187-49.437-15.28c13.812-32.14 35.21-60.22 61.906-82.064l-3.75 44.375 43.376-34.124 72 22.22-22.5-27.407L233 75.562l26.813 28.468 71 9.845-3.5-34.47 41.468 12.657-.905-23.312zm1.156 120.03L278 199.47l28.906 43.218 3.156 64.468L339.25 321l11.438-28.375 62.656 48.656L395.78 294l6.408-48.344-43.75-22.72 10.593-34.155zM221 192.438l-31.594 21.188 36.47 14.78 16.686-14.78L221 192.437zm22.188 144.688l18.687 52.594 19.78-42.564-38.467-10.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WormMouth;

impl IconShape for WormMouth {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M224.53 31.844c-7.278-.022-14.48 1.064-21.374 3.156-34.553 10.482-62.575 46.607-51.03 102.25 18.494-5.637 38.08-1.27 54.968 8.844 13.172 7.89 25.265 19.05 35.812 31.906 3.065-16.708 8.95-32.636 17.063-46.156 10.108-16.85 24.232-30.373 41.186-35.188-16.706-46.25-47.272-64.725-76.625-64.812zm183.19 63.53c-16.637.313-34.877 5.704-53.595 17.782 12.63 11.714 21.753 25.04 25 40.406 2.678 12.676.97 26.15-5.03 39.907 15.64-1.67 30.03 1.37 42.092 7.968 14.16 7.744 25.112 19.77 32.907 33.312 21.015-18.94 31.257-38.784 34.187-57.094 3.34-20.867-2.71-40.153-14.967-54.97-13.79-16.666-35.324-27.784-60.594-27.31zM301.093 118c-6.27 3.093-12.332 8.29-17.844 15.313 30.214 4.035 56.996 18.82 76.406 40.375 1.045-5.657.91-10.93-.156-15.97-1.045-4.947-3.106-9.838-6.125-14.687-15.316-11.638-33.032-20.27-52.28-25.03zM168.47 154.375c-.734.013-1.46.068-2.19.125-13.946 13.56-25.165 29.896-32.718 48.156-.25 7.14.706 13.598 2.938 19.28 1.588 4.044 3.82 7.882 6.875 11.47 5.84-29.968 22.347-56.11 45.406-74.312-6.967-3.168-13.728-4.835-20.31-4.72zm101.186 3.063c-2.368 5.918-4.32 12.186-5.812 18.656 1.23-.055 2.474-.094 3.72-.094 29.2 0 54.728 15.263 69.123 38.25l8.532-11.188c1.16-1.524 2.236-2.995 3.25-4.468-17.842-24.43-46.457-40.493-78.814-41.156zm-57.906 17.03c-24.677 16.634-41.612 43.948-44.03 75.282 1.813.748 3.69 1.486 5.686 2.188l12.688 4.437c.404-29.02 15.83-54.317 38.906-68.438-4.232-4.9-8.696-9.432-13.25-13.468zm-95.25 7.282c-56.12.524-86.233 35.148-90.125 70.813-2.086 19.115 3.483 38.535 17.75 54.125 12.52 13.68 31.966 24.62 59.938 28.875-.945-15.605 1.62-31.643 9.187-45.907 6.443-12.145 16.77-22.634 30.75-29.844-12.576-8.186-21.42-18.475-26.156-30.53-5.743-14.624-5.452-30.796-1.344-47.532zm150.688 17.563c-2.215 0-4.41.132-6.563.375-.08 2.123-.1 4.236-.063 6.343l.25 13.69c2.072-.34 4.202-.532 6.375-.532 21.42 0 38.563 17.11 38.563 38.53s-17.142 38.563-38.563 38.563c-21.42 0-38.562-17.14-38.562-38.56 0-14.93 8.328-27.748 20.625-34.158l-7.313-12.187c-.96-1.6-1.953-3.18-2.968-4.75-17.985 9.98-30.22 29.153-30.22 51.094 0 19.988 10.157 37.702 25.563 48.25l.687-1.19v1.658c9.244 6.137 20.313 9.718 32.188 9.718 32.16 0 58.406-26.276 58.406-58.437 0-32.163-26.245-58.408-58.406-58.408zm116.437 13.5c5.304 13.897 8.22 28.976 8.22 44.75 0 17.64-3.63 34.433-10.19 49.656 7.118 1.922 13.466 2.252 19.283 1.342 6.016-15.85 9.312-33.04 9.312-51 0-13.658-1.91-26.888-5.47-39.406-6.37-3.197-13.362-5.158-21.155-5.344zm-24.28 4.687c-.757.292-1.514.553-2.283.875l-14.875 6.25c4.428 10.06 6.907 21.184 6.907 32.906 0 10.773-2.103 21.04-5.875 30.44l16.217 9.342c5.3-12.2 8.25-25.65 8.25-39.78 0-14.227-2.976-27.768-8.343-40.032zM186.78 268.47l-14.874 2.78c-1.166.22-2.294.464-3.406.72 4.24 29.248 21.135 54.458 44.97 69.81.94-1.465 1.88-2.98 2.81-4.592l6.595-11.438c-19.315-12.65-32.898-33.284-36.094-57.28zm-43.06 14.905c-5.52 4.455-9.653 9.758-12.782 15.656-.468.882-.894 1.777-1.313 2.69 8.52 26.424 24.442 49.504 45.375 66.78 1.703-.11 3.37-.314 5-.625 5.402-1.03 10.662-3.142 15.78-6.688-26.252-17.935-45.33-45.6-52.06-77.812zm307.78 12.438c-10.02 14.008-22.078 24.74-36.906 29.906-12.23 4.26-25.817 4.27-40.22.06 3.633 15.3 2.424 29.986-2.593 42.783-5.89 15.03-16.422 27.396-28.874 36.843 21.452 18.458 42.432 26.1 60.97 26.688 21.12.67 39.48-7.778 52.624-21.813 24.523-26.182 31.15-71.548-5-114.467zm-112.625 1.312C324.98 322.15 298.3 339.03 267.562 339.03c-11.59 0-22.594-2.418-32.562-6.75v9.908c0 3.645.242 7.035.656 10.25 10.023 3.375 20.758 5.218 31.906 5.218 33.71 0 63.567-16.72 81.72-42.312-.565-1.082-1.145-2.18-1.782-3.28l-8.625-14.94zm17.78 47.594c-22.788 23.585-54.762 38.25-90.186 38.25-6.13 0-12.14-.435-18.033-1.283 1.946 2.154 4.06 4.108 6.313 5.907 8.13 6.488 18.416 10.707 29.313 12.687 20.342-2.48 39.382-9.214 56.187-19.28 5.563-5.892 10.03-12.572 12.844-19.75 2.044-5.215 3.328-10.713 3.562-16.53zm-138.06 22.81c-10.37 10.844-22.125 17.638-34.845 20.064-15.435 2.943-31.277-.337-46.97-7.47-9.847 55.247 18.61 91.243 52.94 101.657 18.4 5.583 38.542 3.705 56.5-7.436 15.757-9.777 30.087-26.887 39.436-53.594-15.5-1.958-30.793-7.402-43.406-17.47-10.745-8.575-19.153-20.68-23.656-35.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WorriedEyes;

impl IconShape for WorriedEyes {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M158.063 154.75c-31.32.613-72.27 32.376-130.063 119.156 28.377 32.465 60.522 47.17 92.875 46.813-13.872-6.878-23.438-21.162-23.438-37.69 0-23.222 18.84-42.06 42.063-42.06 23.224 0 42.03 18.838 42.03 42.06 0 8.79-2.703 16.94-7.31 23.69 24.134-12.47 47.217-32.947 67.655-60.25-22.28-47.856-46.015-92.46-83.813-91.72zm202.593 0c-36.864.538-60.257 44.548-82.22 91.72 18.105 24.185 38.286 43.003 59.44 55.655-2.934-5.736-4.595-12.212-4.595-19.094 0-23.222 18.84-42.06 42.064-42.06 23.223 0 42.03 18.838 42.03 42.06 0 16.393-9.383 30.592-23.062 37.533 34.08 2.043 68.157-12.48 98.032-46.657-58.79-88.276-100.166-119.616-131.688-119.156z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WrappedHeart;

impl IconShape for WrappedHeart {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M154.107 17.063c-34.673-.275-70.37 13.897-96.412 40.218L91.742 74.76l43.76-18.572v.002c-9.262 14.174-11.514 26.673-5.555 38.18l125.397 64.366 44.85-19.035c-9.644 14.762-11.686 27.707-4.77 39.607l33.816 17.357 104.926-38.783c8.248-10.792 7.925-23.806.443-39.605v-.002l40.824 24.356 15.343-5.673C472.074 49.484 371.514-9.895 268.32 132.412c-8.577-79.372-60.15-114.92-114.213-115.35zM45.21 71.876c-8.694 11.797-15.66 25.36-20.274 40.56h-.002c-9 29.648-6.34 73.662 7.503 123.13l39.32 7.27 38.53-31.88v.002c-5.238 17.618-3.123 30.985 8.067 40.497l41.75 7.723 65.986-24.39c7.062-10.477 6.42-22.99-.7-38.024v-.002l39.626 23.638 40.433-14.945-104.257-53.514c-14.988-1.045-25.89 7.22-34.306 23.854l-5.434-44.252L45.21 71.877zm448.274 84.004l-76.423 28.25-11.72 44.284c-6.167-17.892-16.05-27.584-31.434-28.334l-22.097 8.168L454.6 261.012c1.278-1.31 2.537-2.624 3.765-3.946 27.47-29.563 37.69-66.53 35.117-101.185zm-165.468 61.16L196.03 265.827l104.134 19.262 37.877-31.34v.002c-5.085 17.108-3.24 30.207 7.114 39.66l57.744 10.68c13.354-9.636 25.997-19.393 37.34-29.444l-17.697-9.084c-16.508-2.382-28.276 5.84-37.23 23.536l-5.59-45.516-51.704-26.54zM38.602 255.71c4.598 13.867 10.014 28.046 16.265 42.368l70.967-26.23-87.232-16.137zm123.158 22.782l-23.75 8.778-11.494 43.44c-5.933-17.213-15.304-26.836-29.704-28.212l-34.134 12.617c9.832 20.524 21.326 41.177 34.457 61.444H219.69c13.318-7.02 18.227-19.807 16.59-38.4h.003l30.946 38.4h30.502c26.816-19.846 56.13-38.564 83.723-57.43l-141.512-26.177c-16.92 2.232-26.034 13.515-29.603 33.287l-18.432-42.172-30.148-5.576zm-51.963 116.756c25.755 36.38 56.895 70.928 93.293 100.47 7.933-38.946 35.506-71.23 70.707-100.47H175.84l-23.64 33.588c.35-15.51-3.554-26.72-12.776-33.588h-29.627z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WrappedSweet;

impl IconShape for WrappedSweet {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M391.22 9.22c-21.755 67.887-29.008 99.75-52.25 146.218 2.776 2.15 5.5 4.42 8.124 6.843 23.768-21.825 42.788-47.49 51.937-85.5l18.158 4.376c-10.093 41.93-31.86 71.302-57.375 94.813 1.442 1.81 2.832 3.657 4.156 5.53 27.306-3.97 52.29-12.325 74.56-32.47l12.533 13.876c-23.42 21.182-49.982 31.05-76.938 35.875.75 1.56 1.477 3.138 2.156 4.72 53.284 5.685 96.878-3.05 122.408-44.094C431.28 144.456 480.78 24.198 391.217 9.22zM247.06 153.937c-9.422-.058-18.308 1.46-25.78 4.625l-.095-.188c-10.542 4.937-20.434 11.78-29.156 20.5-35.073 35.074-39.537 88.93-13.436 128.813-4.858-12.255-7.025-25.792-5.28-39.97 2.61-21.226 13.892-43.415 35.842-64.687l13 13.407c-19.616 19.01-28.3 37.187-30.312 53.563-2.014 16.376 2.574 31.435 11.375 44.53 15.493 23.06 44.764 38.645 69.093 39.595 23.7-1.754 46.925-11.707 65.093-29.875 40.22-40.22 40.22-105.156 0-145.375-2.658-2.66-5.42-5.13-8.28-7.438 9.885 11.527 16.984 25.703 19.28 42.063 2.973 21.18-2.147 45.52-17.844 71.75l-16.062-9.594c14.027-23.44 17.7-43.222 15.406-59.562-2.293-16.34-10.578-29.69-22.47-40.063-16.347-14.26-39.644-21.967-60.373-22.093zM133.47 317.78c-50.013.115-67.71 4.92-116.345 55.283 66.358-2.98 34.08 106.974 107.47 126.156 3.573-48.6 22.248-86.363 58.468-155.626-23.81 15.56-44.668 34.515-60 63.687l-16.563-8.686c14.987-28.514 35.14-48.585 57.125-64.375-25.9 2.17-51.153 8.562-76.688 24.686l-9.968-15.78c22.406-14.15 44.986-21.59 67.28-25.282-3.718-.023-7.382-.07-10.78-.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WrappingStar;

impl IconShape for WrappingStar {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.314 20.6v48.117c74.127 6.587 148.202 24.124 209.71 61.125C188.913 78.178 130.196 43.38 72.798 20.6H18.313zm146.846 0c45.057 38.643 74.804 81.436 84.725 123.54 10.946-45.05 6.82-86.505-4.574-123.54h-80.15zm84.725 123.54v.003h.002l-.002-.004zM483.13 20.6c-30.043 75.585-73.05 144.09-126.02 192.76 51.52-20.53 100.206-46.577 136.472-75.14V20.6h-10.45zM89.958 100.443c25.695 40.067 57.678 77.776 94.402 112.12C117.17 260.592 59.893 319.067 18.28 383.79c85.442-22.73 167.34-61.815 238.314-112.313 70.607 50.235 152.024 89.175 236.988 111.955v-1.66c-41.502-63.918-98.275-121.68-164.76-169.208 36.724-34.345 68.706-72.054 94.4-112.12-58.198 15.17-114.433 37.902-166.638 66.66-52.2-28.757-108.43-51.49-166.627-66.66zm56.31 118.678c-48.624 7.847-91.077 22.95-127.953 39.675v90.7c35.14-51.477 79.497-98.29 127.954-130.374zm109.4 83.218c-18.59 70.884-14.394 135.865.466 193.514h115.78c-63.8-60.13-104.78-127.385-116.245-193.514zm14.993.375c55.22 91.766 138.833 152.762 212.29 193.14h10.632v-90.847c-89.222-19.35-167.94-55.118-222.922-102.293z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct WreckingBall;

impl IconShape for WreckingBall {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M18.72 18.75c-1.947 4.13-3.032 8.728-3.032 13.563 0 17.286 13.93 31.544 31.093 32.093 2.287 7.487 4.896 14.825 7.814 22-7.123 5.912-11.688 14.818-11.688 24.72 0 17.628 14.465 32.124 32.094 32.124 3.66 0 7.18-.633 10.47-1.78 5.2 7.01 10.766 13.708 16.655 20.06-2.03 4.2-3.156 8.9-3.156 13.845 0 11.376 6.042 21.443 15.06 27.156 2.914-5.498 6.067-10.863 9.44-16.06-3.53-2.4-5.814-6.42-5.814-11.095 0-7.53 5.908-13.438 13.438-13.438 3.22 0 6.152 1.08 8.437 2.907 4.008-4.732 8.224-9.265 12.626-13.625-5.65-4.954-13.022-7.97-21.062-7.97-5.922 0-11.466 1.66-16.25 4.5-5.018-5.494-9.74-11.28-14.22-17.313 4.08-5.387 6.5-12.094 6.5-19.312C107.125 93.495 92.63 79 75 79c-1.05 0-2.1.056-3.125.156-2.61-6.426-4.965-12.984-7.03-19.687 9.03-5.712 15.093-15.772 15.093-27.157 0-4.835-1.086-9.434-3.032-13.563H18.72zm29.093.125c7.53 0 13.437 5.907 13.437 13.438 0 7.528-5.908 13.437-13.438 13.437s-13.437-5.907-13.437-13.438c0-7.53 5.907-13.437 13.438-13.437zM75 97.688c7.53 0 13.438 5.907 13.438 13.437 0 7.53-5.908 13.438-13.438 13.438s-13.406-5.908-13.406-13.438S67.47 97.687 75 97.687zm225.438 11.124c-106.228 0-192.125 85.93-192.125 192.157 0 106.226 85.897 192.124 192.125 192.124 106.227 0 192.156-85.898 192.156-192.125 0-106.228-85.93-192.158-192.156-192.158zm96.937 54.72c7.52 3.186 14.892 7.89 21.625 14.624 18.858 18.858 30.55 48.69 34.53 82.53 6.007 8.252 10.547 17.502 13.25 27.595 2.466 9.2 3.035 18.644 2.345 27.908-3.86-7.832-8.59-15.445-14.125-22.72-.77 30.396-7.25 62.106-19.813 90.813 3.03-16.998 4.635-34.97 4.938-54.03.312-19.598-.964-38.772-3.594-57.063-21.342-19.84-49.29-35.61-81.53-44.25-15.274-4.092-30.26-6.445-45.063-6.968 44.76-11.995 89.006-4.885 119.532 15.75-7.485-29.017-18.55-54.523-32.095-74.19zM132.687 333.718c49.026 67.317 129.026 112.73 212.532 134.342-8.873 2.55-19.25 3.037-30.064 3.5-75.993 3.258-168.286-67.14-182.47-137.843z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct Wyvern;

impl IconShape for Wyvern {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M324.97 17.54c.03.034.057.07.087.106l-34.924 32.428 36.904-3.752-15.396 30.12 38.048-16.075c26.147 69.965.623 154.277-52.555 166.262-6.554-25.37-34.13-37.945-36.055-57.382.303.093.604.187.912.27 4.833 1.295 9.736 1.183 14.274-.07l25.138 22.89 20.653-16.377c-7.363 2.836-28.588-1.402-33.25-13.923 3.154-3.24 5.55-7.284 6.793-11.922.485-1.813.757-3.635.86-5.445l11.524 22.777 5.22-16.94c7.625 5.575 12.474 13.605 11.49 21.136l16.673-29.4-72.14-29.56-58.057-48.03 17.1 31.25-48.206-19.753 35.14 31.237c-40.602 28.158-22.085 85.04-1.796 119.29-57.5-9.685-103.128-77.435-95.763-145.03l49.21-21.366-31.08-5.14 29.207-33.417-32.015 11.54c.037-.067.07-.135.107-.202-168.36 66.33-116.413 367-63.728 417.99-.19-1.317-.364-2.58-.54-3.855-14.922-56.244-20.375-125.624-17.5-190.53 3.02-68.237 14.834-131.16 36.794-169.522l16.22 9.283c-18.894 33.008-31.4 94.563-34.345 161.064-1.942 43.86.106 90.022 6.275 132.082 6.124 1.892 15.046 9.615 27.295 23.24-4.818-13.35-6.78-26.5-6.482-38.28 20.286 41.665 67.34 69.234 104.633 62.308 22.444-4.17 41.803-12.73 57.81-24.475l7.31 15.418c-20.068 5.036-22.807 32.635-14.737 55.112 1.748-19.882 11.36-29.794 21.73-32.303-6.598 15.867-4.698 30.623-3.117 44.158 10.15-12.147 21.47-23.793 23.628-39.354 8.738 7.332 12.317 21.49 1.194 39.057 26.32-15.473 31.565-41.994 7.978-57.685l-32.07-34.297c5.918-5.55 11.24-11.6 15.947-18.066l39.28 15.776c-3.942 13.69 5.833 31.512 19.77 43.31-8.055-17.288-4.826-30.08 2.562-37.103 1.63 17.39 10.64 29.193 18.733 40.064 2.73-15.665 6.79-31.493-.213-45.987 11.016 1.56 21.2 11.568 20.338 31.877 14.362-25.313 6.11-49.702-20.742-51.52l-71.135-9.892c12.757-22.982 18.676-49.823 17.015-77.475 14.188-34.708 50.058-11.816 54.523 49.16C394.924 262.27 434.58 304 426.324 367.13c11.808-23.38 21.835-35.013 29.862-36.247-10.772-91.925-40.458-191.57-77.637-250.748l15.823-9.942c50.328 80.106 85.112 220.65 84.88 331.547 42.403-115.912-2.347-356.61-154.282-384.2zm-29.458 476.913l-.026.016-.015.05c.015-.02.027-.044.042-.067zm26.543-318.492h.01v-.007l-.01.008zm-53.348-41.716c.866-.027 1.757.073 2.652.313 4.774 1.28 7.467 5.945 6.187 10.72-1.28 4.776-5.943 7.47-10.72 6.19-4.775-1.28-7.468-5.943-6.188-10.72.96-3.584 3.823-5.993 7.21-6.435.282-.036.568-.06.857-.068zM204.904 297.13c11.878-.2 22.637 6.756 26.172 22.487-.008 35.88-9.557 68.823-42.137 77.412-27.624 7.283-69.725-11.398-84.12-53.663 12.28-21.078 37.362-21.986 62.838 22.592-12.583-41.596 14.386-68.444 37.246-68.83z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZebraShield;

impl IconShape for ZebraShield {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M123.03 21.063c-4.318.034-8.667.11-13.03.218-11.91 27.083-22.38 56.627-30.844 87.5 60.77-2.1 125.66 5.56 185.75 24.064C230.8 103.9 179.34 81.64 117.406 64.188c-.094.004-.187-.005-.28 0v-.094c.095.027.184.066.28.094 3.238-.145 6.454-.24 9.688-.25 103.17-.366 203.43 65.787 243.78 120.937-55.26-18.87-172.255-41.116-262.78-42.906 64.638 18.767 134.3 60.955 168.75 97.218-60.616-31.342-147.584-64.4-210.53-74.032-2.604 14.28-4.766 28.707-6.376 43.156 98.453 16.914 167.907 89.382 209 160.344C186.695 288.486 118.976 259.78 57 246.062c-.56 12.237-.725 24.427-.438 36.532 75.5 13.773 155.45 63.446 195.907 115.812-37.694-3.49-57.538-3.84-83.876 0 14.878 15.368 21.893 30.75 27.062 46.78-27.556-23.05-73.388-45.023-103.78-58.436 23.016-12.572 58.944-10.468 83.81-12.563C147.913 347.462 99.992 327.5 59.377 324c7.15 62.802 27.745 120.948 66.655 165.406 7.457-1.933 14.864-4.19 22.22-6.72l-37.688-61.467 77.97 44.53c41.893-20.763 81.53-50.293 117.5-85-19.698-52.456-67.128-104.388-130.688-158.406 65 23.97 133.964 72.425 170.375 116.406 9.39-10.86 18.446-22.023 27.124-33.406-8.295-31.86-70.437-92.738-127.344-126.28 66.865 12.665 133.914 47.31 158.063 82.717 12.815-19.65 24.497-39.606 34.875-59.5-31.55-50.096-78.442-93.37-162.188-132.686 79.45 15.32 142.598 46.945 184.813 84.656 4.56-10.875 8.688-21.622 12.343-32.188C369.982 54.9 256.94 20.002 123.03 21.063z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZeusSword;

impl IconShape for ZeusSword {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M498.03 15.125l-87.06 34.72-164.5 164.5-34.657-32.095 31.156-28.844-223-133.594L176.155 164.5l-31.094 28.813 63.563 58.875-70.03 70.03c2.932 3.53 5.915 7.01 8.968 10.438l9.656 9.656 71.5-71.5 13.718 12.688-72 72 9.843 9.844c3.502 3.116 7.044 6.19 10.657 9.187l72-72 40.782 37.75-29 26.876 223 133.594-158.69-146.97 29-26.842-67.217-62.282 162.5-162.5 34.718-87.03zM430.69 68.813l13.218 13.218L280.28 245.657l-13.717-12.687L430.688 68.812zm-341 216.875L61.874 313.5 199.22 450.875l27.81-27.844c-56.283-34.674-103.014-81.617-137.343-137.342zm18.75 100.812l-81 81 17.75 17.75 81-81-17.75-17.75z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZigArrow;

impl IconShape for ZigArrow {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M20.678 69.63V219.51l36.218-25.17-14.99-29.723 68.918-44.51-90.146-50.48zm108.597 60.81l-63.117 40.763 14.735 29.22-60.215 41.847v22.896l45.576 18.45 72.096-50.1-14.99-29.725 63.58-41.058-57.665-32.29zm76.114 42.624l-57.78 37.313 14.738 29.22-75.4 52.397 78.072 31.604 61.626-42.825-14.99-29.724 61.766-39.89-68.033-38.096zm140.298 3.985l-28.862 58.417-24.955-13.975-55.962 36.143 14.737 29.22-64.93 45.122 65.582 26.548 61.777-42.93-14.988-29.726 83.607-53.995-36.005-54.826zm46.263 70.448l-69.614 44.957 14.736 29.22-95.69 66.5-14.52 29.387 96.576-6.96 78.556-54.59-14.99-29.725 39.807-25.707-34.86-53.082zm45.12 68.703l-25.814 16.673 14.734 29.22-66.01 45.874 131.145-9.453L437.07 316.2z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZigzagCage;

impl IconShape for ZigzagCage {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M255.838 20.014c-46.198 0-92.387 13.48-132.154 40.41-6.758-3.917-14.596-6.176-22.97-6.176-25.37 0-45.933 20.568-45.933 45.936 0 8.312 2.222 16.1 6.083 22.828-62.673 91.82-53.3 218.253 28.147 299.7 81.133 81.135 206.908 90.746 298.638 28.868 6.925 4.19 15.04 6.608 23.727 6.608 25.37 0 45.934-20.564 45.934-45.932 0-8.598-2.37-16.64-6.482-23.522 62.655-91.817 53.28-218.235-28.162-299.675-46.03-46.03-106.43-69.046-166.828-69.046zm0 18.578c55.575 0 111.15 21.23 153.607 63.685 74.088 74.088 83.513 188.115 28.315 272.39-7.468-5.252-16.563-8.345-26.385-8.345-1.133 0-2.256.043-3.37.123l-92.698-3.002 49.26-171.656-149.17 48.344 8.748-116.638-85.225 2.192.014-.02c-37.956-.28-39.983-20.097-19.176-39.12 4.96-4 10.058-7.748 15.27-11.247 1-.606 2.014-1.21 3.06-1.803-.035-.048-.073-.094-.108-.142 35.764-23.165 76.808-34.76 117.858-34.76zm-39.97 22.488c-6.655 1.36-13.186 3.057-19.58 5.063-2.308 13.93-6.433 27.24-12.114 39.683l20.472-.527c5.553-13.96 9.386-28.787 11.223-44.22zm89.075 2.037c-16.647 30.16-38.852 61.37-64.386 91.46l-2.39 31.85c34.282-37.795 63.946-78.343 85.063-117.728-5.968-2.143-12.068-4.01-18.287-5.583zm84.963 45.75l-81.465 81.465 39.103-12.67 55.57-55.572c-4.193-4.612-8.6-9.023-13.207-13.223zm-316.16 28.488c7.37 5.357 16.392 8.575 26.16 8.745l93.842 11.5-35.3 145.13 148.896-47.99-34.508 149.156 96.934-11.11-.014.03c36.085-3.498 39.427 16.134 19.12 34.834-85.258 66.25-208.29 60.198-286.646-18.156-74.014-74.014-83.5-187.89-28.484-272.14zm58.47 31.532c-19.22 13.763-41.652 23.336-65.978 27.38-2.002 6.395-3.694 12.928-5.05 19.587 36.93-4.42 70.385-20.235 96.757-43.815l-25.728-3.153zM443.2 188.852c-23.79 12.764-48 28.65-71.77 46.78l-9.096 31.696c28.52-23.762 57.94-44.434 86.422-60.17-1.563-6.225-3.423-12.33-5.557-18.306zm-288.927 51.96c-29.948 25.386-60.998 47.47-91.013 64.05 1.574 6.22 3.442 12.32 5.586 18.288 25.848-13.872 52.195-31.422 77.935-51.54l7.493-30.798zm296.393 55.372c-39.822 4.804-75.598 22.86-102.795 49.615l27.167.88c20.182-15.63 44.25-26.49 70.53-30.897 2.02-6.4 3.73-12.936 5.1-19.6zm-226.71 5.066l-39 12.568L109 389.778c4.2 4.605 8.61 9.015 13.22 13.208L223.956 301.25zm47.087 27.482c-33.008 36.814-61.585 76.107-82.11 114.323 5.975 2.135 12.08 3.995 18.305 5.56 14.46-26.148 33.09-53.08 54.436-79.385l9.37-40.498zm52.38 88.178l-20.49 2.348c-3.15 10.08-5.43 20.543-6.736 31.305 6.664-1.367 13.202-3.073 19.604-5.086 1.66-9.865 4.235-19.415 7.624-28.567z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZigzagLeaf;

impl IconShape for ZigzagLeaf {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M462.125 21.656c-90.8 62.46-285.757-3.604-362.938 59.75-75.358 61.862-78.86 205.444 14.75 240.625l1.72-1.874c37.05-27.143 87.683-34.04 132.937-21.47 10.06-53.15-25.31-116.6-106.75-121.03 41.182-12.678 78.062-6.115 107.094 11.5 28.17-18.51 65.59-22.273 98.5-11.844 13.642-24.687 5.494-62.023-34.875-75.062 11.547-.47 21.786 1.543 30.625 5.375 9.765-9.273 23.542-14.436 37.406-14.594 20.555-.233 41.345 10.51 49.72 35-20.84-25.228-50.562-20.836-65.158-4.374 16.456 18.683 21.54 46.205 13.156 68.78 24.248 16.935 41.845 44.085 44.22 81.126-28.71-63.122-92.417-69.913-131.313-43.625 20.415 30.55 28.802 68.684 20.436 103.594 24.437 22.882 41.334 55.248 44 96.845-39.337-86.492-127.312-94.716-179.625-57.406l-.968-.126C284.356 567.204 577.93 466.81 462.125 21.656zM311 189.656c-21.31.028-42.32 7.18-61.656 20.75 11.706 22.114 34.073 72.085 5.937 111.813-61.534-22.165-135.748 9.04-174.78 63.905-.016.015-.046.016-.063.03-21.582 20.457-40.824 44.172-59.406 69 8.21 23.188 26.263 36.433 58.782 35.095 14.816-43.566 33.983-80.886 59.126-112.47C183.548 320.235 251.394 332.02 282 340c12.164-38.336 12.068-84.158-12.97-113.688 24.283-25.166 67.41-33.486 98.19-19.625-18.384-11.557-37.418-17.055-56.22-17.03z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}

#[derive(Default, Copy, Clone, PartialEq, Eq)]
pub struct ZigzagTune;

impl IconShape for ZigzagTune {
    fn child_elements(&self) -> Element {
        rsx!(path {
        d: "M0 0h512v512H0z",
            }
path {
        d: "M190.83 20.24v15.262h136.225l-37.823 19.69H190.83v236.53c-16.15-20.85-41.408-34.314-69.736-34.314-48.594 0-88.19 39.588-88.19 88.176s39.596 88.176 88.19 88.176c44.44 0 81.35-33.11 87.336-75.934 1.04-5.406 1.59-10.983 1.59-16.69h-.5v-138.03h229.947v143.273c-16.156-20.733-41.344-34.11-69.58-34.11-48.594 0-88.192 39.59-88.192 88.177 0 48.588 39.598 88.176 88.192 88.176 45.258 0 82.704-34.34 87.633-78.31.743-4.598 1.134-9.313 1.134-14.122h-.498V185.753H267.814l37.825-19.69h152.516v-26.535h-191.61L476.983 20.24H190.83zm18.69 63.492h117.556l-117.556 66.64V83.73zm-88.426 192.364c37 0 67.066 28.642 69.35 65.04H51.745c2.283-36.398 32.348-65.04 69.348-65.04zm248.793 54.863c37.065 0 67.173 28.743 69.36 65.23H300.524c2.19-36.487 32.3-65.23 69.364-65.23z",
        fill: "#fff",
            })
    }

    const VIEW_BOX: Option<&'static str> = Some("0 0 512 512");

}