diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index 7bee028b..00000000
--- a/.dockerignore
+++ /dev/null
@@ -1,5 +0,0 @@
-node_modules
-Dockerfile*
-.dockerignore
-.git
-.gitignore
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index 52de427a..00000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,28 +0,0 @@
-module.exports = {
- "env": {
- "browser": true,
- "es6": true,
- },
- "plugins": [
- "react",
- ],
- "parserOptions": {
- "sourceType": "module",
- "ecmaVersion": 2018,
- "ecmaFeatures": {
- "jsx": true,
- },
- },
- "rules": {
- "react/jsx-uses-vars": 2,
- 'no-console': [
- 'warn',
- {
- allow: [
- 'error',
- 'warn',
- ],
- },
- ],
- }
-}
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c0fa7b8a..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-node_modules/
-public/
-.gatsby-context.js
-.DS_Store
-.intermediate-representation/
-.cache/
-package-lock.json
diff --git a/static/.nojekyll b/.nojekyll
similarity index 100%
rename from static/.nojekyll
rename to .nojekyll
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 5149b1b7..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "trailingComma": "es5",
- "semi": false,
- "singleQuote": true
-}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index b23ceba1..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-language: node_js
-node_js:
-- '10'
-
-before_script:
-- npm install -g gatsby-cli
-script:
-- npm run build
-deploy:
- provider: pages
- skip-cleanup: true
- github-token: "$GITHUB_TOKEN"
- local_dir: public
- keep-history: true
- name: "Travis Deploy"
- on:
- branch: master
diff --git a/1bfc9850-b4905fba6d6db9112283.js b/1bfc9850-b4905fba6d6db9112283.js
new file mode 100644
index 00000000..fa46dab0
--- /dev/null
+++ b/1bfc9850-b4905fba6d6db9112283.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunk_040_code=self.webpackChunk_040_code||[]).push([[445],{3201:function(t,c,n){n.d(c,{SRX:function(){return i},fWC:function(){return e},hJX:function(){return a},ltd:function(){return u}});var r=n(1046);function a(t){return(0,r.w_)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(t)}function u(t){return(0,r.w_)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"}}]})(t)}function e(t){return(0,r.w_)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"}}]})(t)}function i(t){return(0,r.w_)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"}}]})(t)}}}]);
+//# sourceMappingURL=1bfc9850-b4905fba6d6db9112283.js.map
\ No newline at end of file
diff --git a/1bfc9850-b4905fba6d6db9112283.js.map b/1bfc9850-b4905fba6d6db9112283.js.map
new file mode 100644
index 00000000..33fdc8cf
--- /dev/null
+++ b/1bfc9850-b4905fba6d6db9112283.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"1bfc9850-b4905fba6d6db9112283.js","mappings":"sOAugFO,SAASA,EAASC,GACvB,OAAO,QAAQ,CACb,IAAO,MACP,KAAQ,CACN,QAAW,eAEb,MAAS,CAAC,CACR,IAAO,OACP,KAAQ,CACN,EAAK,+xCARJ,CAWJA,EACL,CA8gCO,SAASC,EAAWD,GACzB,OAAO,QAAQ,CACb,IAAO,MACP,KAAQ,CACN,QAAW,eAEb,MAAS,CAAC,CACR,IAAO,OACP,KAAQ,CACN,EAAK,+aARJ,CAWJA,EACL,CAuxEO,SAASE,EAAUF,GACxB,OAAO,QAAQ,CACb,IAAO,MACP,KAAQ,CACN,QAAW,eAEb,MAAS,CAAC,CACR,IAAO,OACP,KAAQ,CACN,EAAK,8xBARJ,CAWJA,EACL,CAgsKO,SAASG,EAAWH,GACzB,OAAO,QAAQ,CACb,IAAO,MACP,KAAQ,CACN,QAAW,eAEb,MAAS,CAAC,CACR,IAAO,OACP,KAAQ,CACN,EAAK,udARJ,CAWJA,EACL,C","sources":["webpack://040-code/./node_modules/react-icons/fa/index.esm.js"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function Fa500Px(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAccessibleIcon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAccusoft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAcquisitionsIncorporated(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAdn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAdversal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAffiliatetheme(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAirbnb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAlgolia(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAlipay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAmazonPay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAmazon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAmilia(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAndroid(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngellist(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngrycreative(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngular(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAppStoreIos(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAppStore(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"\n }\n }]\n })(props);\n}\n;\nexport function FaApper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaApplePay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaApple(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArtstation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAsymmetrik(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAtlassian(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAudible(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAutoprefixer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAvianex(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAviato(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAws(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBandcamp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBattleNet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"\n }\n }]\n })(props);\n}\n;\nexport function FaBehanceSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBehance(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBimobject(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBitbucket(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBitcoin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBity(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlackTie(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlackberry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBloggerB(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlogger(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBluetoothB(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBluetooth(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBootstrap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M333.5,201.4c0-22.1-15.6-34.3-43-34.3h-50.4v71.2h42.5C315.4,238.2,333.5,225,333.5,201.4z M517,188.6 c-9.5-30.9-10.9-68.8-9.8-98.1c1.1-30.5-22.7-58.5-54.7-58.5H123.7c-32.1,0-55.8,28.1-54.7,58.5c1,29.3-0.3,67.2-9.8,98.1 c-9.6,31-25.7,50.6-52.2,53.1v28.5c26.4,2.5,42.6,22.1,52.2,53.1c9.5,30.9,10.9,68.8,9.8,98.1c-1.1,30.5,22.7,58.5,54.7,58.5h328.7 c32.1,0,55.8-28.1,54.7-58.5c-1-29.3,0.3-67.2,9.8-98.1c9.6-31,25.7-50.6,52.1-53.1v-28.5C542.7,239.2,526.5,219.6,517,188.6z M300.2,375.1h-97.9V136.8h97.4c43.3,0,71.7,23.4,71.7,59.4c0,25.3-19.1,47.9-43.5,51.8v1.3c33.2,3.6,55.5,26.6,55.5,58.3 C383.4,349.7,352.1,375.1,300.2,375.1z M290.2,266.4h-50.1v78.4h52.3c34.2,0,52.3-13.7,52.3-39.5 C344.7,279.6,326.1,266.4,290.2,266.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBtc(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBuffer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBuromobelexperte(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBuyNLarge(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBuysellads(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCanadianMapleLeaf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcAmazonPay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcAmex(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcApplePay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcDinersClub(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcDiscover(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcJcb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcMastercard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcPaypal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcStripe(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCcVisa(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCentercode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCentos(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChrome(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChromecast(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudflare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudscale(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudsmith(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 332 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudversify(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 616 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCodepen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCodiepie(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 472 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaConfluence(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaConnectdevelop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"\n }\n }]\n })(props);\n}\n;\nexport function FaContao(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCottonBureau(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCpanel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsBy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsNcEu(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsNcJp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsNc(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsNd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsPdAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsPd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsRemix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsSa(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsSamplingPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsSampling(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsShare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommonsZero(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreativeCommons(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCriticalRole(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCss3Alt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCss3(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCuttlefish(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 440 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDAndDBeyond(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDAndD(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDailymotion(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDashcube(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDeezer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDelicious(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDeploydog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDeskpro(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDev(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDeviantart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDhl(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiaspora(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDigg(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDigitalOcean(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiscord(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiscourse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDochub(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 416 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDocker(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDraft2Digital(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDribbbleSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDribbble(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDropbox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 528 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDrupal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDyalog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 416 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEarlybirds(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEbay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEdgeLegacy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEdge(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaElementor(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEllo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEmber(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEmpire(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEnvira(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaErlang(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEthereum(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEtsy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEvernote(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExpeditedssl(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFacebookF(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFacebookMessenger(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFacebookSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFacebook(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFantasyFlightGames(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFedex(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFedora(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFigma(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M14 95.7924C14 42.8877 56.8878 0 109.793 0H274.161C327.066 0 369.954 42.8877 369.954 95.7924C369.954 129.292 352.758 158.776 326.711 175.897C352.758 193.019 369.954 222.502 369.954 256.002C369.954 308.907 327.066 351.795 274.161 351.795H272.081C247.279 351.795 224.678 342.369 207.666 326.904V415.167C207.666 468.777 163.657 512 110.309 512C57.5361 512 14 469.243 14 416.207C14 382.709 31.1945 353.227 57.2392 336.105C31.1945 318.983 14 289.5 14 256.002C14 222.502 31.196 193.019 57.2425 175.897C31.196 158.776 14 129.292 14 95.7924ZM176.288 191.587H109.793C74.2172 191.587 45.3778 220.427 45.3778 256.002C45.3778 291.44 73.9948 320.194 109.381 320.416C109.518 320.415 109.655 320.415 109.793 320.415H176.288V191.587ZM207.666 256.002C207.666 291.577 236.505 320.417 272.081 320.417H274.161C309.737 320.417 338.576 291.577 338.576 256.002C338.576 220.427 309.737 191.587 274.161 191.587H272.081C236.505 191.587 207.666 220.427 207.666 256.002ZM109.793 351.795C109.655 351.795 109.518 351.794 109.381 351.794C73.9948 352.015 45.3778 380.769 45.3778 416.207C45.3778 451.652 74.6025 480.622 110.309 480.622C146.591 480.622 176.288 451.186 176.288 415.167V351.795H109.793ZM109.793 31.3778C74.2172 31.3778 45.3778 60.2173 45.3778 95.7924C45.3778 131.368 74.2172 160.207 109.793 160.207H176.288V31.3778H109.793ZM207.666 160.207H274.161C309.737 160.207 338.576 131.368 338.576 95.7924C338.576 60.2173 309.737 31.3778 274.161 31.3778H207.666V160.207Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFirefoxBrowser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFirefox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFirstOrderAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFirstOrder(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFirstdraft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlickr(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlipboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFly(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFontAwesomeAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32Zm16 400a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V80A16 16 0 0 1 48 64H400a16 16 0 0 1 16 16ZM201.6 152c-25.4 0-37.4 10.4-57.6 14.4V160a16 16 0 0 0-32 0V352a16 16 0 0 0 32 0V198.4c20.2-4 32.2-14.4 57.6-14.4 31.4 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.4-16-74.6-16a85.9 85.9 0 0 0-25.6 4v32a80 80 0 0 1 25.6-4c31.4 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16V152c-31.6 11.2-41.2 16-59.8 16C244.8 168 232.8 152 201.6 152Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFontAwesomeFlag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 48V384c-63 23-82 32-119 32-63 0-87-32-150-32-20 0-36 4-51 8V328c15-4 31-8 51-8 63 0 87 32 150 32 20 0 35-3 55-9V135c-20 6-35 9-55 9-63 0-87-32-150-32-51 0-75 21-115 29V448a31.6 31.6 0 0 1-32 32A31.6 31.6 0 0 1 0 448V64A31.6 31.6 0 0 1 32 32 31.6 31.6 0 0 1 64 64V77c40-8 64-29 115-29 63 0 87 32 150 32C366 80 385 71 448 48Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFontAwesomeLogoFull(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 3992 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M1209.7 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C1311.7 200.4 1267.5 156.5 1209.7 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C1261.1 281.8 1244.8 309.2 1209.7 309.2Zm962.1-136.1c-4.4-10.9-12.3-16.5-23.5-16.5s-19.1 5.6-23.5 16.5l-59.4 145.8c-7.2 17.7 2.8 27.4 4.4 29a24.6 24.6 0 0 0 17.5 6.8c10.8 0 18.7-6 23.1-18.1l4-10.1h67.7l4 10.1c4.8 12.1 12.3 18.1 23.1 18.1a24.6 24.6 0 0 0 17.5-6.8c10-10.1 6.8-22.6 4.4-29Zm-43 113.6 19.1-56 19.1 56Zm-574.5-130.1c-14.3 0-24.7 10.9-24.7 25.4v76.5l-68.5-85.8c-4.4-5.6-11.6-16.1-25.5-16.1-19.1 0-24.3 17.7-24.3 25.4V329.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V252.8l68.9 86.2c4.8 5.6 11.6 16.1 25.5 16.1 19.1 0 23.9-17.3 23.9-25.4V181.9C1579 167.4 1568.6 156.5 1554.3 156.5Zm-554.1 1.6H916.5c-19.9 0-25.1 17.3-25.1 25.4V328.1c0 19.7 16.7 25.4 24.7 25.4 8 0 24.7-5.2 24.7-25.4V285h44.6c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.1-22.7-22.1H940.8V203.6h59.4c12.8 0 22.7-9.3 22.7-22.6C1022.9 163 1007.3 158.1 1000.2 158.1Zm815.1 0H1691.7c-7.2 0-22.7 4.4-22.7 22.2 0 13.3 10 22.6 22.7 22.6h37V327.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V202.8h37c12.7 0 22.7-9.3 22.7-22.6C1837.9 163 1822.4 158.1 1815.2 158.1Zm1789.5-1.6c-9.6 0-17.5 6-25.1 18.1l-46.6 76.1L3486.4 174.6q-10.8-18.1-25.1-18.1c-19.5 0-24.7 18.1-24.7 25.8V329.7c0 14.1 10.4 25.4 24.7 25.4s24.7-10.9 24.7-25.4V262.8L3510.7 302.7c6.4 10.1 13.9 15.3 22.3 15.3 8.8 0 15.9-5.2 22.3-15.3l24.7-39.9v66.9c0 14.1 10.3 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V182.3C3629.4 174.2 3624.6 156.5 3604.7 156.5Zm248.6 149.8h-65.7V272.9h39.4c11.9 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.6-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.8 0 22.7-9.3 22.7-22.6C3876 311.2 3860.5 306.3 3853.3 306.3ZM3235 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C3337 200.4 3292.8 156.5 3235 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C3286.8 281.8 3270.1 309.2 3235 309.2ZM2550.2 156.5c-11.2 0-19.1 5.6-23.1 16.5l-34.3 94.7-31.5-92.2c-4.4-12.5-12.3-18.9-24.3-18.9-11.9 0-19.9 6.4-24.3 18.9l-31.5 92.2-34.3-95.5q-5.4-15.7-22.7-15.7c-6.8 0-12.3 2.4-17.5 7.3-5.2 5.2-10.8 14.5-4.8 28.6l55.8 145.8c4 11.3 11.6 16.9 23.1 16.9q16.7 0 22.7-16.9l33.5-91.8 33.5 91.8q6 16.9 22.7 16.9c11.2 0 19.1-5.6 23.1-16.9l55.8-145.8c3.6-9.3 4.4-19.3-4.8-28.6A23 23 0 0 0 2550.2 156.5Zm444.2 81-21.9-9.3c-11.9-4.8-16.3-8.5-16.3-15.7q0-12.1 16.7-12.1c12.7 0 19.5 7.7 24.3 10.9 7.2 5.2 18.3 6.8 27.9-2 10.8-10.5 6.8-23.8 1.2-30.6-12.3-14.9-30.3-22.2-53.8-22.2-19.1 0-35.1 5.2-47.4 15.7-12.3 10.5-18.7 24.2-18.7 41.1 0 24.2 15.9 43.5 47.8 57.6l19.5 8.9c15.9 6.8 19.1 9.7 19.1 17.7 0 9.3-6.4 14.1-19.5 14.1-19.1 0-34.7-14.9-36.3-16.1-10.8-7.3-21.5-2-26.3 2.8-6.8 6.4-12.7 20.9 3.2 36.2 6.8 6.4 15.5 11.7 26.7 15.3a94.6 94.6 0 0 0 32.7 5.6c19.9 0 36.7-5.2 49.8-16.1 13.1-10.9 19.5-25.4 19.5-43.5q0-20.5-12-33.8C3022.7 253.2 3010.7 244.3 2994.4 237.5Zm-206.4 68.9h-65.7V272.9h39.4c12 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.7 0 22.7-9.3 22.7-22.6C2810.8 311.2 2795.2 306.3 2788 306.3ZM178.3 49.1c-50.5 0-74.4 20.7-114.6 28.7V65A31.8 31.8 0 1 0 0 65V447a31.8 31.8 0 0 0 63.7 0V141.4c40.2-8 64.1-28.7 114.6-28.7 62.5 0 86 31.8 148.4 31.8 20.3 0 35.4-2.8 55.3-9.2v191c-19.9 6.4-35 9.2-55.3 9.2-62.5 0-86.4-31.8-148.4-31.8-20.3 0-36.2 3.6-50.9 8V375.4a159.1 159.1 0 0 1 50.9-8c62.5 0 86 31.8 148.4 31.8 37 0 56.1-9.6 119-31.8V49.1C382.8 71.4 363.7 80.9 326.7 80.9 264.2 80.9 240.4 49.1 178.3 49.1Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFontAwesome(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32ZM336 312c-31.6 11.2-41.2 16-59.8 16-31.4 0-43.2-16-74.6-16a80 80 0 0 0-25.6 4V284a85.9 85.9 0 0 1 25.6-4c31.2 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v-96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.2-16-74.6-16-25.4 0-37.4 10.4-57.6 14.4V352a16 16 0 0 1-32 0V160a16 16 0 0 1 32 0v6.4c20.2-4 32.2-14.4 57.6-14.4 31.2 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFonticonsFi(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFonticons(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFortAwesomeAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFortAwesome(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaForumbee(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFoursquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 368 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFreeCodeCamp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFreebsd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFulcrum(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGalacticRepublic(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGalacticSenate(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGetPocket(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGgCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGg(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGitAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGitSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGithubAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGithubSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGithub(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGitkraken(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 592 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGitlab(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGitter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlideG(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlide(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGofore(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 400 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGoodreadsG(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGoodreads(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGoogleDrive(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGooglePay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGooglePlay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGooglePlusG(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGooglePlusSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGooglePlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGoogleWallet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGoogle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 488 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGratipay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrav(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGripfire(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrunt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGuilded(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGulp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHackerNewsSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHackerNews(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHackerrank(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHips(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHireAHelper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHive(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHooli(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHornbill(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHotjar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHouzz(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHtml5(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHubspot(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIdeal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaImdb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInnosoft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M422.559,159.71a27.379,27.379,0,0,0-13.866-23.337,26.42,26.42,0,0,0-26.211.133L73.943,314.647V176.261a11.955,11.955,0,0,1,6.047-10.34L218.066,86.208a12.153,12.153,0,0,1,11.922.025l32.656,18.853L112.581,191.723v56L359.642,105.086,241.129,36.679c-10.992-6.129-22.3-6.255-33.8-.27l-164.6,95.026c-10.634,6.12-16.771,16.39-17.29,29.124l0,191.5c.17,10.135,5.08,18.672,13.474,23.428a27.037,27.037,0,0,0,26.736-.045L374.057,197.376V335.657a11.976,11.976,0,0,1-5.92,10.368L230.025,425.77a12.175,12.175,0,0,1-11.937.062l-32.723-18.9,150.051-86.627v-56L88.367,406.932l118.794,68.583a33.88,33.88,0,0,0,34.25-.327l164.527-94.995c10.746-6.631,16.649-17.118,16.624-29.528Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInstagramSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInstagram(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInstalod(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"dataName\": \"Layer 1\",\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIntercom(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInternetExplorer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInvision(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIoxhost(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaItchIo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaItunesNote(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaItunes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJava(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJediOrder(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJenkins(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJira(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJoget(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJoomla(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJsSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJsfiddle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKaggle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKeybase(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKeycdn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"\n }\n }]\n })(props);\n}\n;\nexport function FaKickstarterK(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKickstarter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKorvue(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 446 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaravel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLastfmSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLastfm(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLeanpub(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLess(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLine(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLinkedinIn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLinkedin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLinode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLinux(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLyft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMagento(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMailchimp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMandalorian(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMarkdown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMastodon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMaxcdn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMdb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMedapps(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMediumM(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMedium(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMedrt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 544 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMeetup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMegaport(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMendeley(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicroblog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicrosoft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMixcloud(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMixer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMizuni(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaModx(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMonero(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNapster(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNeos(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNimblr(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNodeJs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNpm(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNs8(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNutritionix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 400 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOctopusDeploy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOdnoklassnikiSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOdnoklassniki(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOldRepublic(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOpencart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOpenid(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOpera(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOptinMonster(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOrcid(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOsi(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPage4(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPagelines(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPalfed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPatreon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaypal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPennyArcade(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPerbyte(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPeriscope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhabricator(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoenixFramework(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoenixSquadron(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPiedPiperAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPiedPiperHat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPiedPiperPp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPiedPiperSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPiedPiper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPinterestP(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPinterestSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPinterest(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlaystation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"\n }\n }]\n })(props);\n}\n;\nexport function FaProductHunt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPushed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 432 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPython(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQq(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuinscape(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuora(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRProject(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 581 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRaspberryPi(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 407 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRavelry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReact(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReacteurope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReadme(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRebel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRedRiver(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRedditAlien(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRedditSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReddit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRedhat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"\n }\n }]\n })(props);\n}\n;\nexport function FaRenren(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReplyd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaResearchgate(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaResolving(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRev(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRocketchat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRockrms(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRust(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSafari(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSalesforce(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSchlix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaScribd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSearchengin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 460 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSellcast(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSellsy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"\n }\n }]\n })(props);\n}\n;\nexport function FaServicestack(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShirtsinbulk(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShopify(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShopware(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSimplybuilt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSistrix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSith(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSketch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkyatlas(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkype(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSlackHash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSlack(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSlideshare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnapchatGhost(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnapchatSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnapchat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSoundcloud(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSourcetree(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpeakap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpeakerDeck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpotify(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSquarespace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStackExchange(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStackOverflow(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStackpath(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStaylinked(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 440 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSteamSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSteamSymbol(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSteam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStickerMule(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStrava(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStripeS(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStripe(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStudiovinari(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStumbleuponCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStumbleupon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSuperpowers(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSupple(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSuse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSwift(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSymfony(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTeamspeak(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTelegramPlane(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTelegram(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTencentWeibo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTheRedYeti(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThemeco(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThemeisle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThinkPeaks(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTiktok(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTradeFederation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrello(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTripadvisor(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528.91,178.82,576,127.58H471.66a326.11,326.11,0,0,0-367,0H0l47.09,51.24A143.911,143.911,0,0,0,241.86,390.73L288,440.93l46.11-50.17A143.94,143.94,0,0,0,575.88,285.18h-.03A143.56,143.56,0,0,0,528.91,178.82ZM144.06,382.57a97.39,97.39,0,1,1,97.39-97.39A97.39,97.39,0,0,1,144.06,382.57ZM288,282.37c0-64.09-46.62-119.08-108.09-142.59a281,281,0,0,1,216.17,0C334.61,163.3,288,218.29,288,282.37Zm143.88,100.2h-.01a97.405,97.405,0,1,1,.01,0ZM144.06,234.12h-.01a51.06,51.06,0,1,0,51.06,51.06v-.11A51,51,0,0,0,144.06,234.12Zm287.82,0a51.06,51.06,0,1,0,51.06,51.06A51.06,51.06,0,0,0,431.88,234.12Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTumblrSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTumblr(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTwitch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTwitterSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTwitter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTypo3(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUber(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUbuntu(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUikit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUmbraco(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 510 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUncharted(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUniregistry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUnity(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUnsplash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUntappd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUps(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUsb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUsps(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUssunnah(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVaadin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaViacoin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaViadeoSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaViadeo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaViber(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVimeoSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVimeoV(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVimeo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVine(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVk(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVnv(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVuejs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWatchmanMonitoring(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWaze(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWeebly(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWeibo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWeixin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWhatsappSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWhatsapp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWhmcs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWikipediaW(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWindows(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWizardsOfTheCoast(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWodu(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWolfPackBattalion(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWordpressSimple(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWordpress(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWpbeginner(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWpexplorer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWpforms(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWpressr(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"\n }\n }]\n })(props);\n}\n;\nexport function FaXbox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaXingSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"\n }\n }]\n })(props);\n}\n;\nexport function FaXing(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYCombinator(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYahoo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYammer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYandexInternational(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYandex(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYarn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYelp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYoast(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYoutubeSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYoutube(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"\n }\n }]\n })(props);\n}\n;\nexport function FaZhihu(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAddressBook(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAddressCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAdjust(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAirFreshener(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAlignCenter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAlignJustify(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAlignLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAlignRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAllergies(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAmbulance(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAmericanSignLanguageInterpreting(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAnchor(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleDoubleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleDoubleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleDoubleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleDoubleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAngry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAnkh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAppleAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArchive(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArchway(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowAltCircleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowAltCircleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowAltCircleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowAltCircleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowCircleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowCircleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowCircleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowCircleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowsAltH(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowsAltV(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"\n }\n }]\n })(props);\n}\n;\nexport function FaArrowsAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAssistiveListeningSystems(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAsterisk(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAtlas(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAtom(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAudioDescription(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"\n }\n }]\n })(props);\n}\n;\nexport function FaAward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBabyCarriage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBaby(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBackspace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBackward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBacon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBacteria(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBacterium(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBahai(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBalanceScaleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBalanceScaleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBalanceScale(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBandAid(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBarcode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBars(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBaseballBall(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBasketballBall(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBath(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBatteryEmpty(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBatteryFull(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBatteryHalf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBatteryQuarter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBatteryThreeQuarters(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBeer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBellSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBell(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBezierCurve(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBible(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBicycle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBiking(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBinoculars(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBiohazard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBirthdayCake(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlenderPhone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlender(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlind(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBlog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBold(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBolt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBomb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBong(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBookDead(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBookMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBookOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBookReader(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBook(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBookmark(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBorderAll(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBorderNone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBorderStyle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBowlingBall(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBoxOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBoxTissue(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBoxes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBraille(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBrain(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBreadSlice(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBriefcaseMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBriefcase(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBroadcastTower(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBroom(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBrush(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBug(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBuilding(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBullhorn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBullseye(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBurn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBusAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaBusinessTime(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalculator(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarDay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarMinus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarTimes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendarWeek(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCalendar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCameraRetro(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCamera(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCampground(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCandyCane(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCannabis(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCapsules(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCarAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCarBattery(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCarCrash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCarSide(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaravan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 192 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 192 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretSquareDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretSquareLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretSquareRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretSquareUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCaretUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCarrot(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCartArrowDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCartPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCashRegister(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCertificate(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChair(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChalkboardTeacher(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChalkboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChargingStation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChartArea(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChartBar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChartLine(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChartPie(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 544 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCheckCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCheckDouble(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCheckSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCheese(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessBishop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessBoard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessKing(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessKnight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessPawn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessQueen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChessRook(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChess(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronCircleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronCircleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronCircleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronCircleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChevronUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChild(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"\n }\n }]\n })(props);\n}\n;\nexport function FaChurch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCircleNotch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCity(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClinicMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClipboardCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClipboardList(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClipboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"\n }\n }]\n })(props);\n}\n;\nexport function FaClosedCaptioning(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudDownloadAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudMeatball(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudMoonRain(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudMoon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudRain(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudShowersHeavy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudSunRain(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudSun(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloudUploadAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCloud(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCocktail(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCodeBranch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCoffee(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCogs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCoins(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaColumns(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCommentAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCommentDollar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCommentDots(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCommentMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCommentSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaComment(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCommentsDollar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaComments(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCompactDisc(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCompass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCompressAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCompressArrowsAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCompress(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaConciergeBell(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCookieBite(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCookie(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCopy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCopyright(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCouch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCreditCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCropAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCrop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCross(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCrosshairs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCrow(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCrown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCrutch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCube(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCubes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaCut(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDatabase(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDeaf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDemocrat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDesktop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDharmachakra(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiagnoses(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceD20(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceD6(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceFive(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceFour(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceOne(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceSix(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceThree(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDiceTwo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDice(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDigitalTachograph(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDirections(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDisease(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDivide(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDizzy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDna(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDollarSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDollyFlatbed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDolly(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDonate(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDoorClosed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDoorOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDotCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDove(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDownload(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDraftingCompass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDragon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDrawPolygon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDrumSteelpan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDrum(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDrumstickBite(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDumbbell(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDumpsterFire(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDumpster(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaDungeon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEdit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEgg(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEject(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEllipsisH(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEllipsisV(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 192 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEnvelopeOpenText(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEnvelopeOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEnvelopeSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEnvelope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEquals(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEraser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEthernet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEuroSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExchangeAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExclamationCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExclamationTriangle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExclamation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 192 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExpandAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExpandArrowsAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExpand(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExternalLinkAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaExternalLinkSquareAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEyeDropper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEyeSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"\n }\n }]\n })(props);\n}\n;\nexport function FaEye(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFastBackward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFastForward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFaucet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFax(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFeatherAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFeather(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFemale(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFighterJet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileArchive(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileAudio(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileCode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileContract(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileCsv(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileDownload(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileExcel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileExport(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileImage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileImport(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileInvoiceDollar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileInvoice(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileMedicalAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFilePdf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFilePowerpoint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFilePrescription(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileSignature(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileUpload(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileVideo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFileWord(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFile(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFillDrip(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFill(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFilm(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFilter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFingerprint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFireAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFireExtinguisher(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFire(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFirstAid(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFish(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFistRaised(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlagCheckered(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlagUsa(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlask(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFlushed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFolderMinus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFolderOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFolderPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFolder(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFont(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFootballBall(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaForward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFrog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFrownOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFrown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFunnelDollar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"\n }\n }]\n })(props);\n}\n;\nexport function FaFutbol(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGamepad(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGasPump(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGavel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGem(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGenderless(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGhost(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGift(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGifts(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlassCheers(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlassMartiniAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlassMartini(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlassWhiskey(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlasses(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlobeAfrica(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlobeAmericas(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlobeAsia(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlobeEurope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGlobe(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGolfBall(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 416 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGopuram(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGraduationCap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGreaterThanEqual(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGreaterThan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrimace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinBeamSweat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 504 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinHearts(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinSquintTears(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinSquint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinStars(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinTears(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinTongueSquint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinTongueWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinTongue(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrinWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGrin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGripHorizontal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGripLinesVertical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGripLines(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGripVertical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaGuitar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHamburger(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHammer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHamsa(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandHoldingHeart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandHoldingMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandHoldingUsd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandHoldingWater(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandHolding(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandLizard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandMiddleFinger(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPaper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPeace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPointDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPointLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPointRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPointUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandPointer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandRock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandScissors(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandSparkles(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandSpock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandsHelping(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandsWash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHands(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandshakeAltSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandshakeSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHandshake(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHanukiah(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHardHat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHashtag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHatCowboySide(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHatCowboy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHatWizard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHdd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadSideCoughSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadSideCough(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadSideMask(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadSideVirus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeading(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadphonesAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadphones(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeadset(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeartBroken(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHeartbeat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHelicopter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHighlighter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 544 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHiking(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHippo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHistory(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHockeyPuck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHollyBerry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHome(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHorseHead(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHorse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHospitalAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHospitalSymbol(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHospitalUser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHospital(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHotTub(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHotdog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHotel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHourglassEnd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHourglassHalf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHourglassStart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHourglass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHouseDamage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHouseUser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaHryvnia(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"\n }\n }]\n })(props);\n}\n;\nexport function FaICursor(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIceCream(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIcicles(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIcons(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIdBadge(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIdCardAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIdCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIgloo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaImage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaImages(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInbox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIndent(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaIndustry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInfinity(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInfoCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaInfo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 192 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaItalic(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJedi(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJoint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaJournalWhills(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKaaba(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKey(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKeyboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKhanda(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKissBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKissWinkHeart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 504 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKiss(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaKiwiBird(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLandmark(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLanguage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaptopCode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaptopHouse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaptopMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaptop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaughBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaughSquint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaughWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLaugh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLayerGroup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLeaf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLemon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLessThanEqual(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLessThan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLevelDownAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLevelUpAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLifeRing(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLightbulb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 352 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLiraSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"\n }\n }]\n })(props);\n}\n;\nexport function FaListAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaListOl(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"\n }\n }]\n })(props);\n}\n;\nexport function FaListUl(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaList(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLocationArrow(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLockOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLongArrowAltDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLongArrowAltLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLongArrowAltRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLongArrowAltUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLowVision(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLuggageCart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLungsVirus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaLungs(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMagic(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMagnet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMailBulk(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMale(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 192 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMapMarkedAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMapMarked(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMapMarkerAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMapMarker(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMapPin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMapSigns(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMarker(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMarsDouble(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMarsStrokeH(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMarsStrokeV(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMarsStroke(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMars(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMask(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMedal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMedkit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMehBlank(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMehRollingEyes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMeh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMemory(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMenorah(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMercury(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMeteor(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicrochip(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicrophoneAltSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicrophoneAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 352 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicrophoneSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicrophone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 352 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMicroscope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMinusCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMinusSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMinus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMitten(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMobileAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMobile(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoneyBillAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoneyBillWaveAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoneyBillWave(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoneyBill(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoneyCheckAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoneyCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMonument(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMoon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMortarPestle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMosque(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMotorcycle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMountain(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMousePointer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMouse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMugHot(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaMusic(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNetworkWired(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNeuter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNewspaper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNotEqual(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"\n }\n }]\n })(props);\n}\n;\nexport function FaNotesMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaObjectGroup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"\n }\n }]\n })(props);\n}\n;\nexport function FaObjectUngroup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOilCan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOm(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOtter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaOutdent(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPager(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaintBrush(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaintRoller(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPalette(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPallet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaperPlane(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaperclip(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"\n }\n }]\n })(props);\n}\n;\nexport function FaParachuteBox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"\n }\n }]\n })(props);\n}\n;\nexport function FaParagraph(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaParking(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPassport(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPastafarianism(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaste(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPauseCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPause(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPaw(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPeace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPenAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPenFancy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPenNib(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPenSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPencilAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPencilRuler(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPeopleArrows(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPeopleCarry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPepperHot(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPercent(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPercentage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPersonBooth(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoneAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoneSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoneSquareAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoneSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhoneVolume(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPhotoVideo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPiggyBank(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPills(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPizzaSlice(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlaceOfWorship(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlaneArrival(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlaneDeparture(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlaneSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlane(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlayCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlug(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlusCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlusSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPodcast(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPollH(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPoll(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPooStorm(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPoo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPoop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPortrait(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPoundSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPowerOff(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPray(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPrayingHands(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPrescriptionBottleAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPrescriptionBottle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPrescription(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPrint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaProcedures(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaProjectDiagram(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPumpMedical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPumpSoap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaPuzzlePiece(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQrcode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuestionCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuestion(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuidditch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuoteLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuoteRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaQuran(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRadiationAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRadiation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRainbow(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRandom(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReceipt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRecordVinyl(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRecycle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRedoAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRedo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegistered(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRemoveFormat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReplyAll(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"\n }\n }]\n })(props);\n}\n;\nexport function FaReply(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRepublican(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRestroom(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRetweet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRibbon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRing(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRoad(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRobot(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRocket(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRoute(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRssSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRss(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRubleSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRulerCombined(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRulerHorizontal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRulerVertical(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRuler(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRunning(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 416 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRupeeSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSadCry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSadTear(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSatelliteDish(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSatellite(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSave(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSchool(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaScrewdriver(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaScroll(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSdCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSearchDollar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSearchLocation(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSearchMinus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSearchPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSearch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSeedling(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaServer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShapes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShareAltSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShareAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShareSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShekelSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShieldAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShieldVirus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShip(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShippingFast(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShoePrints(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShoppingBag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShoppingBasket(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShoppingCart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShower(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaShuttleVan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSignInAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSignLanguage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSignOutAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSignal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSignature(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSimCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSitemap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkating(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkiingNordic(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkiing(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkullCrossbones(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSkull(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSleigh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSlidersH(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSmileBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSmileWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSmile(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSmog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSmokingBan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSmoking(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSms(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnowboarding(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnowflake(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnowman(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSnowplow(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSoap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSocks(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSolarPanel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAlphaDownAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAlphaDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAlphaUpAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAlphaUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAmountDownAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAmountDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAmountUpAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortAmountUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortNumericDownAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortNumericDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortNumericUpAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortNumericUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSortUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSort(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpa(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpaceShuttle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpellCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpider(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSpinner(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSplotch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSprayCan(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSquareFull(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 512H0V0h512v512z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSquareRootAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStamp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStarAndCrescent(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStarHalfAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 536 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStarHalf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStarOfDavid(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 464 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStarOfLife(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStepBackward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStepForward(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStethoscope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStickyNote(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStopCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStop(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStopwatch20(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStopwatch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStoreAltSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStoreAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStoreSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStore(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 616 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStream(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStreetView(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStrikethrough(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaStroopwafel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSubscript(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSubway(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSuitcaseRolling(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSuitcase(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSun(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSuperscript(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSurprise(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSwatchbook(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSwimmer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSwimmingPool(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSynagogue(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSyncAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSync(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"\n }\n }]\n })(props);\n}\n;\nexport function FaSyringe(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTableTennis(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTable(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTabletAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTablet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTablets(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTachometerAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTags(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTape(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTasks(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTaxi(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTeethOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTeeth(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTemperatureHigh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTemperatureLow(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTenge(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTerminal(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTextHeight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTextWidth(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThLarge(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThList(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTheaterMasks(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThermometerEmpty(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThermometerFull(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThermometerHalf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThermometerQuarter(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThermometerThreeQuarters(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThermometer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThumbsDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThumbsUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"\n }\n }]\n })(props);\n}\n;\nexport function FaThumbtack(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTicketAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTimesCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTimes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 352 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTintSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 352 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTired(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToggleOff(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToggleOn(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToiletPaperSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToiletPaper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToilet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToolbox(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTools(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTooth(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTorah(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaToriiGate(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTractor(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrademark(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrafficLight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrailer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrain(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTram(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTransgenderAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTransgender(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrashAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrashRestoreAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrashRestore(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTree(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTrophy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTruckLoading(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTruckMonster(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTruckMoving(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTruckPickup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTruck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTshirt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTty(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaTv(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUmbrellaBeach(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUmbrella(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUnderline(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUndoAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUndo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUniversalAccess(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUniversity(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUnlink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUnlockAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUnlock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUpload(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserAltSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserAstronaut(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserClock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserCog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserEdit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserFriends(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserGraduate(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserInjured(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserLock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserMd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserMinus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserNinja(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserNurse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserSecret(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserShield(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserTag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserTie(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUserTimes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUsersCog(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUsersSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUsers(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUtensilSpoon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaUtensils(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 416 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVectorSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVenusDouble(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVenusMars(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVenus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVestPatches(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVest(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVial(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 480 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVials(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVideoSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVideo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVihara(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVirusSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVirus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaViruses(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVoicemail(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVolleyballBall(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVolumeDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVolumeMute(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVolumeOff(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 256 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVolumeUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVoteYea(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaVrCardboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWalking(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWallet(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWarehouse(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWater(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWaveSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWeightHanging(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWeight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWheelchair(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWifi(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWind(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWindowClose(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWindowMaximize(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWindowMinimize(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWindowRestore(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWineBottle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWineGlassAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWineGlass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 288 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWonSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaWrench(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaXRay(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYenSign(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaYinYang(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegAddressBook(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegAddressCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegAngry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegArrowAltCircleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegArrowAltCircleLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegArrowAltCircleRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegArrowAltCircleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegBellSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegBell(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegBookmark(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegBuilding(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCalendarAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCalendarCheck(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCalendarMinus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCalendarPlus(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCalendarTimes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCalendar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCaretSquareDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCaretSquareLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCaretSquareRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCaretSquareUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegChartBar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCheckCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCheckSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegClipboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegClock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegClone(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegClosedCaptioning(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCommentAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCommentDots(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegComment(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegComments(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCompass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCopy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCopyright(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegCreditCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegDizzy(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegDotCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegEdit(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegEnvelopeOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegEnvelope(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegEyeSlash(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegEye(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileArchive(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileAudio(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileCode(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileExcel(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileImage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFilePdf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFilePowerpoint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileVideo(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFileWord(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFile(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFlag(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFlushed(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFolderOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFolder(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFontAwesomeLogoFull(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 3992 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFrownOpen(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFrown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegFutbol(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGem(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrimace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinBeamSweat(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinHearts(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinSquintTears(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinSquint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinStars(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinTears(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinTongueSquint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinTongueWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinTongue(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrinWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegGrin(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandLizard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPaper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPeace(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPointDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPointLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPointRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPointUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandPointer(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandRock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandScissors(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandSpock(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHandshake(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHdd(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHeart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHospital(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegHourglass(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegIdBadge(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegIdCard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegImage(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegImages(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegKeyboard(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegKissBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegKissWinkHeart(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 504 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegKiss(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLaughBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLaughSquint(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLaughWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLaugh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLemon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLifeRing(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegLightbulb(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 352 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegListAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMehBlank(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMehRollingEyes(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMeh(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMinusSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMoneyBillAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegMoon(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegNewspaper(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegObjectGroup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegObjectUngroup(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegPaperPlane(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegPauseCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegPlayCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegPlusSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegQuestionCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegRegistered(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSadCry(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSadTear(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSave(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegShareSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSmileBeam(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSmileWink(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSmile(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSnowflake(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSquare(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegStarHalf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegStar(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 576 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegStickyNote(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegStopCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSun(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegSurprise(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegThumbsDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegThumbsUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegTimesCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegTired(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegTrashAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegUserCircle(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 496 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegUser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegWindowClose(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegWindowMaximize(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegWindowMinimize(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"\n }\n }]\n })(props);\n}\n;\nexport function FaRegWindowRestore(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"\n }\n }]\n })(props);\n}\n;"],"names":["FaGithub","props","FaLinkedin","FaTwitter","FaEnvelope"],"sourceRoot":""}
\ No newline at end of file
diff --git a/2017/04/21/gitlab-perodic-build/index.html b/2017/04/21/gitlab-perodic-build/index.html
new file mode 100644
index 00000000..acac98f3
--- /dev/null
+++ b/2017/04/21/gitlab-perodic-build/index.html
@@ -0,0 +1,197 @@
+
Periodic builds in GitLab | 040code This site runs best with JavaScript enabled. Periodic builds in GitLab Trigger builds based on a crontab by: niek on 2017-04-21 I am using GitLab CI now for more than a year and I really love the features in GitLab. GitLab provides a complete and powerful tool for day to day development. And of course, there are always feature that you miss. Until now there is no support for periodic builds, in the coming release the feature will be shipped as experimental feature and in the next one is should be general available. But in case you must deal for some reason with an older version, a work around is described below as I used last year.
+
You could argue why you should need a feature as a periodic build. Ideally a build should be immutable and only trigger by a change in GIT, a commit. But the world is not always perfect, project build are sometime not of the quality that you are expect or tools are not that reliable as you hope. For example, dependencies resolving could break over the time, to avoid you find the problem once your boss is watching you when fixing a critical bug, a periodic build can alert you earlier. Another and much better reason to argue for the feature is that the GitLab build are so powerful that is handy to use them for a scenario based health check.
+
The build trigger
+
To setup a periodic build you first need to be able to trigger a build in some way. GitLab provides an API to trigger a build. Setting up the trigger is simple and complete guided in GitLab, just execute the steps below:
+
+Go to your GitLab projects
+Navigate to Settings -> CI/CD Pipelines
+Scroll down to the trigger section and create a trigger
+Make a note of the TOKEN and trigger URL. An curl example for trigger is shown as well.
+
+
+
+
+
+
+
+
+
+
+
+
Next we test that we are able to trigger the build remotely be executing the curl
command below.
+
curl -X POST \
+ -F token=<TOKEN> \
+ -F ref=<REF_NAME> \
+ <URL>
+
Verify in GitLab the build is triggered
+
Periodic trigger the build in a Docker container
+
The next step is to execute the trigger periodic. A standard way of running a job periodic is by defining crontab. We will use a docker container to execute the crontab so we can deploy it anywhere.
+
I have createe a base docker image containing a script to trigger GitLab by executing a curl command as shown above. The crontab will be copied to the image ONBUILD
. In the crontab we point to the script that can be executed as follow:
+
trigger-gitlab.sh -t <token> -r <ref> -u <gitlab_trigger_url>
+
For the sources see npalm/gitlab-periodic-trigger on GitHub.
+
Now all peace’s are ready we only have to build our docker image and run it to trigger the build. First, we create a Dockerfile and only extend the base image npalm/gitlab-periodic-trigger
. Create a new directory, and add a Dockerfile with only the line:
+
FROM npalm/gitlab-periodic-trigger:1.0.0
+
This image expects a file gitlabcrontab
containing the crontab and will copy it to the image once build. Create a file named gitlabcrontab
, and add one ore more triggers, an example is below.
+
# Example of job definition:
+# .---------------- minute (0 - 59)
+# | .------------- hour (0 - 23)
+# | | .---------- day of month (1 - 31)
+# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
+# | | | | .---- day of week (0 - 6) (Sunday=0 or 7)
+# | | | | |
+22 11 * * * trigger-gitlab.sh -t <token> -r <ref> -u <gitlab_trigger_url>
+
Now we build the container docker build -t periodic-trigger .
and finally start the container docker run -d periodic-trigger
+
To enable the feature for your teams you could set up a build to build the docker image as described below and push it automated to an environment.
\ No newline at end of file
diff --git a/2017/05/07/docker-multi-stage-builds/index.html b/2017/05/07/docker-multi-stage-builds/index.html
new file mode 100644
index 00000000..6cf8493e
--- /dev/null
+++ b/2017/05/07/docker-multi-stage-builds/index.html
@@ -0,0 +1,214 @@
+Docker Multi Stage Builds | 040code This site runs best with JavaScript enabled. Docker Multi Stage Builds Building and shipping in one Docker build by: niek on 2017-05-07 The problem
+
Building an application requires typically multiple steps. First compiling the application, next testing it and finally shipping the artifact in a Docker image for execution. All these steps can be combined in one Dockerfile
, but typically you end up with a Docker image that contains all kinds of tools that are not necessary for running the application.
+
We could try to get rid of all unneeded files in the image after build, but a more useful approach is to separate Docker images for building and running the application. However, this approach requires two separate Dockerfiles that needs to be maintained.
+
Let’s have a look on a example for a simple Java micro service. The micro services require the JDK and Gradle to build. The JDK needs to be installed before the build and Gradle will be download by the build itself. We can build the micro service in the following way.
+
git clone https://github.com/040code/blog_docker-mulit-stage-build.git
+cd notes-service
+docker run -it --rm -v $(pwd):/build -w /build openjdk:8u121-jdk-alpine ./gradlew build
+
Now the artifact is available, we can create a Docker runtime image. The application only needs the Java Runtime (JRE) to run. We create a Dockerfile
based JRE alpine image and add our application.
+
# file: Dockerfile (git checkout step-00)
+FROM openjdk:8u121-jre-alpine
+COPY build/libs/notes-service.jar /app/notes-service.jar
+
+EXPOSE 8080
+CMD java -jar /app/notes-service.jar
+
Next, we build the production image as follows:
+
docker build -t notes-service:00 .
+
Now we have created a clean Docker images that only containes the needed libraries to run the application. But would it not be nice if we can do this more straightforward? For example, in one Docker build.
+
Moving on to a multi stage build
+
Docker 17.05.x brings a new feature; it is now possible to define a multi stage builds in one Dockerfile. The Dockerfile can contain multiple FROM lines and each stage starts with a new FROM line and a fresh context. You can copy artifacts from stage to stage.
+
+
+
+
+
+
+
+
+
+
+
Now it is time to have a second look on the same example. Instead of passing the build arguments and mounting our sources, we will build our software using a single Dockerfile.
+
# file: Dockerfile (git checkout step-01)
+FROM openjdk:8u121-jdk-alpine AS build
+
+WORKDIR /build-env
+ADD . /build-env
+RUN ./gradlew build
+
+CMD java -jar /build-env/build/notes-service.jar
+
And build it:
+
docker build -t notes-service:01 .
+
Nothing new here, we are now able to build our software in a container and ship an image, but the image contains all kinds of build stuff that we do not want in a runtime image. So, the next step is to solve this problem by getting rid of all the unwanted build tools.
+
We update the Dockerfile
and make a few modifications.
+
# file: Dockerfile (git checkout step-02)
+FROM openjdk:8u121-jdk-alpine AS build # (1)
+
+WORKDIR /build-env
+ADD . /build-env
+RUN ./gradlew build
+
+FROM openjdk:8u121-jre-alpine # (2)
+COPY --from=build /build-env/build/libs/notes-service.jar /app/notes-service.jar # (3)
+
+EXPOSE 8080
+CMD java -jar /app/notes-service.jar
+
In the Dockerfile
above we marked the first stage (1) as build to refer later, if not specifying a name you can refer to the stage as 0. Next (2), we add the second stage which specifies the base image that we need to run our application. Finally (3), we copy the results from the build stage to the image for executing.
+
docker build -t notes-service:02 .
+
And now we can run via the following docker run command.
+
docker run -it --rm -p 8080 notes-service:2
+
Inspection of the tree images build will show that version 0 and 2 are equal in size, version 1 that contains all the build files and the JDK is almost three times bigger.
+
Conclusion
+
Docker’s new multi layer build feature can be quite useful when build pipeline without parallel builds will suite your needs. In that case, you can reduce your build to a single image. For projects that requires a more complex multi stage build, including parallel builds, this new Docker feature will not provide an added value.
\ No newline at end of file
diff --git a/2017/05/20/graphql/index.html b/2017/05/20/graphql/index.html
new file mode 100644
index 00000000..d95712e9
--- /dev/null
+++ b/2017/05/20/graphql/index.html
@@ -0,0 +1,195 @@
+GraphQL | 040code This site runs best with JavaScript enabled. GraphQL Nextbuild talk - The Next API Language by: niek on 2017-05-20 A short post to share the slides and examples I used in my talk at the Nextbuild conference on May the 20th in Eindhoven.
+
Slides
+
Below the slides that I for the talk, the slides are available as well on GitHub . You can easy navigate through the slides with the spacebar.
+
+
+
+
To get started with GraphQL the best starting points are:
+
+
Examples
+
During the talk, I demonstrated GraphQL via graphcool , which is cloud service for creating a flexible GraphGL backend. I modelled a basic model of a Talk and Person with relation speakers and visitors on graphcool. Furthermore, I modelled two basic sample implementations of a GraphQL backend in Java and JavaScript that are available via GitHub. Those implementation are more limited than the online one, but both serve the following minimal queries.
+
Query for the name and the title of the talks given by all persons:
+
{
+ persons {
+ name
+ talks {
+ title
+ }
+ }
+}
+
And secondly, a query for all titles of talks with their speaker’s names.
+
{
+ talks {
+ title
+ speakers {
+ name
+ }
+ }
+}
+
JavaScript sample
+
The JavaScript sample is based on Apollo GraphQL tutorial kit .
+
git clone https://github.com/npalm/graphql-js-demo.git
+cd graphql-js-demo
+yarn && yarn start
+
Instead of yarn, you can use npm install && npm start
. Once started, browse to http://localhost:8080/graphiql and play around with the GraphQL web interface. Implementing the JavaScript version was straightforward due to the many examples and good tutorials around.
+
Spring Boot Java sample
+
The Spring Boot Java sample is based on the Spring Boot Starter available for GraphQL. This starter uses a basic GraphQL java library as well the Java annotation library for GraphQL.
+
git clone https://github.com/npalm/graphql-java-demo.git
+git checkout nextbuild
+cd graphql-java-demo
+docker build -t graphql-java-demo && docker run -it --rm -p 8080:8080 graphql-java-demo
+
Alternatively, you can build and run via gradle. Once started, browse to http://localhost:8080/ to play around with the GraphQL web interface. The Java version implementation was not as easy as expected. The GraphQL Spring Boot starter dependencies requires the GrahpQL java annotation library, which seems to be broken after an update in the Java GraphQL base library. I am not sure if the annotation library is still supported. To get the GraphQL Spring Boot library working I have to add a mandatory mutation to the scheme. And downgrade the Java GraphQL, see gradle/depedencies.gradle
to get the annotation library to work.
+
Many languages already have support, so feel free to try out your favourite language. Currently the support on JavaScript looks like by far the best.
+
Updates
+
Refactored Java implementation (June 20, 2017)
+
I have updated the Spring Boot implmentation, upgrade all libraries and removed the annotations for graphql resolving. The annoation are replaced java-graphql-tools . Which looks a better way to ingrate graphql in a Java service. You will see the implementation will have a lot of similarities with the javascript one.
+
Developers.nl meetup Rotterdam (June 28, 2017)
+
On June, the 28th I have presented the GraphQL talk at the developers.nl Meetup in Rotterdom. I have used a slightly minimal version for the slides, which can be found here . Comparing the to the presentaton on the nextbuild I have also walked through the code examples mentioned above.
\ No newline at end of file
diff --git a/2017/06/18/coding-a-vpc-in-terraform/index.html b/2017/06/18/coding-a-vpc-in-terraform/index.html
new file mode 100644
index 00000000..a028276c
--- /dev/null
+++ b/2017/06/18/coding-a-vpc-in-terraform/index.html
@@ -0,0 +1,319 @@
+Coding a VPC in Terraform | 040code This site runs best with JavaScript enabled. Coding a VPC in Terraform A terraform module for a VPC with Private Subnets by: niek on 2017-06-18 One of the common uses network setups in AWS is called Scenario 2: VPC with Public and Private Subnets . This is a that defines a Virtual Private Cloud (VPC), public subnets and private subnets. Setting up this infrastructure can be done via the AWS console or via cloud formation scripting. However, I prefer the tool Terraform in which you can manage your infrastructure as code with a declarative language that supports building, changing and versioning your cloud in a modular way.
+
In this article I will describe how you can create a VPC with a public and private subnet on AWS using terraform. I will describe the setup step by step and I will show how to encapsulate all logic to one re-usable module.
+
+Why we need subnets. When you create a VPC, it spans all the Availability Zones in the region. After creating a VPC, you can add one or more subnets in each Availability Zone. When you create a subnet, you specify the CIDR block for the subnet, which is a subset of the VPC CIDR block. Each subnet must reside entirely within one Availability Zone and cannot span zones. Availability Zones are distinct locations that are engineered to be isolated from failures in other Availability Zones. By launching instances in separate Availability Zones, you can protect your applications from the failure of a single location.
+
+
Before you can start, you need an AWS account with sufficient rights (admin), and you should create a AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
to be able to access your account programmatically.
+
Setting up your system.
+
The easiest way to use terraform is via docker. In that case you do not need any locally isntalled tools. We simply create a file called .aws
where we put the AWS key and secret to athentication API calls, as shown below:
+
AWS_ACCESS_KEY_ID=<KEY>
+AWS_SECRET_ACCESS_KEY=<SECRET>
+
Creating a VPC part 1
+
All code for part 1 is available on github
+
By default, terraform expects the configuration in a file called main.tf
. Create the file and add the terraform provide for Amazon:
+
# main.tf
+provider "aws" {
+ region = "eu-west-1"
+}
+
We are now ready to, step-by-step, add the terraform resources to create the VPC setup. First, have a look on the VPC setup as shown in the picture below.
+
+
+
+
+
+
+
+
+
+
+
We will start by creating the VPC itself: add the following snippet to your main.tf
+
resource "aws_vpc" "vpc" {
+ cidr_block = "10.0.0.0/16"
+ enable_dns_support = true
+ enable_dns_hostnames = true
+
+ tags {
+ label = "blog"
+ }
+}
+
Before we make the change effective we run a terraform plan
to inspect the planned changes. You can install terraform locally or run the commands in a docker container. The docker command will export the AWS credentials to the container, mount the current directory to /data
in the container, and set /data
as working directory to ensure the container will execute the terraform plan
command on the directory that contains the terraform files.
+
docker run -it --env-file ./.aws -v $(pwd):/data -w /data \
+ hashicorp/terraform:0.9.8 plan
+
After executing the plan command, you should see output similar to:
+
+ aws_vpc.vpc
+ assign_generated_ipv6_cidr_block: "false"
+ cidr_block: "10.0.0.0/16"
+ default_network_acl_id: "<computed>"
+ default_route_table_id: "<computed>"
+ default_security_group_id: "<computed>"
+ dhcp_options_id: "<computed>"
+ enable_classiclink: "<computed>"
+ enable_dns_hostnames: "true"
+ enable_dns_support: "true"
+ instance_tenancy: "<computed>"
+ ipv6_association_id: "<computed>"
+ ipv6_cidr_block: "<computed>"
+ main_route_table_id: "<computed>"
+ tags.%: "1"
+ tags.label: "blog"
+
+
+Plan: 1 to add, 0 to change, 0 to destroy.
+
This looks correct, so we can apply the change to create the VPC by running terraform apply
.
+
docker run -it --env-file ./.aws -v $(pwd):/data -w /data \
+ hashicorp/terraform:0.9.8 apply
+
You can go VPC via the AWS console, where you should now see a VPC in the list named blog
. Now we have the VPC, we create a public and private subnet by adding the following to the main.tf.
+
resource "aws_subnet" "public_subnet_a" {
+ vpc_id = "${aws_vpc.vpc.id}"
+ cidr_block = "10.0.0.0/24"
+ availability_zone = "eu-west-1a"
+ map_public_ip_on_launch = false
+
+ tags {
+ Name = "blog"
+ }
+}
+
+resource "aws_subnet" "private_subnet_a" {
+ vpc_id = "${aws_vpc.vpc.id}"
+ cidr_block = "10.0.1.0/24"
+ availability_zone = "eu-west-1a"
+
+ tags {
+ Name = "blog"
+ }
+}
+
Run now terraform plan
again, it will show that the resources will be added, one for each subnet. Apply the change using terraform apply
and inspect your changes again via the VPC section in the AWS console.
+
Next, we connect the public subnet via an internet gateway . Create a routing table and an internet gateway. And a aws_route_table_association to create an association between a subnet and routing table. Update your main.tf
with the snippet below, and run a plan and apply.
+
resource "aws_internet_gateway" "internet_gateway" {
+ vpc_id = "${aws_vpc.vpc.id}"
+}
+
+resource "aws_route_table" "public_routetable" {
+ vpc_id = "${aws_vpc.vpc.id}"
+
+ route {
+ cidr_block = "0.0.0.0/0"
+ gateway_id = "${aws_internet_gateway.internet_gateway.id}"
+ }
+
+ tags {
+ label = "blog"
+ }
+}
+
+resource "aws_route_table_association" "public_subnet_a" {
+ subnet_id = "${aws_subnet.public_subnet_a.id}"
+ route_table_id = "${aws_route_table.public_routetable.id}"
+}
+
+
We are now able to deploy an application to the public subnet and make it accessible via a security group. However, it is not yet possible to route traffic to the private subnet or let instances on the private subnet connect to internet. To do so, we add a NAT gateway and connect the gateway via a route table to the private subnet. The NAT gateway requires an elastic IP, which we will create first. Add the next terraform snippet to your main.tf
and run a plan
and apply
to inspect and make the changes effective.
+
resource "aws_eip" "nat" {
+ vpc = true
+}
+
+resource "aws_nat_gateway" "nat" {
+ allocation_id = "${aws_eip.nat.id}"
+ subnet_id = "${aws_subnet.public_subnet_a.id}"
+}
+
+resource "aws_route_table" "private_routetable" {
+ vpc_id = "${aws_vpc.vpc.id}"
+
+ route {
+ cidr_block = "0.0.0.0/0"
+ nat_gateway_id = "${aws_nat_gateway.nat.id}"
+ }
+
+ tags {
+ label = "blog"
+ }
+}
+
+resource "aws_route_table_association" "private_subnet_a" {
+ subnet_id = "${aws_subnet.private_subnet_a.id}"
+ route_table_id = "${aws_route_table.private_routetable.id}"
+}
+
Setting up the VPC with subnets is quite verbose, and imagine then when you must support more availability zones, the code will almost double per zone. So we refactor it to a generic module to support the multiple subnets that are available in a zone.
+
Creating a VPC part 2
+
I have rewritten the code showed above to a generic module. With this model, it is easy to create a VPC with all availability zones per zone, and private subnets can be enabled on demand.
+
+Modules in terraform are self-contained packages of gerraform configurations that are managed as a group. Modules are used to create reusable components, improve organization, and to treat pieces of infrastructure as a black box.
+
+
I will not describe all code in the module again but only will pay attention to the significant changes I made. In the code above the zone, availability zone where hard coded. This will not work in a generic module. A common way to solve this in terraform is by creating a map where a zone is mapped to a list of availability zondes. By passing the zone to the moudle, the module can find out which availability zones there are. A default map is available in the module but can be ovewritten as follow:
+
availability_zones = {
+ eu-west-1 = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
+}
+
The cdir block in the code show above was hard coded, but terraform contains a function to calculate the cdir block. In the module I use the terraform function cidrsubnet()
to calculate the cdir block.
+
Now only one problem needs to be solved in order to create a generic module: how can we create a AWS resource for each element in a list? Do we create subnet or route table association for each availability zone? Or how can we avoid creating a private subnet at all? The solution is to use the count
variable in a module to iterate over the list of availability zones, which is available on my github . We can now create a VPC similar to the one above with just a few line of code. Add the following lines to your terraform script to create a VPC.
+
module "vpc" {
+ source = "git::https://github.com/npalm/tf-aws-vpc.git"
+
+ key = "blog"
+ aws_region = "eu-west-1"
+}
+
It is possible to overwrite module variables with default to get more control, see the ezample below:
+
module "vpc" {
+ source = "git::https://github.com/npalm/tf-aws-vpc.git"
+
+ key = "blog"
+ aws_region = "eu-west-1"
+
+ create_private_hosted_zone = "false"
+ create_private_subnets = "false"
+ cidr_block = "10.0.0.0/16"
+
+ // example to override default availability_zones
+ availability_zones = {
+ eu-west-1 = ["eu-west-1a", "eu-west-1c"]
+ }
+}
\ No newline at end of file
diff --git a/2017/07/01/visualising-bezier-curves/index.html b/2017/07/01/visualising-bezier-curves/index.html
new file mode 100644
index 00000000..0d3753df
--- /dev/null
+++ b/2017/07/01/visualising-bezier-curves/index.html
@@ -0,0 +1,344 @@
+Visualising Bézier Curves | 040code This site runs best with JavaScript enabled. Visualising Bézier Curves Experimenting with Clojure by: maarten on 2017-07-01 For reasons I might explain in another post, I was reading about Bézier curves on wikipedia the other day. Especially the paragraph on “Constructing Bézier curves” made me understand intuitively how these curves are constructed. I wondered if clojure
could help me easily visualise some of these curves so I fired up a REPL (Read-Eval-Print-Loop) to investigate.
+
Setup
+
I assume you have a working leiningen setup with the lein-try plugin installed.
+
+Leiningen will help you get started with clojure
right away from your shell
+Lein-try enables you to spin up a repl and try a library without any hassle.
+
+
Let’s first start a repl, and specify the library we want to try:
+
lein try incanter "1.5.7"
+
Incanter is a clojure
-based, R-like platform for statistical computing and graphics. We’ll use it to visualise the Bézier curves.
+
Since the repl is already fired up, let’s immediately require the dependencies we’ll need:
+
( require '[ incanter.core :as incanter] )
+( require '[ incanter.charts :as charts] )
+
Nothing fancy going on here. Simply ‘import’ statements the clojure
way.
+
Helper function
+
I decided to hand-roll my own pow
function, because we’ll need it later in the creation of bézier curves:
+
( defn pow [ base exponent]
+ ( reduce *' ( repeat exponent base) ) )
+
This function basically says:
+
+define a function named pow
+let base
and exponent
be its arguments
+make it repeat
the base
exponent
times
+and reduce
that result with the *'
multiply function
+
+
+( pow 2 3 )
+
+( reduce *' [ 2 2 2 ] )
+
+8
+
I’m using the *'
multiply function instead of the normal *
multiply function, because according to the docs *'
supports arbitrary precision. You can see for yourself by typing (doc *')
in your repl, or study the code by typing (source *')
in your repl.
+
Bézier
+
Bézier functions work with control points. The minimum number of control points is 2 and Bézier curves with 2 control points are straight lines (although you can also create straight lines with more than 2 control points).
+
For the moment I only need Bézier curves with 3 control points: a start point, an end point and one point controlling the curve of the line between start and end.
+
Quoting the Wikipedia page : “A quadratic Bézier curve is the path traced by the function B(t), given points P0, P1, and P2”:
+
+
+
+
+
+
+
+
+
+
+
So given 3 points (P0, P1 and P2) I should be able to describe the curve with this math function. Conceptually a pen is drawing the curve by starting on P0 on moment t = 0
and following the curve described by this formula and the position of the 3 points until it hits the end point at t = 1
. The only thing this resulting B(t)
function needs is the moment t
and it will calculate the X or Y coördinate at that particular moment.
+
Let’s convert the math function to clojure
:
+
( defn bezier-3 [ P0 P1 P2]
+ ( fn [ t]
+ ( +
+ ( * ( pow ( - 1 t) 2 ) P0)
+ ( * 2 ( - 1 t) t P1)
+ ( * ( pow t 2 ) P2) ) ) )
+
As you can see, you’ll have to translate the infix notation to clojure
’s prefix notation. The advantage is there are no precedence rules to remember anymore. These are all just lists where the first element of the list is interpreted as a function to call and the brackets are used to put them into context. (If you can’t live with that: you can also use infix notation in clojure. For instance incanter can also be fed with infix notation . However, you’ll lose the power of the 𝝺 )
+
This function basically states:
+
+define a function named bezier-3
+let it have 3 arguments: P0
, P1
and P2
+make it return an anonymous function
+
+
This anonymous function:
+
+takes t
as an argument
+has P0
, P1
and P2
already ‘injected’
+applies the Bézier math function
+
+
Excellent. Let’s try it:
+
( def test-b3 ( bezier- 3 1 1 0 ) )
+
+( test-b3 0 )
+=> 1
+
Here I’m defining a variable test-b3
which holds the anonymous function returned by the bezier-3
function call. The 3 points are either all x or all y coordinates of the points P0, P1 and P2.
+
With the (test-b3 0)
function call I’m calling the anonymous function with a t
value of 0
. This nicely returns an answer representing the x coordinates at moment t
if you provided the (P0, P1 and P2) x coordinates when calling the bezier-3
function or the y coordinate at moment t
if you provided the (P0, P1 and P2) y coordinates.
+
Since this test didn’t blow the stack or throw a NullPointerException or anything, let’s map this function over a range of t
’s [0 0.25 0.5 0.75 1]
:
+
( map test-b3 [ 0 0.25 0.5 0.75 1 ] )
+=> ( 1 0.9375 0.75 0.4375 0 )
+
Instead of typing these t
’s to map
over, we could also use the range
function:
+
( range 0 10 )
+=> ( 0 1 2 3 4 5 6 7 8 9 )
+
+( range 0 10 2 )
+=> ( 0 2 4 6 8 )
+
As you can see, range
allows you to specify a start (inclusive), an end (exclusive) and a step size (optional).
+
( map test-b3 ( range 0 1 0.1 ) )
+=> ( 1 0.9900000000000001 0.9600000000000002 0.9099999999999999 0.84 0.75 0.64 0.51 0.3600000000000001 0.19000000000000014 2.220446049250313E-16 )
+
Although a certain pattern is already visible in these numbers, now might be the right time to start visualising the curves.
+
Visualise
+
Let’s be brave and go right to the essence:
+
( defn view-bezier-plot [ [ x1 y1] [ x2 y2] [ x3 y3] plot-title]
+ ( let [ b3x ( bezier- 3 x1 x2 x3)
+ xs ( map b3x ( range 0 1.0 0.01 ) )
+ b3y ( bezier- 3 y1 y2 y3)
+ ys ( map b3y ( range 0 1.0 0.01 ) )
+ dataset ( incanter/conj-cols xs ys)
+ xy-plot ( charts/xy-plot "col-0" "col-1" :data dataset :points true :title plot-title) ]
+ ( incanter/view xy-plot) ) )
+
The let
form is clojure
’s way of defining local variables. So b3x
, xs
, b3y
, etc. can be seen as local variables with their values specified in the functions directly after their declaration.
+
This function basically states:
+
+define a function named view-bezier-plot
+let it have 3 arguments which are destructured into their 2D x & y coordinates
+let the fourth argument be the title of the plot
+let
it have some local variables:
+
+b3x
takes all x coordinates of the 3 points
+b3y
takes the y coordinates
+xs
are the all x values resulting from applying the b3x
anonymous function with all the range values
+ys
are the all y values resulting from applying the b3y
anonymous function with all the range values
+incanter can work with columns similarly to spreadsheets. dataset
is an incanter dataset where 2 columns are ‘brought together’, or in lisp terms conj
[oined]. By default, these columns are called col-0
, col-1
, … , col-n
+xy-plot contains an incanter chart where dataset
provides the data, the x-axis - and y-axis values are found in columns col-0
and col-1
respectively and viewing the points is set to true
+
+
+and make it return an xy-plot
+
+
I love it when a plan comes together
+
+( view-bezier-plot [ 0 0 ] [ 1 0 ] [ 1 1 ] "increasing ascending" )
+
+( view-bezier-plot [ 0 0 ] [ 0 -1 ] [ 1 1 ] "swoosh" )
+
+( view-bezier-plot [ -2 4 ] [ 0 -4 ] [ 2 4 ] "y = x^2 ?" )
+
+( view-bezier-plot [ -1 0 ] [ 0 0 ] [ 1 0 ] "my pulse after a useless meeting" )
+
+
+
+
+
+
+
+
+
+
+
+
The generated charts will be opened in external java windows. Sometimes they stay hidden behind other windows on your screen, so you might have to bring your java windows to the foreground in order to see them.
+
Conclusion
+
In a relatively short repl session I was able to get a better understanding of (3 point) Bézier curves. Although the blogpost is long, not much code or time was needed to create the curves:
+
( require '[ incanter.core :as incanter] )
+( require '[ incanter.charts :as charts] )
+
+
+( defn pow [ base exponent]
+ ( reduce *' ( repeat exponent base) ) )
+
+
+( defn bezier-3 [ P0 P1 P2]
+ ( fn [ t]
+ ( +
+ ( * ( pow ( - 1 t) 2 ) P0)
+ ( * 2 ( - 1 t) t P1)
+ ( * ( pow t 2 ) P2) ) ) )
+
+
+( defn view-bezier-plot [ [ x1 y1] [ x2 y2] [ x3 y3] plot-title]
+ ( let [ b3x ( bezier- 3 x1 x2 x3)
+ xs ( map b3x ( range 0 1.0 0.01 ) )
+ b3y ( bezier- 3 y1 y2 y3)
+ ys ( map b3y ( range 0 1.0 0.01 ) )
+ dataset ( incanter/conj-cols xs ys)
+ xy-plot ( charts/xy-plot "col-0" "col-1" :data dataset :points true :title plot-title) ]
+ ( incanter/view xy-plot) ) )
+
Actually, the hand-rolled pow
function isn’t really needed. I could have used clojure
’s java interop: (Math/pow 2 3)
. In that case I would have been calling the pow
method directly on java’s Math
class. I weighted the option of hand-rolling the pow
function, showing some functional code and explaining how functions are defined in clojure
versus explaining java interop.
+
Explaining in text what the code does took me 5 times as long as writing the code itself. That’s a great thing about lisps in general and clojure
in particular: no fluff, just stuff!
+
Thanks Niek for posting my guest blog. Please share your comments, suggestions and thoughts about this blog with me on twitter.com/mmz_ . Thanks for reading and Happy Coding!
+
Links
+
\ No newline at end of file
diff --git a/2017/07/12/visualizing-bezier-curves-part-2/index.html b/2017/07/12/visualizing-bezier-curves-part-2/index.html
new file mode 100644
index 00000000..7c39c74a
--- /dev/null
+++ b/2017/07/12/visualizing-bezier-curves-part-2/index.html
@@ -0,0 +1,312 @@
+Visualising Bézier Curves Part II | 040code This site runs best with JavaScript enabled. Visualising Bézier Curves Part II Experimenting with ClojureScript by: maarten on 2017-07-12 In my previous post I described how to visualise simple Bézier curves. I chose Clojure
as implementation language. Unfortunately I had to ask you to jump through a couple of hoops in order to code along: installing leiningen, installing and configuring the lein-try plugin and maybe even installing the JVM.
+
This post will be easier for you - at least in terms of setup. You won’t have to leave your browser and can experiment with Clojure(Script)
right here on this page!
+
NO Setup
+
In this post we’re going to use the very useful klipse plugin . Klipse is a client-side code evaluator pluggable on any web page. It can evaluate Clojure
, ClojureScript
, ruby, javascript, python, scheme, es2017, jsx, brainfuck, c++, reagent and probably much more languages in the near future. It’s like jsfiddle on steroids, right here in the 040code blog.
+
Let’s start with a very simple Klipse demonstration. I’m going to map
the inc
(rement) function over the numbers 1, 2 and 3. The result will not surprise you:
+
(map inc [1 2 3])
+
What might surprise you though, is that you can change the code in the klipse evaluator and see the results immediately in your browser. So for instance change (map inc [1 2 3])
into (map inc [41 999 2])
and be amazed. Or change it into something completely different like (filter even? (range 10))
.
+
Defining functions and calling them? No problem:
+
+
+(defn factorial [n]
+ (if (= 1 n)
+ n
+ (* n (factorial (- n 1)))))
+
+(factorial 4)
+
+
+
Now call the factorial function with some other natural number (whole number > 0) and see the results.
+
For those of you who don’t know Clojure(Script)
, this function basically says:
+
+define a function named factorial
+let n
be its argument
+if n
equals 1, return n
+otherwise return the multiplication of n
with the factorial
of (n - 1)
+
+
Lisp in the browser. Embedded in this blog. No setup required. Excellent!
+
But hang on, better things will follow soon.
+
Clojure is designed to be a hosted language
+
Why reinvent your own platform, your own runtime, your own garbage collector, your own ecosystem, when all you need is a decent language? Clojure
is designed to be a hosted language. It runs on:
+
+
Clojurescript
- a compiler for Clojure
that emits javascript - will be the tool we use in this blog to visualise Bézier curves. We are going to manipulate a html canvas right from a klipse plugin.
+
Bézier in ClojureScript
+
In my previous post I tried to explain how (simple) Bézier curves ‘work’. You might want to go there or scan the Wikipedia page on Bézier curves if you have no clue what I’m talking about. Otherwise, let’s dive right in and try to play with Bézier curves directly on this page.
+
+
+;; Get a grip on the html canvas element I inserted on this page
+(def canvas (.getElementById js/document "canvas-2d"))
+(def ctx (.getContext canvas "2d"))
+
+
+;; Draws a blue circle with radius `r` on the canvas on point [x y]
+(defn draw-point [x y]
+ (let [r 5] ;; radius
+ (set! (.-fillStyle ctx) "blue")
+ (.beginPath ctx)
+ (.arc ctx x y r 0 (* 2 Math/PI))
+ (.fill ctx)))
+
+
+;; Draws a red Bézier curve and its blue control points on the canvas
+(defn draw-bezier-curve [[x1 y1] [x2 y2] [x3 y3]]
+ ;; draw curve
+ (set! (.-strokeStyle ctx) "red")
+ (set! (.-lineWidth ctx) 2)
+ (.beginPath ctx)
+ (.moveTo ctx x1 y1)
+ (.quadraticCurveTo ctx x2 y2 x3 y3)
+ (.stroke ctx)
+ (.closePath ctx)
+ ;; draw control points
+ (draw-point x1 y1)
+ (draw-point x2 y2)
+ (draw-point x3 y3))
+
+
+;; Center the *drawing* canvas within the *html* canvas and draw the curves
+;;
+;; Reason for centering: keep the coordinates simple AND
+;; see the complete shapes (not cropped at the edge of the html canvas)
+;; make the ratio 1 to see what I mean with 'cropped at the edge'
+;;
+(let [wc (.-width canvas) ;; width of *html* canvas
+ hc (.-height canvas) ;; height of *html* canvas
+ ratio 0.9 ;; ratio of *html* canvas to use as *drawing* canvas
+ t (/ (- 1 ratio) 2) ;; translation constant
+ w (* ratio wc) ;; width of *drawing* canvas
+ h (* ratio hc) ;; height of *drawing* canvas
+ x (* 1/2 w) ;; x val in the middle of 0 and w
+ y (* 1/2 h)] ;; y val in the middle of 0 and h
+
+ ;; clear *html* canvas
+ (.clearRect ctx 0 0 wc hc)
+
+ ;; Center the *drawing* canvas in the *html* canvas
+ (.save ctx)
+ (.translate ctx (* t wc) (* t hc))
+
+ ;; Draw a grey border around the *drawing* canvas
+ (set! (.-lineWidth ctx) 1)
+ (set! (.-strokeStyle ctx) "grey")
+ (.strokeRect ctx 0 0 w h)
+
+ ;; Draw main 'anchor' points
+ ;; This is what I meant with 'simple coordinates':
+ ;; (draw-point 0 0)
+ ;; (draw-point x y)
+ ;; (draw-point w h)
+
+ ;; Increasing ascending curve
+ (draw-bezier-curve [0 h] [w h] [w 0])
+
+ ;; Swoosh
+ ;; (draw-bezier-curve [0 y] [0 h] [w 0])
+
+ ;; normal curve
+ ;; (draw-bezier-curve [0 h] [x 0] [w h])
+
+ ;; my pulse after a useless meeting
+ ;; (draw-bezier-curve [0 y] [x y] [w y])
+
+ (.restore ctx))
+
+
+
+
+
Before reading further you might want to experiment a bit by (un)commenting code and seeing the results. (Un)comment the different Bézier curves and different control points in the Klipse evaluator and see what happens.
+
Explanation
+
Scanning the code quickly without going into detail, this is what happens:
+
+Get a grip on the html canvas element
+Define functions to:
+
+Draw (control) points
+Draw Bézier curves with 3 control points
+
+
+Draw the actual curves and points
+
+
Since Clojure
is a hosted language, it must be able to access its host platform and libraries. Clojure
and ClojureScript
have good interop documentation so I won’t go into detail here, but we’re basically using these forms in this blog:
+
+js/document
=> the global document object
+(.beginPath ctx)
=> ctx.beginPath()
+Math/PI
=> 3.141592653589793
+(.-lineWidth ctx)
=> ctx.lineWidth
+
+
The last form is used for instance in (set! (.-lineWidth ctx) 1)
and translates to ctx.lineWidth = 1
. The more general syntax is (set! var-symbol expr)
.
+
The second form (.beginPath ctx)
can also have arguments. The general syntax is (.instanceMember instance args*)
in that case.
+
Other than that it’s basic Clojure
and HTML Canvas functionality
+
Conclusion
+
Thanks to the klipse plugin and a bit of preparation from my side, you can now play around with Bézier Curves in ClojureScript
directly in this blog. I do realise this post is probably not a compelling case for using ClojureScript
:
+
+Javascript “in the small” is not really the place where ClojureScript
shines, especially when the largest part of that small program is javascript interop
+ClojureScript
fits large browser applications better, where you need sane state management, immutable datastructures, lazy sequences, and a fast, stable and robust language
+
+
I’m not interested in ‘religious’ discussions about technology A versus technology B. Clojure
and ClojureScript
are THE sane way forward for me, in my context. I hope to share the fun I’m experiencing with it. Goethe said it best:
+
+It is always better to say right out what you think without trying to prove anything much: for all our proofs are only variations of our opinions, and the contrary-minded listen neither to one nor the other.
+
+
But with all this talk about language, we’re almost forgetting what it’s all about: building useful stuff and having a great time doing it.
+
I hope you enjoyed experimenting with Bézier curves. The Klipse Blog has several great examples of using Klipse for ‘interactive programming’, for instance to write data driven documents .
+
Thanks Niek for sharing the 040code repo with me. Please share your comments, suggestions and thoughts about this blog post on twitter.com/mmz_ . Thanks for reading and Happy Coding!
+
Links
+
\ No newline at end of file
diff --git a/2017/09/05/full-stack-fest-2017/index.html b/2017/09/05/full-stack-fest-2017/index.html
new file mode 100644
index 00000000..495e117c
--- /dev/null
+++ b/2017/09/05/full-stack-fest-2017/index.html
@@ -0,0 +1,210 @@
+Full Stack Fest 2017 | 040code This site runs best with JavaScript enabled. Full Stack Fest 2017 Backend days by: jeroen niek on 2017-09-05 Full Stack Fest 2017
+
This week we (Jeroen and Niek) enjoyining Full Stack Fest 2017 Barcelona ,
+a week-long full stack development conference with a focus on solving current problems with new & inspiring perspectives.
+
In this quite short blog we just summarizing briefly the talks and our opinion about the talks. We have rated all talks, the rating is subjective ass well.
+
The first two days are more backend focussed, the last two days have a frontend focus, read more here .
+
Day one
+
Keynotes - Science - Backup the internet
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Karissa McKelvey (@okdistribute ) discussed the topic to share fairly large data sets in the science community in a secure and distributed way. The dat project enables file sharing via peer to peer for example with the beaker browser.
+
Ehtereum, aeternity and the distributed wonders
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Luca Marchesini (@kuzzleio ) did a great job by explanining about blockchain and the differences between ethereum and bitcoin. Blockchain; the system where playing by the rules is more profitable than cheating.
+
+
Rating: ⭐ ⭐
+
We love the Terraform framework of HashiCorp but the talk not as good as we hoped, nothing new. The speaker Anton (@antonbabenko ) is an expert on the topic and also maintains some great Terraform modules .
+
Migrating an existing service to serverless
+
Rating: ⭐ ⭐
+
For us a standard talk by Marcia (@mavi888uy ) about migrating an existing monolitic applicaton to smaller components. We loved all the (angry) birds flying around.
+
Defending the human network
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Good story about cyber security by Dr. Jessica Barker (@drjessicabarker ). About how the mood of a user is one of the weakest link. How you can trick people into clicking a bad links. Socially engineering and use stress full situation let a user execute an (maybe) unwanted action.
+
Key take aways, learn to think as hacker and focus on the why not on how to enforce / restrict users to do something.
+
Rise and the fall of the full stack database
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Comparison with the army knife. Don’t be afraid of new technologies.
+One tool for everything is not going to work.
+Example with analytics service, kafka stream, bus. Frank Lyaruu (@lyaruu ) did a great job!
+
+
Rating: ⭐ ⭐ ⭐
+
Good explaination by Sahil (@sahildua2305 ) about how to train a model and how to deploy them.
+
What to do when complex systems fail
+
Rating:
+
Not relevant to our needs.
+
Day Two:
+
The internet of things: An army of devices ready for DDoS
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Good talk by John Graham-Cummin (@jgrahamc ) about how IoT device can be used to do a DDoS attack. About port 1900 showing all kinds of information which is sent to victims address. How to block DDoS attacks by putting the ip-address in a grid to search for patterns. Talked about Trump attacks and anonymous being stupid by setting the evil flag (We’re anonymous).
+
How to properly blame things for causing latency: An introduction to distributed tracing and Zipkin
+
Rating: ⭐ ⭐
+
Difference between logs, metric and trace. Good (known) story by Adrian Cole (@adrianfcole ).
+
Ship more, sink less. Changing chaos engineering & Distributed tracing
+
Rating: ⭐ ⭐
+
The story about testing in real live situations is not new, good te remember the importance to be prepared for failure. For not much new things in this talk since we here the chaos monkeys stories new for a couple of years. But we will plan our Chaos GameDay soon. Thanks to Aish (@aishrajdahal )
+
Flying Spaghetti monster: Verifying protocols with types and finite-state machines
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Complexity of systems cause a lot of problems. Idris
has a nice feature that Types are also values, so state changes can easialy be checked in compile time. talk.applaud()
should only run after talk.give()
and Idris has a way to check this easily during compile time.
+
Inspiration for doing more with new languages. Chris Ford (@ctford ), thanks!
+
Smart grid: How iot fights climate change
+
Rating: ⭐
+
Kelsey Breseman (@ifoundtheme ) explains us how complex the eletrical grids works which makes it hard as well to safe for example solar eneregy. It was great to hear the complecity of this relevant topic but unfortunately there was not much relation betwoon the world of of software.
+
Beyond patterns: Technological systems and the nature of order
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Good to see the that our hipster shit is the same as the problems the manufacturing has already solved. Learn from that! Talk by Jerome Scheuring
+
Lighting Talks
+
Rating: ⭐ ⭐ ⭐
+
There where quite a lot fo lighting talks. In our opinion: hight quality but too many.
+
+Docker talk about docker build
was fun. Docker build takes long, and from now on I can’t ignore it anymore. THANKS!!! aka we should fix the layer thing.
+Fullstack is a zoo. Complexity of our work environment.
+http://exercism.io/ : Nice code kata kind of thing. (not a talk, but worth to mention)
+
+
Gone in 60 milliseconds: Offensive security in the serverless age
+
Rating: ⭐ ⭐ ⭐ ⭐ ⭐
+
Awesome DDoS attack of slides by Rich Jones (@GUNdotIO ). A lot of cool stuff. A very usefull and insight talk about how unsecure you serverless application can be. Serverless python with zappa and slides
\ No newline at end of file
diff --git a/2017/09/08/full-stack-fest-2017-frontend/index.html b/2017/09/08/full-stack-fest-2017-frontend/index.html
new file mode 100644
index 00000000..2425319c
--- /dev/null
+++ b/2017/09/08/full-stack-fest-2017-frontend/index.html
@@ -0,0 +1,215 @@
+Full Stack Fest 2017 | 040code This site runs best with JavaScript enabled. Full Stack Fest 2017 Frontend days by: jeroen niek on 2017-09-08 Full Stack Fest 2017
+
This week we (Jeroen and Niek) enjoyining Full Stack Fest 2017 Barcelona ,
+a week-long full stack development conference with a focus on solving current problems with new & inspiring perspectives.
+
In this quite short blog we just summarizing briefly the talks and our opinion about the talks. We have rated all talks, the rating is subjective ass well.
+
The last days are more frontend focussed read here more about the backend days.
+
Day four
+
Keynote
+
Rating: ⭐ ⭐ ⭐
+
Jenn Schiffer (@jennschiffer ) showed how to make coding actually friendly with glitch . And remember once you got bored you will not trying new cool stuff which makes you even unhappier and so on… And some cool pixel art
+
Once you go PRPL…
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Service Workers by Houssein Djireden (@hdjirdeh ) are stable and most serious browsers support them. SWs are a big help in improving the experience for the user. Workbox-cli
is a great for configuring your app to cache usefull stuff only. Don’t cache too much. FoamTree
and webpack-bundle-analytics
show a good overview what to cache. Split up your js, with http/2, we do not need one big js file. React has good SW support.
+
Magic tricks with css houdini
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Absolutely awesome to see the future already working in this talk by Sam Richard (@Snugug ). A lot of visual stuff is currently blocking the main JS thread. With Houdini CSS a lot of css stuff can be handle on Worklets. ‘Much like Service Workers are a low-level JavaScript API for the browser’s cache Houdini introduces low-level JavaScript APIs for the browser’s render engine’. Currently only available in Chrome Canary and the definition of unstable, but ooooh so beautiful, slides in canary
+
Master the art of the ast (and take control of your js)
+
Rating: ⭐ ⭐ ⭐
+
Talk by Sears israel (@cowchimp ) to understand most JS libraries you only need to know two things. AST and the visitor pattern. With this knowledge you can easily add ESLint, create Babel plugins or add jscodeshift refactor modules. A great tool to help with AST is https://astexplorer.net
+
SVG can do that?!
+
Rating: ⭐ ⭐ ⭐ ⭐ ⭐
+
Awesome what you can do with SVG by Sarah Drasner (@sarah_edo ). This girl really knows her stuff. SVG is supported by all browsers including Opera Mini! Good integration with VueJS, react and other modern frameworks is possible. Lots of examples of really beautiful animations all working for all types of devices. Size does matter for images and animations. Normally it will result in ugly things, but with SVG this is absolutely not the case, slides .
+
Using react native + clojurescript to launch ios/android apps to 1m users
+
Rating: ⭐ ⭐
+
A long intro to react native
, which is most likely not necessary on this conference. A nice twist with clojureScript
. The code looks very clean. It is possible to create apps for both iOS and Android with a 99% simular codebase. The crashlogs of apps created with clojurescript and reactnative are unfortunately almost not readible. This set of tools is also great to use in combination with codepush
. Now we can update the app on the fly without bothering appstores. Talk by Emin Hasanov (@hasanove )
+
Blasting react into space: building fluid, beautiful interfaces with react and webgl (and other exotic explorations)
+
Rating: ⭐ ⭐ ⭐ ⭐
+
A good talk by Chad Ostrowski (@chadoh ), on how all the new technologies can help us in the future when live is possible on Mars. Using: HTTP/2
, ServiceWorkers
, LocalStorage
, Bittorent + git
, IPFS
, blockchain
, bitcoin
, ethereum
. “Tomorrow’s problems === Today’s problems but bigger.” Last year a simular talk was told on FSF, but it’s good to see that the technologies mentioned then are now in a much further state. Great talk and good choice from the organiser of this beautiful conference.
+
+
+
+
Day five
+
Bringing back the 1990s: The revenge of javascript stylesheets
+
Rating: ⭐ ⭐ ⭐
+
Steve Kinney (@stevekinney ) did a lot of work in getting the Javascript Stylesheets, a technology only working in 1996 in Netscape 4) to work in 2017. In the beginning of the internet, people were debating about the split of concern regarding content and layout. One of the proposals was Javascript Stylesheets. Netscape 4 was the only browser capable of this feature. Steve showed us how we can do some really neat stuff in 1996 technology. A lot of this, we now take for granted, but we have to keep in mind that this was 1996. A lot of simularities with SASS, LESS, but also REACT like structures with the ECMA E4X for XML proposal . Conclusion: We still can learn from the past. Although some good initiatives take 20 years to become meanstream.
+
+
Rating: ⭐ ⭐ ⭐
+
Good presentation about how we can improve the performance a lot by using the GPU instead of CPU. A good explaination what the differences are between a CPU and GPU. Try to use translate and shaders because they don’t require repaintings. Thanks Martin Splitt (@g33konaut )!, slides
+
Web based virtual reality
+
Rating: ⭐ ⭐ ⭐
+
Shagufta Gurmukhdas (@shaguftamethwan ) give a good talk ok the Web based virtual reality. Starting WebVR with WebGL is very hard. She showed us A-Frame . A-Frame was already mentioned three times in FSF, so we were already very curious about it. You can easily start your own VR world with this framework. It uses GPU under the hood and you can use one of your favourite webframeworks (vueJS, React, and so on) to change properties of the 3D models. Very impressive. With this tool, even the most suburn backenders, (we) can start with VR.
+
Exploring the world of decentralized networks with webRTC
+
Rating: ⭐ ⭐
+
Nikita Baksalyar (@nbaksalyar ) started his talk with some technical issues, but he recovered quickly from that. Nikita tought us about how the internet can truly be implemented the way it was supposed to be implemented. Decentralised! Now-a-days we’re using a lot of things which are ment to be decentralised in a centralised way. Git and the internet are a nice examples of that. Serving the web, securely and encrypted, with webRTC through all client devices will make it imposible to censor the internet by governments. During the Q&A a question come up on what to do with unwanted content. The response of Nikita was amazing. We should educate people that they don’t want to see unwanted content instead of putting the responsibility of this on technology, resources
+
Developing for the next billion
+
Rating: ⭐ ⭐ ⭐
+
Look to your target group. Keep in mind that your apps might not be used by the people you’ve targetted on. Natalie Pispistunovich (@nataliepis ) showed some examples from Kenya. What apps are used and why. The delivery of apps can be very different from ours. The way payments are done also.
+Nice reference to Fun with Flags
+
Progressive web apps and the internet of things
+
Rating: ⭐ ⭐
+
A story of with amongst other libraries, the johnny-five
library. Today it’s easy to communicate with all kind of device with nodeJS
. Well done, Luis Montes (@monteslu )
+
Lightning talks
+
+PAKO a zlib for uploads in js. For uploading large files. :) NICE. @bombasarkadian
+DevTools in Firefox: Alex Lakatos @lakatos88; BASIC
+Internet for Everyone. Tom Enden en Liran Kurtz. Accessible. GOOD
+Marek - ProRouter.js - Router.maniak.pro - No idea what this is all about.
+Kirill Pimenov - Rust! Go write to Rust and go back to your own language and you will be beter. Awesome!
+Raj - iOS Event Communication without internet, API and no loss of data. Way to fast. OMG… Peer to Peer connectivity with iPhone through Bonjour protocol
+Paulo - Functional Programming: Elixir and Phoenix. I love Phoenix! See also git
+FSF designer. Uses emoiji as classes. Awesome way of keeping the names short and compact. Really high quality frontend work. See Full Stack Fest web page and Inspect the code!
+
+
Making a lot of things
+
Rating: ⭐ ⭐ ⭐
+
Ben Foxall (@benjaminbenben ) gave us two talks for the price of one!
+https://cojs.co is collaborate platform were people can co-create software. With blocks you can split the code. Adding a !
behind the url will fork the code. Other users can continue on the code in their own context, but with shared code. Awesome. The second part was about Microhacks. He explained how you should constrain your experiments to make them work. Plan your goal, not your work. Start it and finish it.
+
Awesome!!!
+
Many thanks to Codegram the company that organized once again the best conference!
\ No newline at end of file
diff --git a/2017/09/19/immutable-infrastructure/index.html b/2017/09/19/immutable-infrastructure/index.html
new file mode 100644
index 00000000..e936d8bd
--- /dev/null
+++ b/2017/09/19/immutable-infrastructure/index.html
@@ -0,0 +1,222 @@
+Immutable Infrastructure | 040code This site runs best with JavaScript enabled. Immutable Infrastructure Devops Days Riga 2017 by: niek on 2017-09-19 The Docker slogan ‘Build, Ship, and Run’ advertises easy set up of immutable software builds, but it is not always that easy. Setting up immutable builds with Docker is pretty straight forward and shipping is just a matter of pushing the image to a repository. The next step is building the cloud infrastructure to run the containers. In the talk at the DevOps Days in Riga I have shown how to create an immutable infrastructure on AWS with Terraform. The example belows shows how you can run your micro services in docker containers on AWS.
+
In this talk I briefly touch upon building immutable software. But the main focus of the talk will be on creating an immutable infrastructure. In this talk I will show you how to create an immutable infrastructure on AWS with Terraform. I will use a real world example to explain and show live how easy you can get micro services live on AWS and continuously apply changes to the same cloud environment..
+
Slides
+
Below the slides that I used for the talk, the slides are available as well on GitLab . You can easy navigate through the slides with the spacebar.
+
+
+
+
To get started with Terraform the best starting points are:
+
+
Examples
+
Hello World
+
During the talk, I demonstrated a hello world example, see the link above. This examples shows some basics of terraform by creating a ec2 instance and security group to server a simple web application. The example only works in the AWS region eu-west-1
since the AMI used is only available in this region.
+
ECS demo
+
The second example I have shown, is creating an immutable infrastructure to server docker containers. The picture below descibes briefly the enviroment that will be cretaed.
+
+
+
+
+
+
+
+
+
+
+
The example also creates log groups in cloudwatch to capture the logging of the ecs agent and the running containers (services).
+
Setup
+
Before you can start, you need an AWS account with sufficient rights (admin), and you should create a AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
to be able to access your account programmatically.
+
Clone the repository containing the ECS sample terraform code. To create the infrastructure step-by-step you can check out the tags vpc
and ecs
.
+
git clone https://github.com/npalm/tf-ecs-demo.git
+git checkout vpc
+
You should also have Terraform installed (home brew install terraform
) or use a docker container to run the terraform commands, for example:
+
docker run -it --env-file <AWS_KEYS_FILE> -v $(pwd):/data -w /data \
+ hashicorp/terraform:0.10.4 <terraform command>
+
+
Create network layers (VPC)
+
In the next steps we will create the network layers.
+
First, we initialize and plan our changes.
+
terraform init
+terraform plan
+
Terraform should print on the console that 19 needs to be added and 0 to change or destroyed. Next we apply the change be executing terraform apply
.
+
Add ECS cluster
+
Now we have the network layer created, we will add the ECS cluster. By default the bastion host is disabled, the bastion can be enabled by updating the variable enable_bastion
in the terraform.tfvars
file. Time to plan and apply the new resources for ECS.
+
git checkout ecs
+terraform plan
+terraform apply
+
Once terraform is ready it will print the url of two applications on the console. One application, is a simple micro service that just prints the AWS availabilty zone where it is running, the other is a graphql micro service . It will take a few minutes before the services are available.
+
Adding your own service.
+
Time to have some more fun. Edit the main.tf
and start making changes. Remove all the services, add your own service. By default for each service an application load balancer (ALB) is created. Add for each services that you want to deploy a configuration as below and update the variables as required.
+
module "your-service" {
+ source = "ecs-service"
+
+ service_name = "<service-name>"
+ image_url = "<docker-image>"
+ container_port = <port in the container where the service is listening>
+ desired_count = <number of instances>
+
+ aws_region = "${var.aws_region}"
+ environment = "${var.environment}"
+
+ vpc_id = "${module.vpc.vpc_id}"
+ subnets = "${module.vpc.public_subnets}"
+
+ cluster_id = "${module.ecs-cluster.cluster_id}"
+ ecs_service_role_name = "${module.ecs-cluster.ecs_service_role_name}"
+}
+
Now plan and apply your changes, Terraform will inform you that a few resources will be destroyed (the removed services) and a few will be added.
+
Clean up
+
Once done you can easily clean-up all created resources in AWS, just run terraform destroy
.
\ No newline at end of file
diff --git a/2017/10/01/microhack-zappa-io/index.html b/2017/10/01/microhack-zappa-io/index.html
new file mode 100644
index 00000000..99d41cfe
--- /dev/null
+++ b/2017/10/01/microhack-zappa-io/index.html
@@ -0,0 +1,236 @@
+MicroHack Zappa.io | 040code This site runs best with JavaScript enabled. MicroHack Zappa.io A quick test for using the Zappa.io serverless framework to run a python service in the cloud by: jeroen on 2017-10-01 MicroHack - Python serverless with Zappa.io
+
The context
+
I’ve visited one of the best conferences last september, Full Stack Fest in Barcelona. Since then, two talks are constantly in the back of my mind.
+
The first one is the talk by Ben Foxall (@benjaminbenben ). He talked about Microhacks and how to become better in your experiments by constraining them. Write small reports / blogs of your Microhacks to so you have a nice overview of some of the experiments you’ve done. Guess what this blog is about..
+
The second talk I’m frequently think of was the talk by Rich Jones (@GUNdotIO ) titled “Gone in 60 milliseconds: Offensive security in the serverless age”. A DDoS attack of slides, 452 in total. The talk main focus was about security and how you can hack the AWS infrastructure if things are not setup correctly. He knows his ways in AWS. That’s comes very handy if you want to build a cli which helps other people to run serverless python apps in the cloud. And this is exactly what he’s been doing with https://www.zappa.io .
+
What’s the experiment
+
I wanted to test the cli zappa.io with a simple python Flask app. The specs are simple: A service which reverses an input string running in the cloud with zappa.io. Serverless services are very interesting, because it’s based on lambdas and they typically run for a few milliseconds. So the costs are very low, utilization is very high.
+I’ve asked some colleagues to join me on a friday afternoon experiment and Jos Beijk wanted to help.
+
Let’s do it!
+
We need Python , a package manager (pip ) and a tool to create isolated Python environments (Virtualenv ).
+Store your AWS secrets in your .aws
directory.
+
If you do not have an AWS account, don’t worry. Just signup and the first 1.000.000 requests per month are for free. https://aws.amazon.com/lambda/pricing
+
The experiment
+
+
GitHub: https://github.com/JeroenKnoops/zappa-string-reverser
+
What just happened?
+
The service
+
Create a simple Flask
service which reverses an input string.
+
from flask import Flask, request
+
+app = Flask( __name__)
+
+@app. route ( '/<string:str>' , methods= [ "GET" ] )
+def reverse_str ( str ) :
+ return str [ : : - 1 ]
+
+if __name__ == '__main__' :
+ app. run( )
+
Required libraries
+
Add required libraries Flask and Zappa in requirements.txt
so pip can install it.
+
Flask>=0.12
+zappa>=0.17.6
+
Install required libraries in virtual environment
+
Create a virtaul environment and activate it.
+
virtualenv venv
+source venv/bin/activate.fish
+
Note: If you use zsh
or bash
you can use: source venv/bin/activate
+
pip install -r requirements.txt
+
Setup Zappa and deploy the service
+
Setup Zappa:
+
+
Once you finish initialization, you’ll have a file named zappa_settings.json
in your project directory defining your basic deployment settings.
+
Edit this file to add more service specific configurations:
+
{
+ "dev" : {
+ "app_function" : "string_reverser.app" ,
+ "keep_warm" : false ,
+ "debug" : true ,
+ "log_level" : "DEBUG" ,
+ "aws_region" : "eu-west-1" ,
+ "profile_name" : "default" ,
+ "http_methods" : [ "GET" ] ,
+ "parameter_depth" : 1 ,
+ "timeout_seconds" : 300 ,
+ "memory_size" : 128 ,
+ "use_precompiled_packages" : true ,
+ "s3_bucket" : "zappa-<unique-thingy-goes-here>"
+ }
+}
+
Deploy the app:
+
+
The output is the url to our service. You see it’s https out-of-the-box.. :)
+
Test our service
+
The previous step will output an url to our service. In my case: https://z9cxt9gky6.execute-api.eu-west-1.amazonaws.com/dev/
+
Append the test string behind it and check the result.
+
curl https://z9cxt9gky6.execute-api.eu-west-1.amazonaws.com/dev/thisisateststring
+
Wiehoe! We got: gnirtstsetasisiht
+
Update the service
+
When you want to apply some changes, you can deploy it by running:
+
+
If you add other libraries, make sure you add it in requirements.txt
and install it locally in your virtual environment. All the packages in this folder will be shipped.
+
Debugging
+
You can do various things with the zappa cli.
+
You can view logging for example:
+
+
See help for more info:
+
+
Feel free to check the created services in AWS console. You will see API gateway, CloudWatch and Lambdas.
+
Cleanup
+
Remove the infrastructure by simply undeploy the environment:
+
+
Conclusion
+
Ofcourse this example has no real value, but I wanted to see how it works.
+I think zappa.io is very good in its default values, but is extremely flexible.
+You don’t like the JSON format and prefer YAML or TOML? no problem. Want to run it in a VPC, no problem. Don’t like the Keeping The Server Warm settings, you can change it.
+Look at https://github.com/Miserlou/Zappa for the complete list of options. There’s good community support with a slack channel, so I would encourage you to look at this project. Especially because you have a lot of good defaults in this setup and this guy knows a few things about AWS.
+
Links
+
\ No newline at end of file
diff --git a/2017/10/19/graphql-geecon/index.html b/2017/10/19/graphql-geecon/index.html
new file mode 100644
index 00000000..27b8523f
--- /dev/null
+++ b/2017/10/19/graphql-geecon/index.html
@@ -0,0 +1,190 @@
+GraphQL | 040code This site runs best with JavaScript enabled. GraphQL GeeCON talk - The Next API Language by: niek on 2017-10-19 A short post to share the slides and examples I used in my talk at the GeeCON conference on October the 19th in Prague.
+
Slides
+
Below the slides that I for the talk, the slides are available as well on GitHub . You can easy navigate through the slides with the spacebar.
+
+
+
+
To get started with GraphQL the best starting points are:
+
+
Examples
+
During the talk, I demonstrated GraphQL via graphcool , which is cloud service for creating a flexible GraphGL backend. I modelled a basic model of a Talk and Person with relation speakers and visitors on graphcool. Furthermore, I modelled two basic sample implementations of a GraphQL backend in Java and JavaScript that are available via GitHub. Those implementation are more limited than the online one, but both serve the following minimal queries.
+
Query for the name and the title of the talks given by all persons:
+
{
+ persons {
+ name
+ talks {
+ title
+ }
+ }
+}
+
And secondly, a query for all titles of talks with their speaker’s names.
+
{
+ talks {
+ title
+ speakers {
+ name
+ }
+ }
+}
+
JavaScript sample
+
The JavaScript sample is based on Apollo GraphQL tutorial kit .
+
git clone https://github.com/npalm/graphql-js-demo.git
+cd graphql-js-demo
+yarn && yarn start
+
Instead of yarn, you can use npm install && npm start
. Once started, browse to http://localhost:8080/graphiql and play around with the GraphQL web interface. Implementing the JavaScript version was straightforward due to the many examples and good tutorials around.
+
Spring Boot Java sample
+
The Spring Boot Java sample is based on the Spring Boot Starter available for GraphQL and GraphQL java tools lib with schema first support.
+
git clone https://github.com/npalm/graphql-java-demo.git
+git checkout nextbuild
+cd graphql-java-demo
+docker build -t graphql-java-demo && docker run -it --rm -p 8080:8080 graphql-java-demo
+
Alternatively, you can build and run via gradle. Once started, browse to http://localhost:8080/ to play around with the GraphQL web interface.
+
Many languages already have support, so feel free to try out your favourite language. Currently the support on JavaScript looks like by far the best.
\ No newline at end of file
diff --git a/2017/12/09/runners-on-the-spot/index.html b/2017/12/09/runners-on-the-spot/index.html
new file mode 100644
index 00000000..51a4f7f1
--- /dev/null
+++ b/2017/12/09/runners-on-the-spot/index.html
@@ -0,0 +1,388 @@
+Runners on the Spot | 040code This site runs best with JavaScript enabled. Runners on the Spot Auto scaling GitLab runners on AWS with Terraform by: niek on 2017-12-09 Introduction
+
GitLab CI is a first class citizen in GitLab to enable continuous integration and delivery to your project. Builds are orchestrated via GitLab Runners , which are agents registered to your GitLab account. An agent runs builds using a local shell or a container. Runnings these builds requires a well-defined infrastructure, both with respect to the type of server and the server capacity. Would it not be great if you can scale the infrastructure based on your needs? Indeed, GitLabs runner supports out of the box auto scaling using docker machine, which is discussed in the GitLab blog article: Autoscale GitLab CI runners and save 90% on EC2 costs .
+
The GitLab blog article nicely explains how to create your infrastructure in a manual way. However, we rather automate all things. Thus, we will automate the set up described in the blog article. In this post I will discuss how to create the infrastructure needed to run the build on AWS spot instances with Hashicorp Terraform . The GitLab Runner module discussed in the post is available in the Terraform Registery .
+
+
+
+
+
+
+
+
+
+
+
Prerequisites
+
Before we start, we need to briefly discuss the GitLab runners. To execute the builds, GitLab uses an agent to orchestrate the build with a docker machine. A docker machine creates instances with docker engine to run docker containers. The first step for setting up a runner is to register a new runner. Because GitLab currently does not provide a fully automated way for this, we will do this manually.
+
Open you GitLab project and lookup the token to register a runner. Be aware that there are project tokens and a GitLab global token. Next, we use a docker container to register a runner. The command will ask a few details.
+
docker run -it --rm gitlab/gitlab-runner register
+
+
+
Provide the requested details and consult the GitLab manual for more details. Once done, you should see a new runner registered at your project or globally. Open the runner settings in edit mode and record the token. This token is needed later for connecting the agent.
+
Creating infrastructure for the runners
+
Now the runner is configured in GitLab, we can start creating the infrastructure on AWS. For setting up the network layers, we use Amazon networking scenario 2 to build a VPC with a public and private subnets. For more details see this post about creating a VPC in terraform. You can also simply use the official terraform module .
+
+module "vpc" {
+ source = "terraform-aws-modules/vpc/aws"
+ version = "1.5.1"
+
+ name = "vpc-${var.environment}"
+ cidr = "10.0.0.0/16"
+
+ azs = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
+ private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
+ public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
+
+ enable_nat_gateway = true
+
+ tags = {
+ Environment = "${var.environment}"
+ }
+}
+
Next, we create a t2.micro
instance using an autoscaling group in the private network. On this instance we install and configure the GitLab runner. Configuration of GitLab runners is done via the config.toml
file. Below the parameterized version of this configuration file. In the Terraform module you will find that the configuration file is loaded via a data template.
+
concurrent = ${runner_concurrent}
+check_interval = 0
+
+[[runners]]
+ name = "${runners_name}"
+ url = "${gitlab_url}"
+ token = "${runners_token}"
+ executor = "docker+machine"
+ limit = ${runners_limit}
+ [runners.docker]
+ tls_verify = false
+ image = "docker:17.11.0-ce"
+ privileged = ${runners_privilled}
+ disable_cache = false
+ volumes = ["/cache"]
+ shm_size = 0
+ [runners.cache]
+ Type = "s3"
+ ServerAddress = "s3-${aws_region}.amazonaws.com"
+ AccessKey = "${bucket_user_access_key}"
+ SecretKey = "${bucket_user_secret_key}"
+ BucketName = "${bucket_name}"
+ Insecure = false
+ [runners.machine]
+ IdleCount = ${runners_idle_count}
+ IdleTime = ${runners_idle_time}
+ MachineDriver = "amazonec2"
+ MachineName = "runner-%s"
+ MachineOptions = [
+ "amazonec2-access-key=${access_key}",
+ "amazonec2-secret-key=${secret_key}",
+ "amazonec2-instance-type=${instance_type}",
+ "amazonec2-region=${aws_region}",
+ "amazonec2-vpc-id=${vpc_id}",
+ "amazonec2-subnet-id=${subnet_id}",
+ "amazonec2-private-address-only=true",
+ "amazonec2-request-spot-instance=true",
+ "amazonec2-spot-price=${spot_price_bid}",
+ "amazonec2-security-group=${security_group_name}"
+ ]
+
All variables can be configured and most of them have default values. Only the name of the runner, the token and the GitLab URL need to be configured. The configuration contains a shared cache in S3 which will expire at the end of the next day (after creation) by default. Files will be deleted via S3 lifecycle management once expired, but the number of expiration days can be changed to your needs. You can find all the available variables in the variables.tf
file of the module. Next we add the module to our Terraform file and define a minimal set of variables.
+
module "gitlab-runner" {
+ source = "npalm/gitlab-runner/aws"
+
+ aws_region = "<region-to-use>"
+ environment = "ci-runners"
+ ssh_public_key = "<contains-public-key"
+
+ vpc_id = "${module.vpc.vpc_id}"
+ subnet_id_gitlab_runner = "${element(module.vpc.private_subnets, 0)}"
+ subnet_id_runners = "${element(module.vpc.private_subnets, 0)}"
+
+ # Values below are created during the registration process of the runner.
+ runner_name = "<name-of-the-runner"
+ runner_gitlab_url = "<gitlab-url>"
+ runner_token = "<token-of-the-runner"
+}
+
The complete example is in GitHub . Now it is time to execute the scripts to create the actual infrastructure. Be aware that you need to configure AWS keys and have Terraform installed. The steps below should guide you through the setup.
+
git clone https://github.com/npalm/terraform-aws-gitlab-runner.git
+cd tf-aws-gitlab-runner/example
+
The example directory contains the example as described above, so the properties for your newly registered runner in GitLab need to be configured. Please register a runner in GitLab (see docker command above) and update the terraform.tfvars
file. That is all, now execute the Terraform code.
+
# genere SSH key pair
+./init.sh
+
+# initialize terraform
+terraform init
+
+# apply, or plan first
+terraform apply
+
+
+
After a few minutes the runner should be running and you should see it in your AWS console.
+
+
+
+
+
+
+
+
+
+
+
+The runner should be active as well in GitLab. Check the runner pages which should now indicate the latest moment of contact.
+
+
+
+
+
+
+
+
+
+
+
+
The modules also enable CloudWatch logging, all systemd
logging is streamed. Go to CloudWatch to inspect the logging and you will see that the installation process was logged as well.
+
+
+
+
+
+
+
+
+
+
+
Verify
+
Finally we can verify that the runner is working properly by executing a build. The .gitlab-ci.yml
below is an example to verify the runner is working properly. The build contains two stages. In the first stage an ascii art image is generated, stored in a file which is cached in S3. In the second stage the file is retrieved from the build cache.
+
+stages:
+ - build
+ - verify
+
+cache:
+ key: "$CI_BUILD_REF"
+ untracked: true
+
+image: npalm/cowsay
+
+build:
+ stage: build
+
+ script:
+ - cowsay -f ghostbusters building "$CI_BUILD_NAME" @ stage "$CI_BUILD_STAGE" > ghosts.txt
+
+ tags:
+ - docker.m3
+
+verify:
+ stage: verify
+
+ script:
+ - cat ghosts.txt
+
+ tags:
+ - docker.m3
+
Add the file above to the GitLab repository that has the created runner attached. Once you commit the file a build should triggered. The logging of the verification step should contain the ascii art image.
+
+
+
+
+
+
+
+
+
+
+
Warning
+
Be aware that prices of a spot instance can change over the time and instances can be terminated without a warning. Last black Friday prices of spot instances went up to over 2 dollar occasionally.
\ No newline at end of file
diff --git a/2017/12/09/runners-on-the-spot/register.json b/2017/12/09/runners-on-the-spot/register.json
new file mode 100644
index 00000000..a2a51696
--- /dev/null
+++ b/2017/12/09/runners-on-the-spot/register.json
@@ -0,0 +1,602 @@
+{
+ "version": 1,
+ "width": 166,
+ "height": 25,
+ "duration": 47.13254,
+ "command": null,
+ "title": null,
+ "env": {
+ "TERM": "xterm-256color",
+ "SHELL": "/bin/zsh"
+ },
+ "stdout": [
+ [
+ 0.291224,
+ "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r\u001b]2;310230212@MACC02QX17YG8WP-2: ~\u0007\u001b]1;~\u0007"
+ ],
+ [
+ 0.021534,
+ "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36m~\u001b[00m \u001b[K"
+ ],
+ [
+ 0.000181,
+ "\u001b[?1h\u001b="
+ ],
+ [
+ 5.6e-05,
+ "\u001b[?2004h"
+ ],
+ [
+ 1.251178,
+ "d"
+ ],
+ [
+ 0.118881,
+ "\bdo"
+ ],
+ [
+ 0.103964,
+ "c"
+ ],
+ [
+ 0.112246,
+ "k"
+ ],
+ [
+ 0.095892,
+ "e"
+ ],
+ [
+ 0.103882,
+ "r"
+ ],
+ [
+ 0.207942,
+ " "
+ ],
+ [
+ 0.152066,
+ "r"
+ ],
+ [
+ 0.103867,
+ "u"
+ ],
+ [
+ 0.183031,
+ "n"
+ ],
+ [
+ 0.088985,
+ " "
+ ],
+ [
+ 1.320221,
+ "-"
+ ],
+ [
+ 0.28827,
+ "i"
+ ],
+ [
+ 0.207616,
+ "t"
+ ],
+ [
+ 0.087837,
+ " "
+ ],
+ [
+ 0.312216,
+ "-"
+ ],
+ [
+ 0.583983,
+ "-"
+ ],
+ [
+ 0.24765,
+ "r"
+ ],
+ [
+ 0.176268,
+ "m"
+ ],
+ [
+ 0.150848,
+ " "
+ ],
+ [
+ 0.184263,
+ "g"
+ ],
+ [
+ 0.096906,
+ "i"
+ ],
+ [
+ 0.079992,
+ "t"
+ ],
+ [
+ 0.127884,
+ "l"
+ ],
+ [
+ 0.087949,
+ "a"
+ ],
+ [
+ 0.175958,
+ "b"
+ ],
+ [
+ 0.216094,
+ "/"
+ ],
+ [
+ 0.207085,
+ "g"
+ ],
+ [
+ 0.120913,
+ "i"
+ ],
+ [
+ 0.112046,
+ "t"
+ ],
+ [
+ 0.127681,
+ "l"
+ ],
+ [
+ 0.104238,
+ "a"
+ ],
+ [
+ 0.17584,
+ "b"
+ ],
+ [
+ 0.216049,
+ "-"
+ ],
+ [
+ 0.137147,
+ "r"
+ ],
+ [
+ 0.134966,
+ "u"
+ ],
+ [
+ 0.192109,
+ "n"
+ ],
+ [
+ 0.119864,
+ "n"
+ ],
+ [
+ 0.112119,
+ "e"
+ ],
+ [
+ 0.095984,
+ "r"
+ ],
+ [
+ 0.247548,
+ " "
+ ],
+ [
+ 0.392258,
+ "r"
+ ],
+ [
+ 0.128058,
+ "e"
+ ],
+ [
+ 0.160022,
+ "g"
+ ],
+ [
+ 0.104067,
+ "i"
+ ],
+ [
+ 0.103807,
+ "s"
+ ],
+ [
+ 0.12796,
+ "t"
+ ],
+ [
+ 0.120007,
+ "e"
+ ],
+ [
+ 0.104069,
+ "r"
+ ],
+ [
+ 0.112032,
+ "\u001b[?1l\u001b>"
+ ],
+ [
+ 3.3e-05,
+ "\u001b[?2004l\r\r\n"
+ ],
+ [
+ 0.001786,
+ "\u001b]2;docker run -it --rm gitlab/gitlab-runner register\u0007\u001b]1;docker\u0007"
+ ],
+ [
+ 0.821022,
+ "Running in system-mode. \u001b[0;m \r\n \u001b[0;m \r\nPlease enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):\r\n"
+ ],
+ [
+ 3.274902,
+ "h"
+ ],
+ [
+ 0.12727,
+ "t"
+ ],
+ [
+ 0.143484,
+ "t"
+ ],
+ [
+ 0.137242,
+ "p"
+ ],
+ [
+ 0.279648,
+ "s"
+ ],
+ [
+ 0.463834,
+ ":"
+ ],
+ [
+ 0.288059,
+ "/"
+ ],
+ [
+ 0.167864,
+ "/"
+ ],
+ [
+ 0.232189,
+ "g"
+ ],
+ [
+ 0.128081,
+ "i"
+ ],
+ [
+ 0.087994,
+ "t"
+ ],
+ [
+ 0.143706,
+ "l"
+ ],
+ [
+ 0.111985,
+ "a"
+ ],
+ [
+ 0.160234,
+ "b"
+ ],
+ [
+ 0.12759,
+ "."
+ ],
+ [
+ 0.17627,
+ "c"
+ ],
+ [
+ 0.119984,
+ "o"
+ ],
+ [
+ 0.135858,
+ "m"
+ ],
+ [
+ 0.224252,
+ "\r\nPlease enter the gitlab-ci token for this runner:\r\n"
+ ],
+ [
+ 1.626424,
+ "XXXXXXXXXXXXXX"
+ ],
+ [
+ 1.373241,
+ "\r\nPlease enter the gitlab-ci description for this runner:\r\n[5e0836e68acf]: "
+ ],
+ [
+ 2.09587,
+ "a"
+ ],
+ [
+ 0.207988,
+ "w"
+ ],
+ [
+ 0.208084,
+ "s"
+ ],
+ [
+ 0.127983,
+ " "
+ ],
+ [
+ 0.447935,
+ "s"
+ ],
+ [
+ 0.151884,
+ "p"
+ ],
+ [
+ 0.159932,
+ "o"
+ ],
+ [
+ 0.135963,
+ "t"
+ ],
+ [
+ 0.168033,
+ " "
+ ],
+ [
+ 0.184008,
+ "r"
+ ],
+ [
+ 0.110634,
+ "u"
+ ],
+ [
+ 0.209097,
+ "n"
+ ],
+ [
+ 0.119605,
+ "n"
+ ],
+ [
+ 0.112665,
+ "e"
+ ],
+ [
+ 0.087892,
+ "r"
+ ],
+ [
+ 0.136365,
+ "\r\nPlease enter the gitlab-ci tags for this runner (comma separated):\r\n"
+ ],
+ [
+ 1.712045,
+ "d"
+ ],
+ [
+ 0.263979,
+ "o"
+ ],
+ [
+ 0.143689,
+ "c"
+ ],
+ [
+ 0.111886,
+ "k"
+ ],
+ [
+ 0.072427,
+ "e"
+ ],
+ [
+ 0.103648,
+ "r"
+ ],
+ [
+ 0.200232,
+ "."
+ ],
+ [
+ 0.167646,
+ "m"
+ ],
+ [
+ 0.240263,
+ "3"
+ ],
+ [
+ 0.224489,
+ "\r\nWhether to run untagged builds [true/false]:\r\n[false]: "
+ ],
+ [
+ 1.231531,
+ "\r\nWhether to lock the Runner to current project [true/false]:\r\n[true]: "
+ ],
+ [
+ 0.7122,
+ "\r\n"
+ ],
+ [
+ 0.533616,
+ "Registering runner... succeeded \u001b[0;m runner\u001b[0;m=sAPwvVTT\r\nPlease enter the executor: docker-ssh, shell, ssh, virtualbox, docker+machine, kubernetes, docker, docker-ssh+machine, parallels:\r\n"
+ ],
+ [
+ 1.258156,
+ "d"
+ ],
+ [
+ 0.103912,
+ "o"
+ ],
+ [
+ 0.135904,
+ "c"
+ ],
+ [
+ 0.087961,
+ "k"
+ ],
+ [
+ 0.103987,
+ "e"
+ ],
+ [
+ 0.096223,
+ "r"
+ ],
+ [
+ 0.327573,
+ "+"
+ ],
+ [
+ 0.296265,
+ "m"
+ ],
+ [
+ 0.110943,
+ "a"
+ ],
+ [
+ 0.169131,
+ "c"
+ ],
+ [
+ 0.095922,
+ "h"
+ ],
+ [
+ 0.112089,
+ "i"
+ ],
+ [
+ 0.159809,
+ "n"
+ ],
+ [
+ 0.128026,
+ "e"
+ ],
+ [
+ 0.376113,
+ "\r\nPlease enter the default Docker image (e.g. ruby:2.1):\r\n"
+ ],
+ [
+ 3.878918,
+ "d"
+ ],
+ [
+ 0.128061,
+ "o"
+ ],
+ [
+ 0.137675,
+ "c"
+ ],
+ [
+ 0.094434,
+ "k"
+ ],
+ [
+ 0.095693,
+ "e"
+ ],
+ [
+ 0.08014,
+ "r"
+ ],
+ [
+ 0.335877,
+ ":"
+ ],
+ [
+ 0.25606,
+ "1"
+ ],
+ [
+ 0.240001,
+ "7"
+ ],
+ [
+ 0.28791,
+ "."
+ ],
+ [
+ 0.239813,
+ "1"
+ ],
+ [
+ 0.167288,
+ "1"
+ ],
+ [
+ 0.241098,
+ "."
+ ],
+ [
+ 1.047846,
+ "0"
+ ],
+ [
+ 0.408116,
+ "-"
+ ],
+ [
+ 0.255909,
+ "c"
+ ],
+ [
+ 0.215864,
+ "e"
+ ],
+ [
+ 0.282044,
+ "\r\nRunner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!\u001b[0;m \r\n"
+ ],
+ [
+ 0.575268,
+ "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"
+ ],
+ [
+ 5.7e-05,
+ "\u001b]2;310230212@MACC02QX17YG8WP-2: ~\u0007"
+ ],
+ [
+ 1.1e-05,
+ "\u001b]1;~\u0007"
+ ],
+ [
+ 0.017496,
+ "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36m~\u001b[00m \u001b[K"
+ ],
+ [
+ 2e-05,
+ "\u001b[?1h\u001b="
+ ],
+ [
+ 4.8e-05,
+ "\u001b[?2004h"
+ ],
+ [
+ 3.171538,
+ "\u001b[?2004l\r\r\n"
+ ]
+ ]
+}
diff --git a/2017/12/09/runners-on-the-spot/terraform.json b/2017/12/09/runners-on-the-spot/terraform.json
new file mode 100644
index 00000000..fd4024c7
--- /dev/null
+++ b/2017/12/09/runners-on-the-spot/terraform.json
@@ -0,0 +1,3298 @@
+{
+ "version": 1,
+ "width": 166,
+ "height": 25,
+ "duration": 161.566453,
+ "command": null,
+ "title": null,
+ "env": {
+ "TERM": "xterm-256color",
+ "SHELL": "/bin/zsh"
+ },
+ "stdout": [
+ [
+ 0.298143,
+ "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r\u001b]2;310230212@MACC02QX17YG8WP-2: ~/projects/play/tf-aws-gitlab-runner2/example\u0007\u001b]1;..nner2/example\u0007"
+ ],
+ [
+ 0.030573,
+ "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mexample\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"
+ ],
+ [
+ 0.000126,
+ "\u001b[?1h\u001b="
+ ],
+ [
+ 2.7e-05,
+ "\u001b[?2004h"
+ ],
+ [
+ 0.983288,
+ "."
+ ],
+ [
+ 0.24811,
+ "\b./"
+ ],
+ [
+ 0.263157,
+ "i"
+ ],
+ [
+ 0.183751,
+ "n"
+ ],
+ [
+ 0.137064,
+ "i"
+ ],
+ [
+ 0.232067,
+ "t"
+ ],
+ [
+ 0.27179,
+ "."
+ ],
+ [
+ 0.15141,
+ "s"
+ ],
+ [
+ 0.168746,
+ "h"
+ ],
+ [
+ 0.183681,
+ "\u001b[?1l\u001b>"
+ ],
+ [
+ 2.5e-05,
+ "\u001b[?2004l\r\r\n"
+ ],
+ [
+ 0.00133,
+ "\u001b]2;./init.sh\u0007\u001b]1;./init.sh\u0007"
+ ],
+ [
+ 0.030779,
+ "Generating public/private rsa key pair.\r\n"
+ ],
+ [
+ 0.078242,
+ "Your identification has been saved in generated/id_rsa.\r\n"
+ ],
+ [
+ 0.000296,
+ "Your public key has been saved in generated/id_rsa.pub.\r\nThe key fingerprint is:\r\nSHA256:x576ikxFrGZKJCHTfYvtjcdzhNMRMZL2nz0qeBqgXTc demo\r\nThe key's randomart image is:\r\n+---[RSA 2048]----+\r\n|o... ..+o |\r\n| o... ..o... |\r\n| . .+ oo+ . |\r\n| o. ooo.+ |\r\n| ..=+SoE. o |\r\n| . *o+=+.oo o |\r\n| o o..+o . . |\r\n| o ..oo . |\r\n| o +=.. |\r\n+----[SHA256]-----+\r\n"
+ ],
+ [
+ 0.002381,
+ "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"
+ ],
+ [
+ 4.8e-05,
+ "\u001b]2;310230212@MACC02QX17YG8WP-2: ~/projects/play/tf-aws-gitlab-runner2/example\u0007\u001b]1;..nner2/example\u0007"
+ ],
+ [
+ 0.029457,
+ "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mexample\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"
+ ],
+ [
+ 5.7e-05,
+ "\u001b[?1h\u001b="
+ ],
+ [
+ 1.5e-05,
+ "\u001b[?2004h"
+ ],
+ [
+ 0.713626,
+ "t"
+ ],
+ [
+ 0.159222,
+ "\bte"
+ ],
+ [
+ 0.192426,
+ "r"
+ ],
+ [
+ 0.247448,
+ "r"
+ ],
+ [
+ 0.224004,
+ "a"
+ ],
+ [
+ 0.328427,
+ "f"
+ ],
+ [
+ 0.160411,
+ "o"
+ ],
+ [
+ 0.463906,
+ "r"
+ ],
+ [
+ 0.167841,
+ "m"
+ ],
+ [
+ 0.128597,
+ " "
+ ],
+ [
+ 0.359424,
+ "i"
+ ],
+ [
+ 0.136188,
+ "n"
+ ],
+ [
+ 0.12821,
+ "i"
+ ],
+ [
+ 0.143667,
+ "t"
+ ],
+ [
+ 0.127341,
+ "\u001b[?1l\u001b>"
+ ],
+ [
+ 2.4e-05,
+ "\u001b[?2004l\r\r\n"
+ ],
+ [
+ 0.00102,
+ "\u001b]2;terraform init\u0007\u001b]1;terraform\u0007"
+ ],
+ [
+ 0.072115,
+ "\u001b[0m\u001b[1mInitializing modules...\u001b[0m\r\n"
+ ],
+ [
+ 0.00036,
+ "- module.vpc\r\n"
+ ],
+ [
+ 0.00237,
+ " Getting source \"git::https://github.com/npalm/tf-aws-vpc.git?ref=1.0.0\"\r\n"
+ ],
+ [
+ 3.002268,
+ "- module.runner\r\n"
+ ],
+ [
+ 6.1e-05,
+ " Getting source \"../\"\r\n"
+ ],
+ [
+ 0.012214,
+ "\r\n"
+ ],
+ [
+ 3.5e-05,
+ "\u001b[0m\u001b[1mInitializing provider plugins...\u001b[0m\r\n"
+ ],
+ [
+ 0.000107,
+ "- Checking for available provider plugins on https://releases.hashicorp.com...\r\n"
+ ],
+ [
+ 0.343638,
+ "- Downloading plugin for provider \"template\" (1.0.0)...\r\n"
+ ],
+ [
+ 2.49139,
+ "- Downloading plugin for provider \"aws\" (1.3.1)...\r\n"
+ ],
+ [
+ 13.943872,
+ "\r\n"
+ ],
+ [
+ 9.4e-05,
+ "\u001b[0m\u001b[1m\u001b[32mTerraform has been successfully initialized!\u001b[0m\u001b[32m\u001b[0m\r\n\u001b[0m\u001b[32m\r\n"
+ ],
+ [
+ 8.5e-05,
+ "You may now begin working with Terraform. Try running \"terraform plan\" to see\r\n"
+ ],
+ [
+ 0.000112,
+ "any changes that are required for your infrastructure. All Terraform commands\r\n"
+ ],
+ [
+ 2e-05,
+ "should now work.\r\n\r\n"
+ ],
+ [
+ 0.000111,
+ "If you ever set or change modules or backend configuration for Terraform,\r\n"
+ ],
+ [
+ 0.000101,
+ "rerun this command to reinitialize your working directory. If you forget, other\r\n"
+ ],
+ [
+ 0.000102,
+ "commands will detect it and remind you to do so if necessary.\u001b[0m\r\n"
+ ],
+ [
+ 0.003753,
+ "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"
+ ],
+ [
+ 0.000122,
+ "\u001b]2;310230212@MACC02QX17YG8WP-2: ~/projects/play/tf-aws-gitlab-runner2/example\u0007"
+ ],
+ [
+ 2.5e-05,
+ "\u001b]1;..nner2/example\u0007"
+ ],
+ [
+ 0.023843,
+ "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mexample\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"
+ ],
+ [
+ 4.3e-05,
+ "\u001b[?1h\u001b="
+ ],
+ [
+ 4.8e-05,
+ "\u001b[?2004h"
+ ],
+ [
+ 0.87196,
+ "t"
+ ],
+ [
+ 0.135767,
+ "\bte"
+ ],
+ [
+ 0.240379,
+ "r"
+ ],
+ [
+ 0.167185,
+ "r"
+ ],
+ [
+ 0.191759,
+ "a"
+ ],
+ [
+ 0.111856,
+ "f"
+ ],
+ [
+ 0.536303,
+ "o"
+ ],
+ [
+ 0.16002,
+ "r"
+ ],
+ [
+ 0.200592,
+ "m"
+ ],
+ [
+ 0.151299,
+ " "
+ ],
+ [
+ 0.176879,
+ "a"
+ ],
+ [
+ 0.311789,
+ "p"
+ ],
+ [
+ 0.896226,
+ "p"
+ ],
+ [
+ 0.247914,
+ "l"
+ ],
+ [
+ 0.199056,
+ "y"
+ ],
+ [
+ 0.16865,
+ "\u001b[?1l\u001b>"
+ ],
+ [
+ 2.5e-05,
+ "\u001b[?2004l\r\r\n"
+ ],
+ [
+ 0.000964,
+ "\u001b]2;terraform apply\u0007\u001b]1;terraform\u0007"
+ ],
+ [
+ 0.512587,
+ "\u001b[0m\u001b[1mdata.template_file.instance_role_trust_policy: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 4.1e-05,
+ "\u001b[0m\u001b[1mdata.template_file.instance_profile: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 0.000119,
+ "\u001b[0m\u001b[1mdata.template_file.logging: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 2.033987,
+ "\u001b[0m\u001b[1mdata.aws_caller_identity.current: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 0.000102,
+ "\u001b[0m\u001b[1mdata.aws_iam_policy_document.policy: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 4.826009,
+ "\r\n"
+ ],
+ [
+ 3.6e-05,
+ "An execution plan has been generated and is shown below.\r\n"
+ ],
+ [
+ 5.9e-05,
+ "Resource actions are indicated with the following symbols:\r\n"
+ ],
+ [
+ 2e-05,
+ " \u001b[32m+\u001b[0m create\r\n"
+ ],
+ [
+ 7.7e-05,
+ " \u001b[36m<=\u001b[0m read (data resources)\r\n\u001b[0m\r\n"
+ ],
+ [
+ 6.2e-05,
+ "Terraform will perform the following actions:\r\n"
+ ],
+ [
+ 1.5e-05,
+ "\r\n"
+ ],
+ [
+ 0.000421,
+ "\u001b[36m \u001b[36m<=\u001b[0m \u001b[36mmodule.runner.data.aws_iam_policy_document.bucket-policy-doc\r\n"
+ ],
+ [
+ 0.000104,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 9.2e-05,
+ " json: \r\n"
+ ],
+ [
+ 9.2e-05,
+ " statement.#: \"1\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " statement.0.actions.#: \"4\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " statement.0.actions.1400860598: \"s3:PutObjectAcl\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " statement.0.actions.2071725391: \"s3:GetObject\"\r\n"
+ ],
+ [
+ 0.000171,
+ " statement.0.actions.2517836488: \"s3:GetObjectAcl\"\r\n"
+ ],
+ [
+ 0.000138,
+ " statement.0.actions.315547055: \"s3:PutObject\"\r\n"
+ ],
+ [
+ 0.000145,
+ " statement.0.effect: \"Allow\"\r\n"
+ ],
+ [
+ 0.000115,
+ " statement.0.principals.#: \"1\"\r\n"
+ ],
+ [
+ 0.000138,
+ " statement.0.principals.~3303760437.identifiers.#: \r\n"
+ ],
+ [
+ 8.4e-05,
+ " statement.0.principals.~3303760437.type: \"AWS\"\r\n"
+ ],
+ [
+ 0.000155,
+ " statement.0.resources.#: \r\n\u001b[0m\r\n"
+ ],
+ [
+ 8.7e-05,
+ "\u001b[0m\u001b[36m \u001b[36m<=\u001b[0m \u001b[36mmodule.runner.data.template_file.gitlab_runner\r\n"
+ ],
+ [
+ 0.000745,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000222,
+ " rendered: \r\n"
+ ],
+ [
+ 0.000676,
+ " template: \"mkdir -p /etc/gitlab-runner\\ncat > /etc/gitlab-runner/config.toml <<- EOF\\n\\n${runners_config}\\n\\nEOF\\n\\ncurl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | bash\\nyum install gitlab-runner-${gitlab_runner_version} -y\\ncurl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && \\\\\\n chmod +x /tmp/docker-machine && \\\\\\n cp /tmp/docker-machine /usr/local/bin/docker-machine && \\\\\\n ln -s /usr/local/bin/docker-machine /usr/bin/docker-machine\\n\\n\\nservice gitlab-runner restart\\nchkconfig gitlab-runner on\\n\"\r\n"
+ ],
+ [
+ 5.1e-05,
+ " vars.%: \r\n\u001b[0m\r\n"
+ ],
+ [
+ 5.9e-05,
+ "\u001b[0m\u001b[36m \u001b[36m<=\u001b[0m \u001b[36mmodule.runner.data.template_file.runners\r\n"
+ ],
+ [
+ 7.8e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 9.6e-05,
+ " rendered: \r\n"
+ ],
+ [
+ 0.001216,
+ " template: \"concurrent = ${runners_concurrent}\\ncheck_interval = 0\\n\\n[[runners]]\\n name = \\\"${runners_name}\\\"\\n url = \\\"${gitlab_url}\\\"\\n token = \\\"${runners_token}\\\"\\n executor = \\\"docker+machine\\\"\\n limit = ${runners_limit}\\n [runners.docker]\\n tls_verify = false\\n image = \\\"docker:17.11.0-ce\\\"\\n privileged = ${runners_privilled}\\n disable_cache = false\\n volumes = [\\\"/cache\\\"]\\n shm_size = 0\\n [runners.cache]\\n Type = \\\"s3\\\"\\n ServerAddress = \\\"s3-${aws_region}.amazonaws.com\\\"\\n AccessKey = \\\"${bucket_user_access_key}\\\"\\n SecretKey = \\\"${bucket_user_secret_key}\\\"\\n BucketName = \\\"${bucket_name}\\\"\\n Insecure = false\\n [runners.machine]\\n IdleCount = ${runners_idle_count}\\n IdleTime = ${runners_idle_time}\\n MachineDriver = \\\"amazonec2\\\"\\n MachineName = \\\"runner-%s\\\"\\n MachineOptions = [\\\"amazonec2-access-key=${runners_access_key}\\\", \\\"amazonec2-secret-key=${runners_secret_key}\\\", \\\"amaz"
+ ],
+ [
+ 5.4e-05,
+ "onec2-instance-type=${runners_instance_type}\\\", \\\"amazonec2-region=${aws_region}\\\", \\\"amazonec2-vpc-id=${runners_vpc_id}\\\", \\\"amazonec2-subnet-id=${runners_subnet_id}\\\", \\\"amazonec2-private-address-only=true\\\", \\\"amazonec2-request-spot-instance=true\\\", \\\"amazonec2-spot-price=${runners_spot_price_bid}\\\", \\\"amazonec2-security-group=${runners_security_group_name}\\\", \\\"amazonec2-tags=environment,${environment}\\\"]\\n OffPeakTimezone = \\\"\\\"\\n OffPeakIdleCount = 0\\n OffPeakIdleTime = 0\\n\"\r\n"
+ ],
+ [
+ 1.1e-05,
+ " vars.%: \r\n\u001b[0m\r\n"
+ ],
+ [
+ 9.7e-05,
+ "\u001b[0m\u001b[36m \u001b[36m<=\u001b[0m \u001b[36mmodule.runner.data.template_file.user_data\r\n"
+ ],
+ [
+ 7.5e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 6.8e-05,
+ " rendered: \r\n"
+ ],
+ [
+ 0.000298,
+ " template: \"#!/bin/bash -ex\\nexec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1\\n\\n\\n# Add current hostname to hosts file\\ntee /etc/hosts <\r\n\u001b[0m\r\n"
+ ],
+ [
+ 0.000106,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_autoscaling_group.gitlab_runner_instance\r\n"
+ ],
+ [
+ 0.000106,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.1e-05,
+ " arn: \r\n"
+ ],
+ [
+ 8e-05,
+ " availability_zones.#: \r\n"
+ ],
+ [
+ 0.000107,
+ " default_cooldown: \r\n"
+ ],
+ [
+ 8e-05,
+ " desired_capacity: \"1\"\r\n"
+ ],
+ [
+ 9.2e-05,
+ " force_delete: \"false\"\r\n"
+ ],
+ [
+ 4.7e-05,
+ " health_check_grace_period: \"0\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " health_check_type: \r\n"
+ ],
+ [
+ 0.00014,
+ " launch_configuration: \"${aws_launch_configuration.gitlab_runner_instance.name}\"\r\n"
+ ],
+ [
+ 8.2e-05,
+ " load_balancers.#: \r\n"
+ ],
+ [
+ 8e-05,
+ " max_size: \"1\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " metrics_granularity: \"1Minute\"\r\n"
+ ],
+ [
+ 7.5e-05,
+ " min_size: \"1\"\r\n"
+ ],
+ [
+ 0.000104,
+ " name: \"ci-as-group\"\r\n"
+ ],
+ [
+ 6.2e-05,
+ " protect_from_scale_in: \"false\"\r\n"
+ ],
+ [
+ 6.6e-05,
+ " tag.#: \"2\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " tag.2093282623.key: \"Environment\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " tag.2093282623.propagate_at_launch: \"true\"\r\n"
+ ],
+ [
+ 4.7e-05,
+ " tag.2093282623.value: \"ci\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " tag.3888051703.key: \"Name\"\r\n"
+ ],
+ [
+ 5.9e-05,
+ " tag.3888051703.propagate_at_launch: \"true\"\r\n"
+ ],
+ [
+ 0.000109,
+ " tag.3888051703.value: \"ci-gitlab-runner\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " target_group_arns.#: \r\n"
+ ],
+ [
+ 9.7e-05,
+ " vpc_zone_identifier.#: \r\n"
+ ],
+ [
+ 9.1e-05,
+ " wait_for_capacity_timeout: \"10m\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 4.9e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_cloudwatch_log_group.environment\r\n"
+ ],
+ [
+ 0.000113,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7e-05,
+ " arn: \r\n"
+ ],
+ [
+ 7e-05,
+ " name: \"ci\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " retention_in_days: \"0\"\r\n"
+ ],
+ [
+ 9.1e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 8e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 0.000101,
+ " tags.Name: \"ci-runners\"\r\n"
+ ],
+ [
+ 1.9e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 0.00012,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_access_key.cache_user\r\n"
+ ],
+ [
+ 6.4e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8e-05,
+ " encrypted_secret: \r\n"
+ ],
+ [
+ 9.1e-05,
+ " key_fingerprint: \r\n"
+ ],
+ [
+ 0.000115,
+ " secret: \r\n"
+ ],
+ [
+ 7e-05,
+ " ses_smtp_password: \r\n"
+ ],
+ [
+ 8e-05,
+ " status: \r\n"
+ ],
+ [
+ 7.9e-05,
+ " user: \"cache_user\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 0.000107,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_access_key.docker_machine_user\r\n"
+ ],
+ [
+ 8.5e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 6.4e-05,
+ " encrypted_secret: \r\n"
+ ],
+ [
+ 9.6e-05,
+ " key_fingerprint: \r\n"
+ ],
+ [
+ 6.7e-05,
+ " secret: \r\n"
+ ],
+ [
+ 5.4e-05,
+ " ses_smtp_password: \r\n"
+ ],
+ [
+ 9e-05,
+ " status: \r\n"
+ ],
+ [
+ 0.000141,
+ " user: \"ci-docker-machine\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 8e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_instance_profile.instance\r\n"
+ ],
+ [
+ 8.6e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.7e-05,
+ " arn: \r\n"
+ ],
+ [
+ 8.6e-05,
+ " create_date: \r\n"
+ ],
+ [
+ 9.4e-05,
+ " name: \"ci-instance-profile\"\r\n"
+ ],
+ [
+ 6.4e-05,
+ " path: \"/\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " role: \"ci-instance-role\"\r\n"
+ ],
+ [
+ 0.000739,
+ " roles.#: \r\n"
+ ],
+ [
+ 9.4e-05,
+ " unique_id: \r\n"
+ ],
+ [
+ 2.2e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 6.5e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_policy.policy\r\n"
+ ],
+ [
+ 0.000103,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 6.9e-05,
+ " arn: \r\n"
+ ],
+ [
+ 6.3e-05,
+ " name: \"ci-policy\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " path: \"/\"\r\n"
+ ],
+ [
+ 0.00025,
+ " policy: \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": \\\"ec2:*\\\",\\n \\\"Resource\\\": \\\"*\\\"\\n }\\n ]\\n}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 1.4e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_policy_attachment.policy\r\n"
+ ],
+ [
+ 7.4e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 6.4e-05,
+ " name: \"ci-policy\"\r\n"
+ ],
+ [
+ 0.000133,
+ " policy_arn: \"${aws_iam_policy.policy.arn}\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " users.#: \"1\"\r\n"
+ ],
+ [
+ 8.2e-05,
+ " users.3928736059: \"ci-docker-machine\"\r\n"
+ ],
+ [
+ 1.3e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 7.2e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_role.instance\r\n"
+ ],
+ [
+ 7.3e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 5.1e-05,
+ " arn: \r\n"
+ ],
+ [
+ 0.000262,
+ " assume_role_policy: \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Principal\\\": {\\n \\\"Service\\\": \\\"ec2.amazonaws.com\\\"\\n },\\n \\\"Action\\\": \\\"sts:AssumeRole\\\"\\n }\\n ]\\n}\\n\"\r\n"
+ ],
+ [
+ 6e-05,
+ " create_date: \r\n"
+ ],
+ [
+ 6.5e-05,
+ " force_detach_policies: \"false\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " name: \"ci-instance-role\"\r\n"
+ ],
+ [
+ 6.9e-05,
+ " path: \"/\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " unique_id: \r\n"
+ ],
+ [
+ 6.9e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 3.4e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_role_policy.instance\r\n"
+ ],
+ [
+ 7.6e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8.6e-05,
+ " name: \"ci-instance-role\"\r\n"
+ ],
+ [
+ 0.000382,
+ " policy: \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"allowLoggingToCloudWatch\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": [\\n \\\"logs:CreateLogGroup\\\",\\n \\\"logs:CreateLogStream\\\",\\n \\\"logs:PutLogEvents\\\",\\n \\\"logs:DescribeLogStreams\\\"\\n ],\\n \\\"Resource\\\": [\\n \\\"arn:aws:logs:*:*:*\\\"\\n ]\\n }\\n ]\\n}\\n\"\r\n"
+ ],
+ [
+ 7.5e-05,
+ " role: \"ci-instance-role\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 7.9e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_user.cache_user\r\n"
+ ],
+ [
+ 7.9e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.1e-05,
+ " arn: \r\n"
+ ],
+ [
+ 8.8e-05,
+ " force_destroy: \"false\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " name: \"cache_user\"\r\n"
+ ],
+ [
+ 5.3e-05,
+ " path: \"/\"\r\n"
+ ],
+ [
+ 8.8e-05,
+ " unique_id: \r\n\u001b[0m\r\n"
+ ],
+ [
+ 5.2e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_iam_user.docker_machine_user\r\n"
+ ],
+ [
+ 9.7e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000109,
+ " arn: \r\n"
+ ],
+ [
+ 0.00014,
+ " force_destroy: \"false\"\r\n"
+ ],
+ [
+ 0.000111,
+ " name: \"ci-docker-machine\"\r\n"
+ ],
+ [
+ 7e-05,
+ " path: \"/\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " unique_id: \r\n\u001b[0m\r\n"
+ ],
+ [
+ 7.6e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_key_pair.key\r\n"
+ ],
+ [
+ 8.5e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 9.5e-05,
+ " fingerprint: \r\n"
+ ],
+ [
+ 8.2e-05,
+ " key_name: \"ci-gitlab-runner\"\r\n"
+ ],
+ [
+ 0.000378,
+ " public_key: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeJTd8C4+ueCI5JBb9X9fG0zpsZWsMnocRgWJh/YP4aWieWjM6eKSuMeKTrxKses+kEngWsCBSntAjFSBu11Amh6/4/mBP1FAW2bDJ/6NUF6NsHfqnuYr7xOENqLEAe4xugYdgc2G2nzzk6FTC6NvISUr8Z1UYIoomDfAa+sU6AqoPM4B82BQvHBAFt5YpUwM7B7fpTx7v8fuYSHRugtHhLHKqLOoYsVrNU3s3diH8J6e8vApXdy9KFUp/x9LqFdKM7B2jksoeplO/0aMWZVjxqWgeEegrhjDUFnM8EoyNDiiPcCKWxC2rhgPBQ1NoygSoKPzww+qoe/CNPSn/DNxZ demo\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 7.9e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_launch_configuration.gitlab_runner_instance\r\n"
+ ],
+ [
+ 6.6e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.7e-05,
+ " associate_public_ip_address: \"false\"\r\n"
+ ],
+ [
+ 0.000146,
+ " ebs_block_device.#: \r\n"
+ ],
+ [
+ 0.000101,
+ " ebs_optimized: \r\n"
+ ],
+ [
+ 6.1e-05,
+ " enable_monitoring: \"true\"\r\n"
+ ],
+ [
+ 9.6e-05,
+ " iam_instance_profile: \"ci-instance-profile\"\r\n"
+ ],
+ [
+ 0.000101,
+ " image_id: \"ami-acd005d5\"\r\n"
+ ],
+ [
+ 7e-05,
+ " instance_type: \"t2.micro\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " key_name: \"ci-gitlab-runner\"\r\n"
+ ],
+ [
+ 9.1e-05,
+ " name: \r\n"
+ ],
+ [
+ 9.2e-05,
+ " root_block_device.#: \r\n"
+ ],
+ [
+ 6.4e-05,
+ " security_groups.#: \r\n"
+ ],
+ [
+ 9.9e-05,
+ " user_data: \"656bca31b5f7cea3181e684bfea743272dcaefca\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 9.2e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_s3_bucket.build_cache\r\n"
+ ],
+ [
+ 0.00012,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 6.2e-05,
+ " acceleration_status: \r\n"
+ ],
+ [
+ 9.4e-05,
+ " acl: \"private\"\r\n"
+ ],
+ [
+ 6.3e-05,
+ " arn: \r\n"
+ ],
+ [
+ 0.000102,
+ " bucket: \"736819507440-gitlab-runner-cache\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " bucket_domain_name: \r\n"
+ ],
+ [
+ 8.1e-05,
+ " force_destroy: \"true\"\r\n"
+ ],
+ [
+ 7.8e-05,
+ " hosted_zone_id: \r\n"
+ ],
+ [
+ 6.5e-05,
+ " lifecycle_rule.#: \"1\"\r\n"
+ ],
+ [
+ 8.6e-05,
+ " lifecycle_rule.0.enabled: \"true\"\r\n"
+ ],
+ [
+ 6.2e-05,
+ " lifecycle_rule.0.expiration.#: \"1\"\r\n"
+ ],
+ [
+ 8e-05,
+ " lifecycle_rule.0.expiration.1918342522.date: \"\"\r\n"
+ ],
+ [
+ 7e-05,
+ " lifecycle_rule.0.expiration.1918342522.days: \"1\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " lifecycle_rule.0.expiration.1918342522.expired_object_delete_marker: \"\"\r\n"
+ ],
+ [
+ 9.3e-05,
+ " lifecycle_rule.0.id: \"clear\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " lifecycle_rule.0.prefix: \"runner/\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " region: \r\n"
+ ],
+ [
+ 8.8e-05,
+ " request_payer: \r\n"
+ ],
+ [
+ 7.9e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " tags.Name: \"Bucket for runner cache\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " versioning.#: \"1\"\r\n"
+ ],
+ [
+ 8.6e-05,
+ " versioning.0.enabled: \"false\"\r\n"
+ ],
+ [
+ 9e-05,
+ " versioning.0.mfa_delete: \"false\"\r\n"
+ ],
+ [
+ 7e-05,
+ " website_domain: \r\n"
+ ],
+ [
+ 9.4e-05,
+ " website_endpoint: \r\n\u001b[0m\r\n"
+ ],
+ [
+ 7.5e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_s3_bucket_policy.bucket-policy\r\n"
+ ],
+ [
+ 0.0001,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 9.4e-05,
+ " bucket: \"${aws_s3_bucket.build_cache.id}\"\r\n"
+ ],
+ [
+ 0.000161,
+ " policy: \"${data.aws_iam_policy_document.bucket-policy-doc.json}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 7.9e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_security_group.docker_machine\r\n"
+ ],
+ [
+ 7.9e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8.2e-05,
+ " description: \"Managed by Terraform\"\r\n"
+ ],
+ [
+ 8.8e-05,
+ " egress.#: \r\n"
+ ],
+ [
+ 0.000188,
+ " ingress.#: \r\n"
+ ],
+ [
+ 9.3e-05,
+ " name: \r\n"
+ ],
+ [
+ 8.8e-05,
+ " name_prefix: \"ci-docker-machine\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " owner_id: \r\n"
+ ],
+ [
+ 8.5e-05,
+ " revoke_rules_on_delete: \"false\"\r\n"
+ ],
+ [
+ 6e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " tags.Name: \"ci-gitlab-sg\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " vpc_id: \"${var.vpc_id}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 5.8e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_security_group.runner\r\n"
+ ],
+ [
+ 7.7e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8.8e-05,
+ " description: \"Managed by Terraform\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " egress.#: \"1\"\r\n"
+ ],
+ [
+ 5.2e-05,
+ " egress.482069346.cidr_blocks.#: \"1\"\r\n"
+ ],
+ [
+ 9e-05,
+ " egress.482069346.cidr_blocks.0: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 5.5e-05,
+ " egress.482069346.description: \"\"\r\n"
+ ],
+ [
+ 7e-05,
+ " egress.482069346.from_port: \"0\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " egress.482069346.ipv6_cidr_blocks.#: \"0\"\r\n"
+ ],
+ [
+ 8.3e-05,
+ " egress.482069346.prefix_list_ids.#: \"0\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " egress.482069346.protocol: \"-1\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " egress.482069346.security_groups.#: \"0\"\r\n"
+ ],
+ [
+ 8.8e-05,
+ " egress.482069346.self: \"false\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " egress.482069346.to_port: \"0\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " ingress.#: \"1\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " ingress.2541437006.cidr_blocks.#: \"1\"\r\n"
+ ],
+ [
+ 0.00011,
+ " ingress.2541437006.cidr_blocks.0: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " ingress.2541437006.description: \"\"\r\n"
+ ],
+ [
+ 6.4e-05,
+ " ingress.2541437006.from_port: \"22\"\r\n"
+ ],
+ [
+ 8.3e-05,
+ " ingress.2541437006.ipv6_cidr_blocks.#: \"0\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " ingress.2541437006.protocol: \"tcp\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " ingress.2541437006.security_groups.#: \"0\"\r\n"
+ ],
+ [
+ 5.2e-05,
+ " ingress.2541437006.self: \"false\"\r\n"
+ ],
+ [
+ 6e-05,
+ " ingress.2541437006.to_port: \"22\"\r\n"
+ ],
+ [
+ 8.3e-05,
+ " name: \r\n"
+ ],
+ [
+ 0.000106,
+ " name_prefix: \"ci-security-group\"\r\n"
+ ],
+ [
+ 9.4e-05,
+ " owner_id: \r\n"
+ ],
+ [
+ 6.4e-05,
+ " revoke_rules_on_delete: \"false\"\r\n"
+ ],
+ [
+ 7.8e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " tags.Name: \"ci-runner-sg\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " vpc_id: \"${var.vpc_id}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 9.3e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_security_group_rule.docker\r\n"
+ ],
+ [
+ 6.9e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8.7e-05,
+ " cidr_blocks.#: \"1\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " cidr_blocks.0: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " from_port: \"2376\"\r\n"
+ ],
+ [
+ 0.000118,
+ " protocol: \"tcp\"\r\n"
+ ],
+ [
+ 0.000177,
+ " security_group_id: \"${aws_security_group.docker_machine.id}\"\r\n"
+ ],
+ [
+ 0.000112,
+ " self: \"false\"\r\n"
+ ],
+ [
+ 0.000103,
+ " source_security_group_id: \r\n"
+ ],
+ [
+ 0.000107,
+ " to_port: \"2376\"\r\n"
+ ],
+ [
+ 0.000115,
+ " type: \"ingress\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 8.7e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_security_group_rule.out_all\r\n"
+ ],
+ [
+ 0.000151,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.5e-05,
+ " cidr_blocks.#: \"1\"\r\n"
+ ],
+ [
+ 0.00013,
+ " cidr_blocks.0: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 9.4e-05,
+ " from_port: \"0\"\r\n"
+ ],
+ [
+ 6.4e-05,
+ " protocol: \"-1\"\r\n"
+ ],
+ [
+ 0.000116,
+ " security_group_id: \"${aws_security_group.docker_machine.id}\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " self: \"false\"\r\n"
+ ],
+ [
+ 0.000114,
+ " source_security_group_id: \r\n"
+ ],
+ [
+ 0.001629,
+ " to_port: \"65535\"\r\n type: \"egress\"\r\n\u001b[0m\r\n\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.runner.aws_security_group_rule.ssh\r\n\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000157,
+ " cidr_blocks.#: \"1\"\r\n"
+ ],
+ [
+ 0.000121,
+ " cidr_blocks.0: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 0.000136,
+ " from_port: \"22\"\r\n"
+ ],
+ [
+ 9.4e-05,
+ " protocol: \"tcp\"\r\n"
+ ],
+ [
+ 0.000134,
+ " security_group_id: \"${aws_security_group.docker_machine.id}\"\r\n"
+ ],
+ [
+ 5.1e-05,
+ " self: \"false\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " source_security_group_id: \r\n"
+ ],
+ [
+ 5.9e-05,
+ " to_port: \"22\"\r\n"
+ ],
+ [
+ 7.4e-05,
+ " type: \"ingress\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 5.2e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_eip.nat\r\n"
+ ],
+ [
+ 7.7e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.6e-05,
+ " allocation_id: \r\n"
+ ],
+ [
+ 5.8e-05,
+ " association_id: \r\n"
+ ],
+ [
+ 6.3e-05,
+ " domain: \r\n"
+ ],
+ [
+ 6.3e-05,
+ " instance: \r\n"
+ ],
+ [
+ 8.6e-05,
+ " network_interface: \r\n"
+ ],
+ [
+ 8.2e-05,
+ " private_ip: \r\n"
+ ],
+ [
+ 0.006634,
+ " public_ip: \r\n"
+ ],
+ [
+ 8e-05,
+ " vpc: \"true\"\r\n\u001b[0m\r\n\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_internet_gateway.internet_gateway\r\n\u001b[0m id: \r\n tags.%: \"2\"\r\n tags.Environment: \"ci\"\r\n tags.Name: \"ci-internet-gateway\"\r\n vpc_id: \"${aws_vpc.vpc.id}\"\r\n\u001b[0m\r\n\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_nat_gateway.nat\r\n\u001b[0m id: \r\n allocation_id: \"${aws_eip.nat.id}\"\r\n network_interface_id: \r\n private_ip: "
+ ],
+ [
+ 3.2e-05,
+ " \r\n public_ip: \r\n"
+ ],
+ [
+ 0.000121,
+ " subnet_id: \"${aws_subnet.public_subnet.0.id}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 5.9e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_route53_zone.local\r\n"
+ ],
+ [
+ 9.8e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000105,
+ " comment: \"ci - route53 - local hosted zone\"\r\n"
+ ],
+ [
+ 0.0001,
+ " force_destroy: \"false\"\r\n"
+ ],
+ [
+ 8.2e-05,
+ " name: \"ci.local\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " name_servers.#: \r\n"
+ ],
+ [
+ 8e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 4.1e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 9e-05,
+ " tags.Name: \"ci-route53-private-hosted-zone\"\r\n"
+ ],
+ [
+ 0.000217,
+ " vpc_id: \"${aws_vpc.vpc.id}\"\r\n vpc_region: \r\n zone_id: \r\n"
+ ],
+ [
+ 1.9e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 5.7e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_route_table.private_routetable\r\n"
+ ],
+ [
+ 6.2e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000134,
+ " propagating_vgws.#: \r\n"
+ ],
+ [
+ 5.4e-05,
+ " route.#: \"1\"\r\n"
+ ],
+ [
+ 8e-05,
+ " route.~2242469439.cidr_block: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 0.000103,
+ " route.~2242469439.egress_only_gateway_id: \"\"\r\n"
+ ],
+ [
+ 9.3e-05,
+ " route.~2242469439.gateway_id: \"\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " route.~2242469439.instance_id: \"\"\r\n"
+ ],
+ [
+ 0.000135,
+ " route.~2242469439.ipv6_cidr_block: \"\"\r\n"
+ ],
+ [
+ 0.000106,
+ " route.~2242469439.nat_gateway_id: \"${aws_nat_gateway.nat.id}\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " route.~2242469439.network_interface_id: \"\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " route.~2242469439.vpc_peering_connection_id: \"\"\r\n"
+ ],
+ [
+ 0.000101,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 0.000115,
+ " tags.Name: \"ci-private-routetable\"\r\n"
+ ],
+ [
+ 9.6e-05,
+ " vpc_id: \"${aws_vpc.vpc.id}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 6.1e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_route_table.public_routetable\r\n"
+ ],
+ [
+ 9.5e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 7.9e-05,
+ " propagating_vgws.#: \r\n"
+ ],
+ [
+ 8.1e-05,
+ " route.#: \"1\"\r\n"
+ ],
+ [
+ 0.000115,
+ " route.~1734352590.cidr_block: \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 4.8e-05,
+ " route.~1734352590.egress_only_gateway_id: \"\"\r\n"
+ ],
+ [
+ 0.000179,
+ " route.~1734352590.gateway_id: \"${aws_internet_gateway.internet_gateway.id}\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " route.~1734352590.instance_id: \"\"\r\n"
+ ],
+ [
+ 0.000276,
+ " route.~1734352590.ipv6_cidr_block: \"\"\r\n"
+ ],
+ [
+ 5.4e-05,
+ " route.~1734352590.nat_gateway_id: \"\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " route.~1734352590.network_interface_id: \"\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " route.~1734352590.vpc_peering_connection_id: \"\"\r\n"
+ ],
+ [
+ 7.4e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 8.3e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 0.000151,
+ " tags.Name: \"ci-public-routetable\"\r\n"
+ ],
+ [
+ 0.000113,
+ " vpc_id: \"${aws_vpc.vpc.id}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 5.7e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_route_table_association.private_routing_table\r\n"
+ ],
+ [
+ 7.8e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000123,
+ " route_table_id: \"${aws_route_table.private_routetable.id}\"\r\n"
+ ],
+ [
+ 0.000115,
+ " subnet_id: \"${element(aws_subnet.private_subnet.*.id, count.index)}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 9.5e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_route_table_association.public_routing_table\r\n"
+ ],
+ [
+ 7.3e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000131,
+ " route_table_id: \"${aws_route_table.public_routetable.id}\"\r\n"
+ ],
+ [
+ 0.000118,
+ " subnet_id: \"${element(aws_subnet.public_subnet.*.id, count.index)}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 6.1e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_subnet.private_subnet\r\n"
+ ],
+ [
+ 8.8e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8.2e-05,
+ " assign_ipv6_address_on_creation: \"false\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " availability_zone: \"eu-west-1a\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " cidr_block: \"10.0.1.0/24\"\r\n"
+ ],
+ [
+ 9.6e-05,
+ " ipv6_cidr_block: \r\n"
+ ],
+ [
+ 7.8e-05,
+ " ipv6_cidr_block_association_id: \r\n"
+ ],
+ [
+ 7.9e-05,
+ " map_public_ip_on_launch: \"false\"\r\n"
+ ],
+ [
+ 6.3e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 9.1e-05,
+ " tags.Name: \"ci-eu-west-1a-private\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " vpc_id: \"${aws_vpc.vpc.id}\"\r\n"
+ ],
+ [
+ 1.3e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 6.3e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_subnet.public_subnet\r\n"
+ ],
+ [
+ 7.7e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 8.4e-05,
+ " assign_ipv6_address_on_creation: \"false\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " availability_zone: \"eu-west-1a\"\r\n"
+ ],
+ [
+ 0.000108,
+ " cidr_block: \"10.0.0.0/24\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " ipv6_cidr_block: \r\n"
+ ],
+ [
+ 7.8e-05,
+ " ipv6_cidr_block_association_id: \r\n"
+ ],
+ [
+ 9.2e-05,
+ " map_public_ip_on_launch: \"false\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 0.000101,
+ " tags.Name: \"ci-eu-west-1a-public\"\r\n"
+ ],
+ [
+ 9.1e-05,
+ " vpc_id: \"${aws_vpc.vpc.id}\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 7.3e-05,
+ "\u001b[0m\u001b[32m \u001b[32m+\u001b[0m \u001b[32mmodule.vpc.aws_vpc.vpc\r\n"
+ ],
+ [
+ 8.9e-05,
+ "\u001b[0m id: \r\n"
+ ],
+ [
+ 0.000103,
+ " assign_generated_ipv6_cidr_block: \"false\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " cidr_block: \"10.0.0.0/16\"\r\n"
+ ],
+ [
+ 8.3e-05,
+ " default_network_acl_id: \r\n"
+ ],
+ [
+ 8.3e-05,
+ " default_route_table_id: \r\n"
+ ],
+ [
+ 9.5e-05,
+ " default_security_group_id: \r\n"
+ ],
+ [
+ 8.4e-05,
+ " dhcp_options_id: \r\n"
+ ],
+ [
+ 7.9e-05,
+ " enable_classiclink: \r\n"
+ ],
+ [
+ 6.6e-05,
+ " enable_classiclink_dns_support: \r\n"
+ ],
+ [
+ 7.2e-05,
+ " enable_dns_hostnames: \"true\"\r\n"
+ ],
+ [
+ 0.000102,
+ " enable_dns_support: \"true\"\r\n"
+ ],
+ [
+ 6.3e-05,
+ " instance_tenancy: \r\n"
+ ],
+ [
+ 9.3e-05,
+ " ipv6_association_id: \r\n"
+ ],
+ [
+ 0.000113,
+ " ipv6_cidr_block: \r\n"
+ ],
+ [
+ 6.3e-05,
+ " main_route_table_id: \r\n"
+ ],
+ [
+ 9.3e-05,
+ " tags.%: \"2\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " tags.Environment: \"ci\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " tags.Name: \"ci-vpc\"\r\n\u001b[0m\r\n"
+ ],
+ [
+ 3.1e-05,
+ "\u001b[0m\r\n"
+ ],
+ [
+ 4.8e-05,
+ "\u001b[0m\u001b[1mPlan:\u001b[0m 31 to add, 0 to change, 0 to destroy.\u001b[0m\r\n\r\n"
+ ],
+ [
+ 4.9e-05,
+ "\u001b[0m\u001b[1mDo you want to perform these actions?\u001b[0m\r\n"
+ ],
+ [
+ 5.2e-05,
+ " Terraform will perform the actions described above.\r\n"
+ ],
+ [
+ 5.1e-05,
+ " Only 'yes' will be accepted to approve.\r\n\r\n"
+ ],
+ [
+ 0.100119,
+ " \u001b[1mEnter a value:\u001b[0m \u001b[0m"
+ ],
+ [
+ 2.036335,
+ "y"
+ ],
+ [
+ 0.76792,
+ "e"
+ ],
+ [
+ 0.215697,
+ "s"
+ ],
+ [
+ 0.104145,
+ "\r\n"
+ ],
+ [
+ 0.00017,
+ "\r\n"
+ ],
+ [
+ 1.448549,
+ "\u001b[0m\u001b[1mmodule.runner.aws_cloudwatch_log_group.environment: Creating...\u001b[0m\r\n arn: \"\" => \"\"\r\n name: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 5.8e-05,
+ " retention_in_days: \"\" => \"0\"\r\n tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 7.4e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 0.000322,
+ " tags.Name: \"\" => \"ci-runners\"\u001b[0m\r\n\u001b[0m\u001b[1mmodule.runner.aws_iam_user.cache_user: Creating...\u001b[0m\r\n arn: \"\" => \"\"\r\n force_destroy: \"\" => \"false\"\r\n name: \"\" => \"cache_user\"\r\n"
+ ],
+ [
+ 3.7e-05,
+ " path: \"\" => \"/\"\r\n"
+ ],
+ [
+ 0.000226,
+ " unique_id: \"\" => \"\"\u001b[0m\r\n\u001b[0m\u001b[1mmodule.runner.aws_iam_user.docker_machine_user: Creating...\u001b[0m\r\n arn: \"\" => \"\"\r\n force_destroy: \"\" => \"false\"\r\n"
+ ],
+ [
+ 8.3e-05,
+ " name: \"\" => \"ci-docker-machine\"\r\n"
+ ],
+ [
+ 2.7e-05,
+ " path: \"\" => \"/\"\r\n"
+ ],
+ [
+ 6.6e-05,
+ " unique_id: \"\" => \"\"\u001b[0m\r\n"
+ ],
+ [
+ 0.000111,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_role.instance: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 2.7e-05,
+ " arn: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000318,
+ " assume_role_policy: \"\" => \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Principal\\\": {\\n \\\"Service\\\": \\\"ec2.amazonaws.com\\\"\\n },\\n \\\"Action\\\": \\\"sts:AssumeRole\\\"\\n }\\n ]\\n}\\n\"\r\n"
+ ],
+ [
+ 2.2e-05,
+ " create_date: \"\" => \"\"\r\n"
+ ],
+ [
+ 8e-05,
+ " force_detach_policies: \"\" => \"false\"\r\n"
+ ],
+ [
+ 8.6e-05,
+ " name: \"\" => \"ci-instance-role\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " path: \"\" => \"/\"\r\n"
+ ],
+ [
+ 2e-05,
+ " unique_id: \"\" => \"\"\u001b[0m\r\n"
+ ],
+ [
+ 7.1e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_policy.policy: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 4.4e-05,
+ " arn: \"\" => \"\"\r\n"
+ ],
+ [
+ 2.3e-05,
+ " name: \"\" => \"ci-policy\"\r\n path: \"\" => \"/\"\r\n"
+ ],
+ [
+ 0.000235,
+ " policy: \"\" => \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": \\\"ec2:*\\\",\\n \\\"Resource\\\": \\\"*\\\"\\n }\\n ]\\n}\"\u001b[0m\r\n"
+ ],
+ [
+ 5.8e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_key_pair.key: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 6.6e-05,
+ " fingerprint: \"\" => \"\"\r\n"
+ ],
+ [
+ 3.4e-05,
+ " key_name: \"\" => \"ci-gitlab-runner\"\r\n"
+ ],
+ [
+ 0.000512,
+ " public_key: \"\" => \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeJTd8C4+ueCI5JBb9X9fG0zpsZWsMnocRgWJh/YP4aWieWjM6eKSuMeKTrxKses+kEngWsCBSntAjFSBu11Amh6/4/mBP1FAW2bDJ/6NUF6NsHfqnuYr7xOENqLEAe4xugYdgc2G2nzzk6FTC6NvISUr8Z1UYIoomDfAa+sU6AqoPM4B82BQvHBAFt5YpUwM7B7fpTx7v8fuYSHRugtHhLHKqLOoYsVrNU3s3diH8J6e8vApXdy9KFUp/x9LqFdKM7B2jksoeplO/0aMWZVjxqWgeEegrhjDUFnM8EoyNDiiPcCKWxC2rhgPBQ1NoygSoKPzww+qoe/CNPSn/DNxZ demo\"\u001b[0m\r\n"
+ ],
+ [
+ 6.2e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_s3_bucket.build_cache: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 7.8e-05,
+ " acceleration_status: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.8e-05,
+ " acl: \"\" => \"private\"\r\n"
+ ],
+ [
+ 0.0001,
+ " arn: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000108,
+ " bucket: \"\" => \"736819507440-gitlab-runner-cache\"\r\n"
+ ],
+ [
+ 0.000116,
+ " bucket_domain_name: \"\" => \"\"\r\n"
+ ],
+ [
+ 4.6e-05,
+ " force_destroy: \"\" => \"true\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " hosted_zone_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.5e-05,
+ " lifecycle_rule.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 7.4e-05,
+ " lifecycle_rule.0.enabled: \"\" => \"true\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " lifecycle_rule.0.expiration.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 0.000112,
+ " lifecycle_rule.0.expiration.1918342522.date: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.1e-05,
+ " lifecycle_rule.0.expiration.1918342522.days: \"\" => \"1\"\r\n"
+ ],
+ [
+ 5.8e-05,
+ " lifecycle_rule.0.expiration.1918342522.expired_object_delete_marker: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " lifecycle_rule.0.id: \"\" => \"clear\"\r\n"
+ ],
+ [
+ 0.000117,
+ " lifecycle_rule.0.prefix: \"\" => \"runner/\"\r\n"
+ ],
+ [
+ 5.3e-05,
+ " region: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " request_payer: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.2e-05,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 9.6e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " tags.Name: \"\" => \"Bucket for runner cache\"\r\n"
+ ],
+ [
+ 8e-05,
+ " versioning.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " versioning.0.enabled: \"\" => \"false\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " versioning.0.mfa_delete: \"\" => \"false\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " website_domain: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " website_endpoint: \"\" => \"\"\u001b[0m\r\n"
+ ],
+ [
+ 0.455763,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_user.cache_user: Creation complete after 0s (ID: cache_user)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.004714,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_user.docker_machine_user: Creation complete after 1s (ID: ci-docker-machine)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.001828,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_access_key.cache_user: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 4.5e-05,
+ " encrypted_secret: \"\" => \"\"\r\n"
+ ],
+ [
+ 3.5e-05,
+ " key_fingerprint: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000114,
+ " secret: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.5e-05,
+ " ses_smtp_password: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000108,
+ " status: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.9e-05,
+ " user: \"\" => \"cache_user\"\u001b[0m\r\n"
+ ],
+ [
+ 0.000131,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_access_key.docker_machine_user: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 7.3e-05,
+ " encrypted_secret: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.0001,
+ " key_fingerprint: \"\" => \"\"\r\n"
+ ],
+ [
+ 1.6e-05,
+ " secret: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.3e-05,
+ " ses_smtp_password: \"\" => \"\"\r\n"
+ ],
+ [
+ 2.8e-05,
+ " status: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.1e-05,
+ " user: \"\" => \"ci-docker-machine\"\u001b[0m\r\n"
+ ],
+ [
+ 0.010665,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_policy.policy: Creation complete after 1s (ID: arn:aws:iam::736819507440:policy/ci-policy)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.003108,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_policy_attachment.policy: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.6e-05,
+ " name: \"\" => \"ci-policy\"\r\n"
+ ],
+ [
+ 0.000173,
+ " policy_arn: \"\" => \"arn:aws:iam::736819507440:policy/ci-policy\"\r\n"
+ ],
+ [
+ 3.3e-05,
+ " users.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 0.000126,
+ " users.3928736059: \"\" => \"ci-docker-machine\"\u001b[0m\r\n"
+ ],
+ [
+ 0.400913,
+ "\u001b[0m\u001b[1mmodule.runner.aws_cloudwatch_log_group.environment: Creation complete after 1s (ID: ci)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.008405,
+ "\u001b[0m\u001b[1mmodule.runner.aws_key_pair.key: Creation complete after 1s (ID: ci-gitlab-runner)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.039404,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_role.instance: Creation complete after 1s (ID: ci-instance-role)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.002268,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_role_policy.instance: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.2e-05,
+ " name: \"\" => \"ci-instance-role\"\r\n"
+ ],
+ [
+ 0.000495,
+ " policy: \"\" => \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"allowLoggingToCloudWatch\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": [\\n \\\"logs:CreateLogGroup\\\",\\n \\\"logs:CreateLogStream\\\",\\n \\\"logs:PutLogEvents\\\",\\n \\\"logs:DescribeLogStreams\\\"\\n ],\\n \\\"Resource\\\": [\\n \\\"arn:aws:logs:*:*:*\\\"\\n ]\\n }\\n ]\\n}\\n\"\r\n"
+ ],
+ [
+ 2.3e-05,
+ " role: \"\" => \"ci-instance-role\"\u001b[0m\r\n"
+ ],
+ [
+ 0.000103,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_instance_profile.instance: Creating...\u001b[0m\r\n arn: \"\" => \"\"\r\n"
+ ],
+ [
+ 3.9e-05,
+ " create_date: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.3e-05,
+ " name: \"\" => \"ci-instance-profile\"\r\n"
+ ],
+ [
+ 4.2e-05,
+ " path: \"\" => \"/\"\r\n"
+ ],
+ [
+ 7.5e-05,
+ " role: \"\" => \"ci-instance-role\"\r\n"
+ ],
+ [
+ 2.4e-05,
+ " roles.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 3.9e-05,
+ " unique_id: \"\" => \"\"\u001b[0m\r\n"
+ ],
+ [
+ 0.008858,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_access_key.cache_user: Creation complete after 0s (ID: AKIAJR525YVKZKBEKP5Q)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.455397,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_role_policy.instance: Creation complete after 0s (ID: ci-instance-role:ci-instance-role)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.017689,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_eip.nat: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.6e-05,
+ " allocation_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 1.8e-05,
+ " association_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " domain: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " instance: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " network_interface: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " private_ip: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.1e-05,
+ " public_ip: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000104,
+ " vpc: \"\" => \"true\"\u001b[0m\r\n"
+ ],
+ [
+ 6.7e-05,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_vpc.vpc: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 7.8e-05,
+ " assign_generated_ipv6_cidr_block: \"\" => \"false\"\r\n"
+ ],
+ [
+ 6.2e-05,
+ " cidr_block: \"\" => \"10.0.0.0/16\"\r\n"
+ ],
+ [
+ 2.6e-05,
+ " default_network_acl_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.3e-05,
+ " default_route_table_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.1e-05,
+ " default_security_group_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.2e-05,
+ " dhcp_options_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.9e-05,
+ " enable_classiclink: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.6e-05,
+ " enable_classiclink_dns_support: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " enable_dns_hostnames: \"\" => \"true\"\r\n"
+ ],
+ [
+ 6.9e-05,
+ " enable_dns_support: \"\" => \"true\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " instance_tenancy: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.8e-05,
+ " ipv6_association_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000102,
+ " ipv6_cidr_block: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.9e-05,
+ " main_route_table_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.1e-05,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 5.1e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 6.4e-05,
+ " tags.Name: \"\" => \"ci-vpc\"\u001b[0m\r\n"
+ ],
+ [
+ 0.003227,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_access_key.docker_machine_user: Creation complete after 0s (ID: AKIAJS47DIIWWCI3JECA)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.414251,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_policy_attachment.policy: Creation complete after 1s (ID: ci-policy)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.022224,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_eip.nat: Creation complete after 1s (ID: eipalloc-9f19eaa2)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.415467,
+ "\u001b[0m\u001b[1mmodule.runner.aws_iam_instance_profile.instance: Creation complete after 1s (ID: ci-instance-profile)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.895676,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_vpc.vpc: Creation complete after 3s (ID: vpc-78cac21f)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.007514,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_internet_gateway.internet_gateway: Creating...\u001b[0m\r\n tags.%: \"0\" => \"2\"\r\n"
+ ],
+ [
+ 4.5e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 0.000269,
+ " tags.Name: \"\" => \"ci-internet-gateway\"\r\n vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n\u001b[0m\u001b[1mmodule.vpc.aws_route53_zone.local: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 0.00015,
+ " comment: \"\" => \"ci - route53 - local hosted zone\"\r\n"
+ ],
+ [
+ 0.000374,
+ " force_destroy: \"\" => \"false\"\r\n name: \"\" => \"ci.local\"\r\n name_servers.#: \"\" => \"\"\r\n tags.%: \"\" => \"2\"\r\n tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 9.4e-05,
+ " tags.Name: \"\" => \"ci-route53-private-hosted-zone\"\r\n"
+ ],
+ [
+ 0.000127,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\r\n vpc_region: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.9e-05,
+ " zone_id: \"\" => \"\"\u001b[0m\r\n"
+ ],
+ [
+ 8.3e-05,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_subnet.public_subnet: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 0.000123,
+ " assign_ipv6_address_on_creation: \"\" => \"false\"\r\n"
+ ],
+ [
+ 0.000132,
+ " availability_zone: \"\" => \"eu-west-1a\"\r\n"
+ ],
+ [
+ 2.2e-05,
+ " cidr_block: \"\" => \"10.0.0.0/24\"\r\n"
+ ],
+ [
+ 0.000117,
+ " ipv6_cidr_block: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000111,
+ " ipv6_cidr_block_association_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " map_public_ip_on_launch: \"\" => \"false\"\r\n"
+ ],
+ [
+ 0.000101,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 5.5e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 4.6e-05,
+ " tags.Name: \"\" => \"ci-eu-west-1a-public\"\r\n"
+ ],
+ [
+ 6.2e-05,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n"
+ ],
+ [
+ 9.5e-05,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_subnet.private_subnet: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 2.5e-05,
+ " assign_ipv6_address_on_creation: \"\" => \"false\"\r\n"
+ ],
+ [
+ 6e-05,
+ " availability_zone: \"\" => \"eu-west-1a\"\r\n"
+ ],
+ [
+ 7.7e-05,
+ " cidr_block: \"\" => \"10.0.1.0/24\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " ipv6_cidr_block: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.9e-05,
+ " ipv6_cidr_block_association_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " map_public_ip_on_launch: \"\" => \"false\"\r\n"
+ ],
+ [
+ 8.2e-05,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 0.000106,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 9.9e-05,
+ " tags.Name: \"\" => \"ci-eu-west-1a-private\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n"
+ ],
+ [
+ 6.4e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group.docker_machine: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 9.4e-05,
+ " description: \"\" => \"Managed by Terraform\"\r\n"
+ ],
+ [
+ 9.8e-05,
+ " egress.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.3e-05,
+ " ingress.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.9e-05,
+ " name: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " name_prefix: \"\" => \"ci-docker-machine\"\r\n"
+ ],
+ [
+ 4.1e-05,
+ " owner_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 4.4e-05,
+ " revoke_rules_on_delete: \"\" => \"false\"\r\n"
+ ],
+ [
+ 4.3e-05,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 4.5e-05,
+ " tags.Name: \"\" => \"ci-gitlab-sg\"\r\n"
+ ],
+ [
+ 4.1e-05,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n"
+ ],
+ [
+ 7.5e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group.runner: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 8.5e-05,
+ " description: \"\" => \"Managed by Terraform\"\r\n"
+ ],
+ [
+ 3.6e-05,
+ " egress.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 9e-05,
+ " egress.482069346.cidr_blocks.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 6.8e-05,
+ " egress.482069346.cidr_blocks.0: \"\" => \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 4.4e-05,
+ " egress.482069346.description: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.8e-05,
+ " egress.482069346.from_port: \"\" => \"0\"\r\n"
+ ],
+ [
+ 6.8e-05,
+ " egress.482069346.ipv6_cidr_blocks.#: \"\" => \"0\"\r\n"
+ ],
+ [
+ 1.9e-05,
+ " egress.482069346.prefix_list_ids.#: \"\" => \"0\"\r\n"
+ ],
+ [
+ 6e-05,
+ " egress.482069346.protocol: \"\" => \"-1\"\r\n"
+ ],
+ [
+ 0.000103,
+ " egress.482069346.security_groups.#: \"\" => \"0\"\r\n"
+ ],
+ [
+ 7.8e-05,
+ " egress.482069346.self: \"\" => \"false\"\r\n"
+ ],
+ [
+ 2e-05,
+ " egress.482069346.to_port: \"\" => \"0\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " ingress.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 5.4e-05,
+ " ingress.2541437006.cidr_blocks.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 4.9e-05,
+ " ingress.2541437006.cidr_blocks.0: \"\" => \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 5.2e-05,
+ " ingress.2541437006.description: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.4e-05,
+ " ingress.2541437006.from_port: \"\" => \"22\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " ingress.2541437006.ipv6_cidr_blocks.#: \"\" => \"0\"\r\n"
+ ],
+ [
+ 4.1e-05,
+ " ingress.2541437006.protocol: \"\" => \"tcp\"\r\n"
+ ],
+ [
+ 3.2e-05,
+ " ingress.2541437006.security_groups.#: \"\" => \"0\"\r\n"
+ ],
+ [
+ 4.8e-05,
+ " ingress.2541437006.self: \"\" => \"false\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " ingress.2541437006.to_port: \"\" => \"22\"\r\n"
+ ],
+ [
+ 3.9e-05,
+ " name: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " name_prefix: \"\" => \"ci-security-group\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " owner_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 2.4e-05,
+ " revoke_rules_on_delete: \"\" => \"false\"\r\n"
+ ],
+ [
+ 6.7e-05,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 4.3e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 5.3e-05,
+ " tags.Name: \"\" => \"ci-runner-sg\"\r\n"
+ ],
+ [
+ 6.7e-05,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n"
+ ],
+ [
+ 0.855854,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_internet_gateway.internet_gateway: Creation complete after 1s (ID: igw-2c24e64b)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.00901,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table.public_routetable: Creating...\u001b[0m\r\n propagating_vgws.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 3.7e-05,
+ " route.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 0.000391,
+ " route.1954215009.cidr_block: \"\" => \"0.0.0.0/0\"\r\n route.1954215009.egress_only_gateway_id: \"\" => \"\"\r\n route.1954215009.gateway_id: \"\" => \"igw-2c24e64b\"\r\n route.1954215009.instance_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.4e-05,
+ " route.1954215009.ipv6_cidr_block: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.2e-05,
+ " route.1954215009.nat_gateway_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000134,
+ " route.1954215009.network_interface_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000139,
+ " route.1954215009.vpc_peering_connection_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000114,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 0.000102,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 0.00011,
+ " tags.Name: \"\" => \"ci-public-routetable\"\r\n"
+ ],
+ [
+ 0.000123,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n"
+ ],
+ [
+ 0.132478,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_subnet.public_subnet: Creation complete after 1s (ID: subnet-ea8bb88d)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.005199,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.9e-05,
+ " allocation_id: \"\" => \"eipalloc-9f19eaa2\"\r\n network_interface_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000122,
+ " private_ip: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.9e-05,
+ " public_ip: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000136,
+ " subnet_id: \"\" => \"subnet-ea8bb88d\"\u001b[0m\r\n"
+ ],
+ [
+ 0.003998,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_subnet.private_subnet: Creation complete after 1s (ID: subnet-fe8ebd99)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.76159,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table.public_routetable: Creation complete after 1s (ID: rtb-b5c788d3)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.006916,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table_association.public_routing_table: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 4.6e-05,
+ " route_table_id: \"\" => \"rtb-b5c788d3\"\r\n"
+ ],
+ [
+ 6.6e-05,
+ " subnet_id: \"\" => \"subnet-ea8bb88d\"\u001b[0m\r\n"
+ ],
+ [
+ 0.193246,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table_association.public_routing_table: Creation complete after 0s (ID: rtbassoc-6e91a017)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.042125,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group.docker_machine: Creation complete after 2s (ID: sg-a9bfd5d2)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.005697,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group.runner: Creation complete after 2s (ID: sg-d5bed4ae)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.002447,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group_rule.ssh: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.6e-05,
+ " cidr_blocks.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 0.000173,
+ " cidr_blocks.0: \"\" => \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 0.000189,
+ " from_port: \"\" => \"22\"\r\n protocol: \"\" => \"tcp\"\r\n"
+ ],
+ [
+ 0.000111,
+ " security_group_id: \"\" => \"sg-a9bfd5d2\"\r\n"
+ ],
+ [
+ 6e-05,
+ " self: \"\" => \"false\"\r\n"
+ ],
+ [
+ 0.000127,
+ " source_security_group_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 1.6e-05,
+ " to_port: \"\" => \"22\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " type: \"\" => \"ingress\"\u001b[0m\r\n"
+ ],
+ [
+ 8.2e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group_rule.docker: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 6.5e-05,
+ " cidr_blocks.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " cidr_blocks.0: \"\" => \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 1.9e-05,
+ " from_port: \"\" => \"2376\"\r\n"
+ ],
+ [
+ 6.8e-05,
+ " protocol: \"\" => \"tcp\"\r\n"
+ ],
+ [
+ 8e-05,
+ " security_group_id: \"\" => \"sg-a9bfd5d2\"\r\n"
+ ],
+ [
+ 4.8e-05,
+ " self: \"\" => \"false\"\r\n"
+ ],
+ [
+ 4.1e-05,
+ " source_security_group_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.1e-05,
+ " to_port: \"\" => \"2376\"\r\n"
+ ],
+ [
+ 5e-05,
+ " type: \"\" => \"ingress\"\u001b[0m\r\n"
+ ],
+ [
+ 9.4e-05,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group_rule.out_all: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.4e-05,
+ " cidr_blocks.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 5.3e-05,
+ " cidr_blocks.0: \"\" => \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 1.3e-05,
+ " from_port: \"\" => \"0\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " protocol: \"\" => \"-1\"\r\n"
+ ],
+ [
+ 2.2e-05,
+ " security_group_id: \"\" => \"sg-a9bfd5d2\"\r\n"
+ ],
+ [
+ 2.8e-05,
+ " self: \"\" => \"false\"\r\n"
+ ],
+ [
+ 6e-05,
+ " source_security_group_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.7e-05,
+ " to_port: \"\" => \"65535\"\r\n"
+ ],
+ [
+ 4.9e-05,
+ " type: \"\" => \"egress\"\u001b[0m\r\n"
+ ],
+ [
+ 0.502618,
+ "\u001b[0m\u001b[1mmodule.runner.aws_s3_bucket.build_cache: Creation complete after 7s (ID: 736819507440-gitlab-runner-cache)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.007373,
+ "\u001b[0m\u001b[1mmodule.runner.data.aws_iam_policy_document.bucket-policy-doc: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 0.000674,
+ "\u001b[0m\u001b[1mmodule.runner.data.template_file.runners: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 0.005768,
+ "\u001b[0m\u001b[1mmodule.runner.aws_s3_bucket_policy.bucket-policy: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 0.000113,
+ " bucket: \"\" => \"736819507440-gitlab-runner-cache\"\r\n"
+ ],
+ [
+ 0.000566,
+ " policy: \"\" => \"{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Sid\\\": \\\"\\\",\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": [\\n \\\"s3:PutObjectAcl\\\",\\n \\\"s3:PutObject\\\",\\n \\\"s3:GetObjectAcl\\\",\\n \\\"s3:GetObject\\\"\\n ],\\n \\\"Resource\\\": \\\"arn:aws:s3:::736819507440-gitlab-runner-cache/*\\\",\\n \\\"Principal\\\": {\\n \\\"AWS\\\": \\\"arn:aws:iam::736819507440:user/cache_user\\\"\\n }\\n }\\n ]\\n}\"\u001b[0m\r\n"
+ ],
+ [
+ 7.5e-05,
+ "\u001b[0m\u001b[1mmodule.runner.data.template_file.gitlab_runner: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 0.002812,
+ "\u001b[0m\u001b[1mmodule.runner.data.template_file.user_data: Refreshing state...\u001b[0m\r\n"
+ ],
+ [
+ 0.005109,
+ "\u001b[0m\u001b[1mmodule.runner.aws_launch_configuration.gitlab_runner_instance: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 4.1e-05,
+ " associate_public_ip_address: \"\" => \"false\"\r\n"
+ ],
+ [
+ 2.2e-05,
+ " ebs_block_device.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000105,
+ " ebs_optimized: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.4e-05,
+ " enable_monitoring: \"\" => \"true\"\r\n"
+ ],
+ [
+ 0.000105,
+ " iam_instance_profile: \"\" => \"ci-instance-profile\"\r\n"
+ ],
+ [
+ 0.00011,
+ " image_id: \"\" => \"ami-acd005d5\"\r\n"
+ ],
+ [
+ 6.7e-05,
+ " instance_type: \"\" => \"t2.micro\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " key_name: \"\" => \"ci-gitlab-runner\"\r\n"
+ ],
+ [
+ 4e-05,
+ " name: \"\" => \"\"\r\n"
+ ],
+ [
+ 4.4e-05,
+ " root_block_device.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 1.5e-05,
+ " security_groups.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 8.1e-05,
+ " security_groups.550399762: \"\" => \"sg-d5bed4ae\"\r\n"
+ ],
+ [
+ 6.8e-05,
+ " user_data: \"\" => \"ef6615797ecbd84d12d0238876427d272083e5d8\"\u001b[0m\r\n"
+ ],
+ [
+ 0.543303,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group_rule.ssh: Creation complete after 1s (ID: sgrule-3374303399)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.631716,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group_rule.docker: Creation complete after 2s (ID: sgrule-1931398212)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.602959,
+ "\u001b[0m\u001b[1mmodule.runner.aws_security_group_rule.out_all: Creation complete after 3s (ID: sgrule-4197548448)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 4.451386,
+ "\u001b[0m\u001b[1mmodule.runner.aws_launch_configuration.gitlab_runner_instance: Creation complete after 6s (ID: terraform-20171205181047949700000003)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.007689,
+ "\u001b[0m\u001b[1mmodule.runner.aws_autoscaling_group.gitlab_runner_instance: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 2.6e-05,
+ " arn: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " default_cooldown: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.5e-05,
+ " desired_capacity: \"\" => \"1\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " force_delete: \"\" => \"false\"\r\n"
+ ],
+ [
+ 5.4e-05,
+ " health_check_grace_period: \"\" => \"0\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " health_check_type: \"\" => \"\"\r\n"
+ ],
+ [
+ 0.000135,
+ " launch_configuration: \"\" => \"terraform-20171205181047949700000003\"\r\n"
+ ],
+ [
+ 9.1e-05,
+ " load_balancers.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 5.2e-05,
+ " max_size: \"\" => \"1\"\r\n"
+ ],
+ [
+ 0.000509,
+ " metrics_granularity: \"\" => \"1Minute\"\r\n"
+ ],
+ [
+ 0.000184,
+ " min_size: \"\" => \"1\"\r\n"
+ ],
+ [
+ 4.2e-05,
+ " name: \"\" => \"ci-as-group\"\r\n"
+ ],
+ [
+ 3.9e-05,
+ " protect_from_scale_in: \"\" => \"false\"\r\n"
+ ],
+ [
+ 6.5e-05,
+ " tag.#: \"\" => \"2\"\r\n"
+ ],
+ [
+ 7e-05,
+ " tag.2093282623.key: \"\" => \"Environment\"\r\n"
+ ],
+ [
+ 5.5e-05,
+ " tag.2093282623.propagate_at_launch: \"\" => \"true\"\r\n"
+ ],
+ [
+ 4.1e-05,
+ " tag.2093282623.value: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 6.1e-05,
+ " tag.3888051703.key: \"\" => \"Name\"\r\n"
+ ],
+ [
+ 4.5e-05,
+ " tag.3888051703.propagate_at_launch: \"\" => \"true\"\r\n"
+ ],
+ [
+ 7.3e-05,
+ " tag.3888051703.value: \"\" => \"ci-gitlab-runner\"\r\n"
+ ],
+ [
+ 7e-05,
+ " target_group_arns.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.6e-05,
+ " vpc_zone_identifier.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 4.2e-05,
+ " vpc_zone_identifier.1441540656: \"\" => \"subnet-fe8ebd99\"\r\n"
+ ],
+ [
+ 2.7e-05,
+ " wait_for_capacity_timeout: \"\" => \"10m\"\u001b[0m\r\n"
+ ],
+ [
+ 1.207876,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route53_zone.local: Still creating... (10s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.008516,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (10s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.225745,
+ "\u001b[0m\u001b[1mmodule.runner.aws_s3_bucket_policy.bucket-policy: Creation complete after 8s (ID: 736819507440-gitlab-runner-cache)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 7.55692,
+ "\u001b[0m\u001b[1mmodule.runner.aws_autoscaling_group.gitlab_runner_instance: Still creating... (10s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.209181,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route53_zone.local: Still creating... (20s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.008267,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (20s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 7.782863,
+ "\u001b[0m\u001b[1mmodule.runner.aws_autoscaling_group.gitlab_runner_instance: Still creating... (20s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.208675,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route53_zone.local: Still creating... (30s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.008613,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (30s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 7.783882,
+ "\u001b[0m\u001b[1mmodule.runner.aws_autoscaling_group.gitlab_runner_instance: Still creating... (30s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.208659,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route53_zone.local: Still creating... (40s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 1.007536,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (40s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.905649,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route53_zone.local: Creation complete after 42s (ID: ZCI70Y7C4GJMP)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 4.62848,
+ "\u001b[0m\u001b[1mmodule.runner.aws_autoscaling_group.gitlab_runner_instance: Creation complete after 38s (ID: ci-as-group)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 4.466875,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (50s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 10.001035,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (1m0s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 10.000069,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (1m10s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 10.000163,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (1m20s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 9.999897,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (1m30s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 9.999986,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Still creating... (1m40s elapsed)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 7.435647,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_nat_gateway.nat: Creation complete after 1m48s (ID: nat-0e711e74291663287)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.009399,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table.private_routetable: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 4.1e-05,
+ " propagating_vgws.#: \"\" => \"\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " route.#: \"\" => \"1\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " route.3455675011.cidr_block: \"\" => \"0.0.0.0/0\"\r\n"
+ ],
+ [
+ 9.5e-05,
+ " route.3455675011.egress_only_gateway_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.9e-05,
+ " route.3455675011.gateway_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7.4e-05,
+ " route.3455675011.instance_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 8e-05,
+ " route.3455675011.ipv6_cidr_block: \"\" => \"\"\r\n"
+ ],
+ [
+ 9.7e-05,
+ " route.3455675011.nat_gateway_id: \"\" => \"nat-0e711e74291663287\"\r\n"
+ ],
+ [
+ 8.4e-05,
+ " route.3455675011.network_interface_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 7e-05,
+ " route.3455675011.vpc_peering_connection_id: \"\" => \"\"\r\n"
+ ],
+ [
+ 6.2e-05,
+ " tags.%: \"\" => \"2\"\r\n"
+ ],
+ [
+ 7.5e-05,
+ " tags.Environment: \"\" => \"ci\"\r\n"
+ ],
+ [
+ 0.000124,
+ " tags.Name: \"\" => \"ci-private-routetable\"\r\n"
+ ],
+ [
+ 8.7e-05,
+ " vpc_id: \"\" => \"vpc-78cac21f\"\u001b[0m\r\n"
+ ],
+ [
+ 0.959691,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table.private_routetable: Creation complete after 1s (ID: rtb-2fc38c49)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.007804,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table_association.private_routing_table: Creating...\u001b[0m\r\n"
+ ],
+ [
+ 3.8e-05,
+ " route_table_id: \"\" => \"rtb-2fc38c49\"\r\n"
+ ],
+ [
+ 2.6e-05,
+ " subnet_id: \"\" => \"subnet-fe8ebd99\"\u001b[0m\r\n"
+ ],
+ [
+ 0.699345,
+ "\u001b[0m\u001b[1mmodule.vpc.aws_route_table_association.private_routing_table: Creation complete after 0s (ID: rtbassoc-5a92a323)\u001b[0m\u001b[0m\r\n"
+ ],
+ [
+ 0.010862,
+ "\u001b[0m\u001b[1m\u001b[32m\r\n"
+ ],
+ [
+ 3.1e-05,
+ "Apply complete! Resources: 31 added, 0 changed, 0 destroyed.\u001b[0m\r\n"
+ ],
+ [
+ 0.010354,
+ "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"
+ ],
+ [
+ 4.3e-05,
+ "\u001b]2;310230212@MACC02QX17YG8WP-2: ~/projects/play/tf-aws-gitlab-runner2/example\u0007"
+ ],
+ [
+ 1.7e-05,
+ "\u001b]1;..nner2/example\u0007"
+ ],
+ [
+ 0.02516,
+ "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mexample\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"
+ ],
+ [
+ 6.7e-05,
+ "\u001b[?1h\u001b="
+ ],
+ [
+ 1.6e-05,
+ "\u001b[?2004h"
+ ],
+ [
+ 3.444445,
+ "\u001b[?2004l\r\r\n"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/static/2018/01/30/microhack-fargate/fargate-ec2.json b/2018/01/30/microhack-fargate/fargate-ec2.json
similarity index 100%
rename from static/2018/01/30/microhack-fargate/fargate-ec2.json
rename to 2018/01/30/microhack-fargate/fargate-ec2.json
diff --git a/static/2018/01/30/microhack-fargate/fargate-terraform-1.json b/2018/01/30/microhack-fargate/fargate-terraform-1.json
similarity index 100%
rename from static/2018/01/30/microhack-fargate/fargate-terraform-1.json
rename to 2018/01/30/microhack-fargate/fargate-terraform-1.json
diff --git a/static/2018/01/30/microhack-fargate/fargate-terraform-2.json b/2018/01/30/microhack-fargate/fargate-terraform-2.json
similarity index 100%
rename from static/2018/01/30/microhack-fargate/fargate-terraform-2.json
rename to 2018/01/30/microhack-fargate/fargate-terraform-2.json
diff --git a/static/2018/01/30/microhack-fargate/fargate-terraform-3.json b/2018/01/30/microhack-fargate/fargate-terraform-3.json
similarity index 100%
rename from static/2018/01/30/microhack-fargate/fargate-terraform-3.json
rename to 2018/01/30/microhack-fargate/fargate-terraform-3.json
diff --git a/static/2018/01/30/microhack-fargate/fargate-terraform-4.json b/2018/01/30/microhack-fargate/fargate-terraform-4.json
similarity index 100%
rename from static/2018/01/30/microhack-fargate/fargate-terraform-4.json
rename to 2018/01/30/microhack-fargate/fargate-terraform-4.json
diff --git a/2018/01/30/microhack-fargate/index.html b/2018/01/30/microhack-fargate/index.html
new file mode 100644
index 00000000..41a84a0b
--- /dev/null
+++ b/2018/01/30/microhack-fargate/index.html
@@ -0,0 +1,530 @@
+MicroHack Fargate | 040code This site runs best with JavaScript enabled. MicroHack Fargate Running serverless containers with Terraform by: niek on 2018-01-30 Last December at the AWS re:invent, AWS announced the new container service platform Fargate. Fargate is integrated to ECS. The key difference is that Fargate does not require you to have EC2 instances running to host your containers, which means we have serverless containers. A drawback is that Fargate is not globally available yet, today Fargate is only available in us-east-1
, see also the list of supported regions. Later in December Fargate also become available in Terraform so time to see how it works.
+
In this post I will show how to deploy containers to Fargate using Terraform. As example docker image I will use the blog itself. The complete example in available on GitHub . First I show how you can deploy a container using Terraform to Fargate. In case you would like to experiment with AWS console instead of Terraform you should be able to execute the same steps direct in AWS. Only the VPC part could be a bit tricky, but even that part can be skipped and replaced with the default VPC. In that case you don’t have private subnets available.
+
Finally I will discuss how a deployment with Fargate in ECS compares to a deployment with EC2 in ECS. And show what steps have to be taken to move the deployment from Fargate to EC2 instances.
+
Prerequisites
+
Before you start you need to have programmatically access to an AWS account and Terraform (0.11+) installed. The tool tfenv let you manage multiple terraform version on your system.
+
Deploy serverless containers on Fargate
+
Before we can create our containers, we have to create a few infrastructural components. For this example we create an own VPC including public and private subnets. An ECS cluster for our containers, and a CloudWatch log group for centralized logging. The diagram below shows an abstract view of the deployment we are going to create, this view contains two in instead of the 3 availability zones we use.
+
+
+
+
+
+
+
+
+
+
+
We start with defining the VPC, we choose us-east-1
since Fargate is only available in this region. In the blog post Coding a VPC in Terraform you find more details about how this VPC module is structured.
+
provider "aws" {
+ region = "us-east-1"
+ version = "1.7.1"
+}
+
+provider "template" {
+ version = "1.0"
+}
+
+module "vpc" {
+ source = "npalm/vpc/aws" // https://registry.terraform.io/modules/npalm/vpc/aws
+ version = "1.1.0"
+
+ environment = "blog"
+ aws_region = "us-east-1"
+
+ create_private_hosted_zone = "false"
+
+ // us-east-1 is the only region that supports Fargate
+ availability_zones = {
+ us-east-1 = ["us-east-1a", "us-east-1b", "us-east-1c"]
+ }
+}
+
+
Next we define the ECS cluster, and CloudWatch log group. Since we will deploy to Fargate we don’t have to attache EC2 instances to our cluster.
+
resource "aws_ecs_cluster" "cluster" {
+ name = "blog-ecs-cluster"
+}
+
+resource "aws_cloudwatch_log_group" "log_group" {
+ name = "blog"
+}
+
Now the first part is defined we execute a terraform apply
and inpect the results.
+
+
+
The next step is to deploy the docker image with the blog. In ECS you deploy a docker container with a task. And your task will be managed by a service. First we create the task definition which contains the container deployment definition as well. Fargate is using awsvpc as networking mode , in this mode each task definiton gets its own private ip address. This network mode requires a role for the task execution. In case you create your definition through the Amazon console a service linked role will be created for you. We will create this role also via code.
+
data "aws_iam_policy_document" "ecs_tasks_execution_role" {
+ statement {
+ actions = ["sts:AssumeRole"]
+
+ principals {
+ type = "Service"
+ identifiers = ["ecs-tasks.amazonaws.com"]
+ }
+ }
+}
+
+resource "aws_iam_role" "ecs_tasks_execution_role" {
+ name = "blog-ecs-task-execution-role"
+ assume_role_policy = "${data.aws_iam_policy_document.ecs_tasks_execution_role.json}"
+}
+
+resource "aws_iam_role_policy_attachment" "ecs_tasks_execution_role" {
+ role = "${aws_iam_role.ecs_tasks_execution_role.name}"
+ policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"
+}
+
+
We have defined the execution rol for the task, next we define the task definion. This task definition consist of two parts. First we define a container definition via a template_file
. In this container definition you see container port 80 is mapped to host port 80, the task will get its own private IP. And after that we define the task definition self. The following settings are required for a task that will run in Fargate: requires_compatibilities, network_mode, cpu and memory.
+
data "template_file" "blog" {
+ template = <<EOF
+ [
+ {
+ "essential": true,
+ "image": "npalm/040code.github.io:latest",
+ "name": "blog",
+ "portMappings": [
+ {
+ "hostPort": 80,
+ "protocol": "tcp",
+ "containerPort": 80
+ }
+ ],
+ "logConfiguration": {
+ "logDriver": "awslogs",
+ "options": {
+ "awslogs-group": "blog",
+ "awslogs-region": "us-east-1",
+ "awslogs-stream-prefix": "040code"
+ }
+ }
+ }
+ ]
+
+ EOF
+}
+
+resource "aws_ecs_task_definition" "task" {
+ family = "blog-blog"
+ container_definitions = "${data.template_file.blog.rendered}"
+ network_mode = "awsvpc"
+ cpu = "256"
+ memory = "512"
+ requires_compatibilities = ["FARGATE"]
+ execution_role_arn = "${aws_iam_role.ecs_tasks_execution_role.arn}"
+}
+
Time to verify the code is working by executing a terraform apply
+
+
+
+
+
+
+
+
+
+
+
+
+
We have still nothing running but you can already see the different parts in de AWS console. We have now a VPC, CloudWatch log group, ECS cluster and task definition available. The next logical step in de AWS console would be to create the service, and find out at the latest step that you need to create a load balancer first. So in code we will define the load balancer first. The load balancer will route traffic via HTTP to the container.
+
resource "aws_security_group" "alb_sg" {
+ name = "blog-blog-alb-sg"
+ vpc_id = "${module.vpc.vpc_id}"
+
+ ingress {
+ protocol = "tcp"
+ from_port = 80
+ to_port = 80
+ cidr_blocks = ["0.0.0.0/0"]
+ }
+
+ egress {
+ from_port = 0
+ to_port = 0
+ protocol = "-1"
+
+ cidr_blocks = ["0.0.0.0/0"]
+ }
+}
+
+resource "aws_alb" "main" {
+ internal = "false"
+ subnets = ["${module.vpc.public_subnets}"]
+ security_groups = ["${aws_security_group.alb_sg.id}"]
+}
+
+resource "aws_alb_listener" "main" {
+ load_balancer_arn = "${aws_alb.main.id}"
+ port = 80
+ protocol = "HTTP"
+
+ default_action {
+ target_group_arn = "${aws_alb_target_group.main.id}"
+ type = "forward"
+ }
+}
+
+
We connect a target group to the load balancer. The same target group will be used later in the service, the service can register itself to the target group with the actual IP address once up and running. For the target group we have to specify the target type ip
and not instance
since containers running in Fargate will get their own IP. Actually this not Fargate but awsvpc
behavior.
+
resource "aws_alb_target_group" "main" {
+ port = "80"
+ protocol = "HTTP"
+ vpc_id = "${module.vpc.vpc_id}"
+ target_type = "ip"
+}
+
+output "blog_url" {
+ value = "http://${aws_alb.main.dns_name}"
+}
+
+
Again we verify our new code by executing a terraform apply
.
+
+
+
We are almost there, next we define the service. A task running in in network mode awsvpc
, requires a service that defines a network configuration. In the networking configuration we define a security group to control access to our containers, and we define the subnets in which the containers are hosted.
+
resource "aws_security_group" "awsvpc_sg" {
+ name = "blog-awsvpc-cluster-sg"
+ vpc_id = "${module.vpc.vpc_id}"
+
+ ingress {
+ protocol = "tcp"
+ from_port = 0
+ to_port = 65535
+
+ cidr_blocks = [
+ "${module.vpc.vpc_cidr}",
+ ]
+ }
+
+ egress {
+ from_port = 0
+ to_port = 65535
+ protocol = "tcp"
+ cidr_blocks = ["0.0.0.0/0"]
+ }
+
+ tags {
+ Name = "blog-ecs-cluster-sg"
+ Environment = "blog"
+ }
+}
+
The last resource to create is the service. In the service we connect the task, load balancer and security group together. By setting the launch type to FARGATE
we tell Amazon to deploy the container to Fargate.
+
+resource "aws_ecs_service" "service" {
+ name = "blog"
+ cluster = "${aws_ecs_cluster.cluster.id}"
+ task_definition = "${aws_ecs_task_definition.task.arn}"
+ desired_count = 1
+
+ load_balancer = {
+ target_group_arn = "${aws_alb_target_group.main.arn}"
+ container_name = "blog"
+ container_port = 80
+ }
+
+ launch_type = "FARGATE"
+
+ network_configuration {
+ security_groups = ["${aws_security_group.awsvpc_sg.id}"]
+ subnets = ["${module.vpc.private_subnets}"]
+ }
+
+ depends_on = ["aws_alb_listener.main"]
+}
+
That is the last part of coding, run terraform apply
and inspect the result.
+
+
+
That is all, we have now our blog running as serverless container in AWS Fargate.
+
+
+
+
+
+
+
+
+
+
+
Mixing EC2 and Fargate on ECS
+
Great we have now our container running in ECS with Fargate but what if we would like to move the container to a dedicated EC2 instances in ECS. Or what if we need that are not available in in Fargate, such as a volume mount? How difficult would it be to move our containers to an ECS cluster with dedicated EC2 instances? Time to do an experiment to see how difficult is is.
+
First we refactor the above code to some generic ecs service modules to be able to define our services with just a few lines of code. This module replaces all code of defining the load balancer, service and task. It still requires a VPC, ECS cluster, CloudWatch logging group, awsvpc security group and execution role. In the code you see a similar deployment of the blog but now with a generic ECS service module.
+
locals {
+ fg_container_name = "blog"
+ fg_container_port = "80"
+}
+
+data "template_file" "blog" {
+ template = "${file("${path.root}/task-definition/blog.json")}"
+
+ vars {
+ container_name = "${local.fg_container_name}"
+ container_port = "${local.fg_container_port}"
+ log_group_name = "${aws_cloudwatch_log_group.log_group.name}"
+ log_group_region = "${var.aws_region}"
+ log_group_prefix = "blog"
+ }
+}
+
+module "blog-fg" {
+ source = "npalm/ecs-service/aws" // https://registry.terraform.io/modules/npalm/ecs-service/aws
+
+ service_launch_type = "FARGATE"
+ service_name = "${local.fg_container_name}"
+
+ vpc_id = "${module.vpc.vpc_id}"
+ vpc_cidr = "${module.vpc.vpc_cidr}"
+ lb_subnetids = "${module.vpc.public_subnets}"
+ ecs_cluster_id = "${aws_ecs_cluster.cluster.id}"
+ lb_internal = false
+
+ task_definition = "${data.template_file.blog.rendered}"
+ task_cpu = "256"
+ task_memory = "512"
+
+ awsvpc_task_execution_role_arn = "${aws_iam_role.ecs_tasks_execution_role.arn}"
+ awsvpc_service_security_groups = ["${aws_security_group.awsvpc_sg.id}"]
+ awsvpc_service_subnetids = "${module.vpc.private_subnets}"
+
+ lb_target_group = {
+ container_name = "${local.fg_container_name}"
+ container_port = "${local.fg_container_port}"
+ }
+
+ lb_listener = {
+ port = 80
+ protocol = "HTTP"
+ }
+}
+
We still have our container not running in ECS on EC2 instances. For that we first have to create EC2 instances that will be attached to the same ECS cluster. For more details about create the EC2 instances see the ecs instance repo on GitHub.
+
locals {
+ key_name = "blog"
+ environment = "dev"
+}
+
+resource "aws_key_pair" "key" {
+ key_name = "${local.key_name}"
+ public_key = "${file("id_rsa")}"
+}
+
+module "ecs_instances" {
+ source = "npalm/ecs-instances/aws" // https://registry.terraform.io/modules/npalm/ecs-instances/aws
+
+ ecs_cluster_name = "${aws_ecs_cluster.cluster.name}"
+ aws_region = "${local.aws_region}"
+ environment = "${local.environment}"
+ key_name = "${local.key_name}"
+ vpc_id = "${module.vpc.vpc_id}"
+ vpc_cidr = "${module.vpc.vpc_cidr}"
+ subnets = "${module.vpc.private_subnets}"
+}
+
Now we have our EC2 instances available we only have to copy the the blog module above and change the launch type to EC2
, and our container will be deployed to a dedicated EC2 instance.
+
+module "blog-ec" {
+ source = "npalm/ecs-service/aws" // https://registry.terraform.io/modules/npalm/ecs-service/aws
+
+ service_launch_type = "FARGATE"
+ service_name = "blog-ec2"
+
+ ... SAME AS ABOVE ...
+}
+
That is all, all sample code is available at GitHub see subdir fargate-ec2
. Time to run a terraform apply
to see if it works.
+
+
+
In the output you will find the two endpoint links to the blogs. After a few minutes both links will be active. You can also see the service running on the Amazon console, simply navigate to the ECS console and select the cluster. You should see now one service on Fargate and the second one on EC2.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2018/02/14/service-discovery-on-aws/index.html b/2018/02/14/service-discovery-on-aws/index.html
new file mode 100644
index 00000000..2a449f44
--- /dev/null
+++ b/2018/02/14/service-discovery-on-aws/index.html
@@ -0,0 +1,218 @@
+Service Discovery on AWS | 040code This site runs best with JavaScript enabled. Service Discovery on AWS Enabling discovery for Spring Cloud on AWS ECS by: niek on 2018-02-14 Last year I wrote a post how to implement service discovery for Spring Boot applications running in Docker containers on AWS ECS. At that time the Amazon ECS agent does not have support to discover the docker exposed ports inside the container. In November 2017 Amazon released a feature in the ECS agent 1.15 to retrieve container meta data in the container. This feature makes the discovery agent obsolete.
+
The problem
+
Looking back to the last years problem. A Spring service running in a container needs its external ip address and port to register to Eureka for service discovery. A service running in a container does not know the external exposed port and docker does not support a way to obtain the port mapping. We could inject the ip address but for the port that would not work. Since the port is unknown at start time. Of course, this in only valid when using random ports. But fixing the port can eventually cause port conflicts. Besides that, you are not able to scale the container on the same host. Therefore, it makes sense to use automatic port assignment.
+
At that time I have solved this problem by adding an agent that can be called via a REST interface to lookup the exposed port based on the container id and internal port. The agent returns the external port, and the service can use this information to register itself to Eureka. This approach worked well but since the ECS agent is now shipped with a feature to retrieve the meta data we do not need longer an extra agent anymore.
+
+
+
+
Solution
+
The approach to register the container to the discovery service remains the same. During container startup, the start script obtains the external ip address, and docker exposed port. The discovered information will be passed to the Spring Boot application using environment variables. At application start the Spring service discovery client uses the environment variables to register the application to Eureka.
+
+
+
+
+
+
+
+
+
+
+
Before we are able retrieve information about the container (in the container) we need to enable the feature on the ECS instance. For more details about this feature see the Amazon documentation . To enable the meta data in the container you need to set ECS_ENABLE_CONTAINER_METADATA
to true
. This can be easily done by adding the line below the user data script.
+
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config
+
Now each created container by ECS on the EC2 instances will have the meta data available in the file assigned to the environment variable ECS_CONTAINER_METADATA_FILE
. An example of the meta data looks like:
+
{
+ "Cluster": "ecs-cluster",
+ "ContainerInstanceARN": "arn:aws:ecs:eu-west-1:1234445678:some-id",
+ "TaskARN": "arn:aws:ecs:eu-west-1:1234445678:some-other-id",
+ "ContainerID": "container-id",
+ "ContainerName": "my-service",
+ "DockerContainerName": "docker-container-name",
+ "ImageID": "image-id",
+ "ImageName": "docker-image",
+ "PortMappings": [
+ {
+ "ContainerPort": 8080,
+ "HostPort": 320001,
+ "BindIp": "0.0.0.0",
+ "Protocol": "tcp"
+ }
+ ],
+ "Networks": [
+ {
+ "NetworkMode": "default",
+ "IPv4Addresses": [
+ "172.17.0.2"
+ ]
+ }
+ ],
+ "MetadataFileStatus": "READY"
+}
+
Next we fetch the ip address and port during container start. The ip address we still get through the standard amazon info endpoint.
+
export EUREKA_INSTANCE_IP_ADDRESS=$(curl --retry 5 --connect-timeout 3 -s 169.254.169.254/latest/meta-data/local-ipv4)
+
We extract the port mapping from the metadata using jq
. We assume the service will run in the container on port 8080. Otherwise you can make this configurable as well.
+
export EUREKE_INSTANCE_NON_SECURE_PORT=$(cat ${ECS_CONTAINER_METADATA_FILE} | jq -c -r ".PortMappings[] | select(.ContainerPort == 8080) | .HostPort")
+
By using the Spring properties as environment variables, we can inject the information to the Spring application. Alternatively, you can use other names and assign the values in the application.yml
file, see the example below.
+
eureka:
+ instance:
+ preferIpAddress: true
+ ip-address: ${EXTERNAL_IP}
+ non-secure-port: ${EXTERNAL_PORT}
+
With this approach the discovery agent becomes obsolete and we can retrieve the information for discovery through standard Amazon features. The example I have described in this post is just one way to implement service discovery in ECS, many alternatives are available.
\ No newline at end of file
diff --git a/2018/03/04/verlet-integration/index.html b/2018/03/04/verlet-integration/index.html
new file mode 100644
index 00000000..542d6b4e
--- /dev/null
+++ b/2018/03/04/verlet-integration/index.html
@@ -0,0 +1,475 @@
+Verlet Integration | 040code This site runs best with JavaScript enabled. Verlet Integration Physics Simulation in Clojure by: maarten on 2018-03-04 Introduction
+
In this post we’re going to dive into physics simulation with Clojure. The
+ideas in this post were mostly inspired by this paper by Thomas
+Jakobsen .
+
My motivations for working on this toy project were:
+
+Experimenting with a very mutable domain in a language with immutability at
+its core
+Having some fun by making a lot happen on screen without writing lots of code
+Coding using emacs & CIDER (The
+C
lojure I
nteractive D
evelopment E
nvironment that R
ocks)
+
+
The source code can be found here .
+The result:
+
+
One main-
to bind them all
+
This code uses the Quil library to render points
+and lines. In the main-
function, the sketch
macro from the Quil library is
+used to bind the physics domain to the UI.
+
( defn -main [ ]
+ ( quil/sketch
+ :host -main
+ :title "Verlet Integration"
+ :size [ width height]
+ :setup setup
+ :update update-state
+ :draw draw
+ :key-pressed key-pressed
+ :mouse-pressed mouse-pressed
+ :mouse-dragged mouse-dragged
+ :mouse-released mouse-released
+ :features [ :exit-on-close ]
+ :middleware [ quil-mw/fun-mode] ) )
+
The sketch macro basically asks the developer to configure which ‘handler
+functions’ it should call when certain events occur. For instance:
+
+a key is pressed -> call key-pressed
+the mouse is pressed -> call mouse-pressed
+the state of your program has to be updated -> call update-state
+it’s time to draw the new state -> call draw
+etc.
+
+
Because I configured Quil to run in functional mode (quil-mw/fun-mode)
, Quil:
+
+Uses the return value from the :setup
function as the initial state
+Passes the state
to each handler function to update it
+Additionally passes a keyboard- and mouse event
argument to keyboard - and
+mouse handler functions.
+
+
The handler function signatures therefore look like this:
+
( defn draw [ state] ...)
+( defn update-state [ state] ...)
+( defn key-pressed [ state event] ...)
+( defn mouse-pressed [ state event] ...)
+
World state
+
What does a snapshot of this world state look like? key-pressed
gives some
+hints:
+
( defn key-pressed
+ [ state event]
+ ( let [ raw-key ( :raw-key event)
+ new-state ( cond
+ ( = \b raw-key) ( load-world ( load-a-file "blocks.edn" ) )
+ ( = \c raw-key) ( load-world ( load-a-file "cloth.edn" ) )
+ ( = \p raw-key) ( load-world ( load-a-file "points.edn" ) )
+ ( = \s raw-key) ( load-world ( load-a-file "sticks.edn" ) )
+ ( = \i raw-key) ( show-info-message )
+ ( = \q raw-key) ( quil/exit )
+ :else state) ]
+ new-state) )
+
So on pressing a key, a certain world is loaded. Let’s look into the ‘sticks’
+world:
+
{ :points { :p0 { :x 10 :y 1 :oldx 0 :oldy 0 }
+ :p1 { :x 100 :y 100 :oldx 100 :oldy 100 }
+ :p2 { :x 0 :y 500 :oldx 0 :oldy 525 }
+ :p3 { :x 25 :y 475 :oldx 0 :oldy 525 }
+ :p4 { :x 250 :y 200 :oldx 250 :oldy 200 :pinned true }
+ :p5 { :x 350 :y 100 :oldx 350 :oldy 100 } }
+ :sticks [ { :links [ :p0 :p1 ] :length 138 }
+ { :links [ :p2 :p3 ] :length 40 }
+ { :links [ :p4 :p5 ] :length 140 } ] }
+
Nothing special here. Just a map containing :points
and :sticks
. We’ll dive
+into the particulars of points and sticks soon.
+
Physics Simulation
+
This physics simulation deals with Points, and Sticks connecting Points. The
+Points are the things that seem to have direction and speed, are influenced by
+gravity and lose speed because of friction or because of bouncing against world
+borders. The Sticks try to keep their 2 Points apart according to the configured
+Stick length. The simulation loop boils down to:
+
+Update Points
+Apply Stick constraints
+Apply world constraints
+
+
In code:
+
( defn update-state
+ [ state]
+ ( ->> state
+ ( update-points )
+ ( apply-stick-constraints )
+ ( apply-world-constraints ) ) )
+
This code can be read like this: ‘with state
, first update-points
, then
+apply-stick-constraints
, and finally apply-world-constrains
‘.
+
Points
+
Points are the main abstraction in this code. I decided to use a record to name
+them:
+
( defrecord Point [ x y oldx oldy pinned] )
+
A Point stores its current coordinates and the coordinates it had in the
+previous world state. On top of that it has a pinned
property which indicates
+if a Point is pinned in space and - as a result - stays on the same coordinate.
+A pinned Point can be unpinned by clicking it with the mouse pointer.
+
The update-point
function calculates the velocity of the Point and adds some
+gravity in the mix:
+
( defn update-point
+ [ { :keys [ x y oldx oldy pinned] :as point} ]
+ ( if pinned
+ point
+ ( let [ vx ( velocity x oldx)
+ vy ( velocity y oldy) ]
+ ( ->Point ( + x vx) ( + y vy gravity) x y pinned) ) ) )
+
Reading superficially, this code says: if the Point is pinned then return the
+same Point. Otherwise, calculate it’s velocity (based on the current - and
+previous x & y coordinates), add some gravity in the y direction and return the
+newly calculated Point.
+
The function uses
+destructuring to name all
+the arguments of the incoming Point. With destructuring, you can bind the
+values in a data structure without explicitly querying the data structure. So
+instead of getting each and every value out of Point and binding it to a ‘new’
+name…
+
( let [ x ( :x point)
+ y ( :y point)
+ oldx ( :oldx point)
+ oldy ( :oldy point)
+ pinned ( :pinned point) ]
+ ...)
+
… you can very effectively tell the function that it will receive a map {}
+with keys x y oldx oldy pinned
and that this function should have those
+variables available under the same name:
+
[ { :keys [ x y oldx oldy pinned] :as point} ]
+
The code in my repository has some additional type hints, because I wanted the
+simulation to run smooth on my laptop and wanted to learn a bit more about type
+hinting and compiler optimizations.
+
And that’s it with regard to Points. In a couple of lines of code Points are
+already moving and reacting to gravity in the simulation.
+
World constraints
+
It’s time for Points to meet the harsh reality of life. Walls are harder than
+Points and therefore Points should bounce off of them:
+
( defn hit-floor? [ y] ( > y height) )
+( defn hit-ceiling? [ y] ( < y 0 ) )
+( defn hit-left-wall? [ x] ( < x 0 ) )
+( defn hit-right-wall? [ x] ( > x width) )
+
+
+( defn apply-world-constraint
+ [ { :keys [ x y oldx oldy pinned] :as point} ]
+ ( let [ vxb ( * ( velocity x oldx) bounce)
+ vyb ( * ( velocity y oldy) bounce) ]
+ ( cond
+ ( hit-ceiling? y) ( let [ miry ( - oldy) ]
+ ( ->Point ( + oldx vxb) ( + miry ( - vyb) ) oldx miry pinned) )
+ ( hit-floor? y) ( let [ miry ( + height height ( - oldy) ) ]
+ ( ->Point ( + oldx vxb) ( - miry vyb) oldx miry pinned) )
+ ( hit-left-wall? x) ( let [ mirx ( - oldx) ]
+ ( ->Point ( + mirx ( - vxb) ) ( + oldy vyb) mirx oldy pinned) )
+ ( hit-right-wall? x) ( let [ mirx ( + width width ( - oldx) ) ]
+ ( ->Point ( - mirx vxb) ( + oldy vyb) mirx oldy pinned) )
+
+ :else point) ) )
+
To explain what happens here, a picture might help.
+
+
+
+
+
+
+
+
+
+
+
Imagine a Point moved from A to B in the last Point update. This means a Point
+record is persisted with its x
and y
being the coordinates of B and oldx
+and oldy
being the coordinates of A. If a wall line crossed the imaginary line
+A-B, the Point history should be rewritten. In essence, line A-B is mirrored in
+the wall it hits, giving rise to another imaginary line C-D where C mirrors A
+and D mirrors B. The miry
(mirror-y) and mirx
(mirror-x) variables in the
+code contain C coordinates mirroring A coordinates.
+
The simulation will take a little velocity loss into account when bouncing at
+walls. Therefore, D’ is calculated by using the x and y velocities (vx and vy)
+multiplied by a bounce factor (leading to the vxb
and vyb
variables in the
+code).
+
When the world state is drawn, the Point will fly off in exactly the right
+direction. Additionally, because of the history rewrite, subsequent Point
+updates will keep moving the Point in the right direction.
+
The picture shows the situation when hitting the ceiling. Hitting the floor and
+the walls works similar. And that’s all the math and code you need to simulate
+Points moving in a bounded space. Now let’s add Sticks to the simulation.
+
Stick constraints
+
Not only walls are restricting Points from free movement; Sticks also constrain
+them. A Stick connects 2 Points and has a configured length. The goal of the
+Stick constraint is to move the Points at the end of the Stick to the configured
+length of the Stick.
+
+
+
+
+
+
+
+
+
+
+
Instead of trying to calculate the solution that satisfies all Stick constraints
+at once, this code simply looks at one Stick at a time and ‘solves’ the
+constraint problem by repeatedly solving Stick constraints in isolation.
+
( defn apply-stick-constraint
+ [ { length :length :as stick}
+ { p0x :x p0y :y oldp0x :oldx oldp0y :oldy pinp0 :pinned :as p0}
+ { p1x :x p1y :y oldp1x :oldx oldp1y :oldy pinp1 :pinned :as p1} ]
+ ( let [ { :keys [ dx dy distance] } ( distance-map p0 p1)
+ difference ( - length distance)
+ fraction ( / ( / difference distance) 2 )
+ offsetX ( * dx fraction)
+ offsetY ( * dy fraction)
+ p0-new ( ->Point ( - p0x offsetX) ( - p0y offsetY) oldp0x oldp0y pinp0)
+ p1-new ( ->Point ( + p1x offsetX) ( + p1y offsetY) oldp1x oldp1y pinp1) ]
+ [ ( if pinp0 p0 p0-new) ( if pinp1 p1 p1-new) ] ) )
+
apply-stick-constraint
takes a Stick and 2 Points (P0 and P1) as arguments.
+These arguments are heavily destructured. To understand what happens precisely,
+the next picture might be helpful:
+
+
+
+
+
+
+
+
+
+
+
Let P0 and P1 be two Points with a Stick S between them. P0 and P1 have already
+been updated by the update-point
function and their new (x,y) coordinates are
+(40,50) and (70,90) respectively. This means:
+
+dx = 30
+dy = 40
+distance = 50
+
+
Since the Stick between P0 and P1 was configured to have a length
of 150, and
+we want P0 and P1 to be adjusted by the same amount, P0 should be located at
+Point S0 (10,10) and P1 should be located at Point S1 (100,130). This is
+exactly what apply-stick-constraint
achieves:
+
+The difference
in the configured length
of the Stick and the distance
of P0
+and P1 is 100
+The fraction
of the distance
between P0 and P1 that needs to be added to
+P0 AND to P1 is 1. So by extending the distance
P0 and P1 with exactly 50
+(distance
times fraction
) in both directions, we’ll solve the Stick
+constraint.
+This is done by using offsetX
on P0x and P1x and using offsetY
on P0y and
+P1y
+
+
Conceptually a scaled helper triangle is used to move P0 and an identical scaled
+helper triangle is used to move P1. The scale of this triangle is determined by
+the fraction
which in this case is 1. These triangles are depicted in red.
+
Each Stick in the world is updated before a new world frame is drawn. It is very
+well possible that the neatly placed P0 and P1 are moved to different
+coordinates by another Stick constraint before the complete update is over. This
+sometimes results in wiggly behavior, although in most cases, the simulation
+is perceived to behave naturally.
+
Drawing
+
Finally, the Points and Sticks have to be drawn on screen:
+
( defn draw
+ [ state]
+ ( quil/background 255 )
+ ( if ( :info-message state)
+ ( quil/text info-message 20 20 )
+ ( do
+ ( doseq [ point ( vals ( :points state) ) ]
+ ( quil/ellipse ( :x point) ( :y point) 7 7 ) )
+ ( doseq [ stick ( :sticks state) ]
+ ( let [ points ( :points state)
+ p0 ( ( first ( :links stick) ) points)
+ p1 ( ( last ( :links stick) ) points) ]
+ ( quil/line ( :x p0) ( :y p0) ( :x p1) ( :y p1) ) ) ) ) ) )
+
Start by clearing the screen. If there is an :info-message
entry in the
+state
, draw the info-message
. Otherwise draw all Points in state
as a
+quil/ellipse and draw all Sticks as a quil/line. And that’s all folks!
+
Conclusion
+
As always, it was a pleasure working with Clojure. It turns out to be easy to
+work in a very mutable domain with mostly pure functions, also thanks to the
+excellent Quil library.
+
My current version of cloc tells me that
+core.clj is 230 lines long, but it counts the function documentation as code.
+Therefore, I ran a new cloc
command without the doc strings. It then counts
+159 lines of clojure, approximately half of which are dedicated to UI
+interaction and the other half to physics simulation. Not bad at all!
+
I’m glad I decided to ‘bite the bullet’ and learn Emacs and CIDER. I now use
+Emacs for all my Clojure(script) development. In addition, I use Emacs for most
+of my text editing these days including writing and planning.
+
I’d like to thank Michiel Borkent a.k.a.
+@borkdude for reviewing an earlier version of
+the code and giving me very helpful feedback. Faults and not-so-idiomatic
+Clojure code remaining are my own.
+
Please share your comments, suggestions and thoughts about this blog post on
+twitter.com/mmz_ . Thanks for reading and Happy
+Coding!
+
Links
+
\ No newline at end of file
diff --git a/2018/05/26/immutable-infrastructure-taipei/index.html b/2018/05/26/immutable-infrastructure-taipei/index.html
new file mode 100644
index 00000000..7a58f941
--- /dev/null
+++ b/2018/05/26/immutable-infrastructure-taipei/index.html
@@ -0,0 +1,244 @@
+Immutable Infrastructure | 040code This site runs best with JavaScript enabled. Immutable Infrastructure Cloud Native User Group Taipei by: niek on 2018-05-26 The Docker slogan ‘Build, Ship, and Run’ advertises easy set up of immutable software builds, but it is not always that easy. Setting up immutable builds with Docker is pretty straight forward and shipping is just a matter of pushing the image to a repository. The next step is building the cloud infrastructure to run the containers. In the talk at
+the Cloud Native Meetup in Taipei I have shown how to create an immutable infrastructure on AWS with Terraform. The example belows shows how you can run your micro services in docker containers on AWS.
+
In this talk I briefly touch upon building immutable software. But the main focus of the talk will be on creating an immutable infrastructure. In this talk I will show you how to create an immutable infrastructure on AWS with Terraform. I will use a real world example to explain and show live how easy you can get micro services live on AWS and continuously apply changes to the same cloud environment..
+
Slides
+
Below the slides that I used for the talk, the slides are available as well on
+GitLab . You can easy navigate through the slides with the spacebar.
+
+
+
+
To get started with Terraform the best starting points are:
+
+
Examples
+
Hello World
+
During the talk, I demonstrated a hello world example, see the link above. This examples shows some basics of terraform by creating a ec2 instance and security group to server a simple web application. The example only works in the AWS region eu-west-1
since the AMI used is only available in this region.
+
ECS demo
+
The second example I have shown, is creating an immutable infrastructure to server docker containers. The picture below descibes briefly the enviroment that will be cretaed.
+
+
+
+
+
+
+
+
+
+
+
The example also creates log groups in cloudwatch to capture the logging of the ecs agent and the running containers (services).
+
Setup
+
Before you can start, you need an AWS account with sufficient rights (admin), and you should create a AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
to be able to access your account programmatically.
+
Clone the repository containing the ECS sample terraform code. To create the infrastructure step-by-step you can check out the tags vpc
and ecs
.
+
git clone https://github.com/npalm/tf-ecs-demo.git
+git checkout taipei-vpc
+
You should also have Terraform installed (home brew install terraform
) and
+tfenv to manage your terraform installation. Alternatively use a docker container to run the terraform commands, for example:
+
docker run -it --env-file <AWS_KEYS_FILE> -v $(pwd):/data -w /data \
+ hashicorp/terraform:0.10.4 <terraform command>
+
+
In this example you can swithc the reqion by changing the region variable
+aws_region
to your own choice. Or set the following environment variable: export TF_VAR_aws_region=ap-northeast-1
+for Tokyo.
+
Create network layers (VPC)
+
In the next steps we will create the network layers.
+
First, we initialize and plan our changes.
+
terraform init
+terraform plan
+
Terraform should print on the console that 19 needs to be added and 0 to change or destroyed. Next we apply the change be executing terraform apply
.
+
Add ECS cluster
+
Now we have the network layer created, we will add the ECS cluster. By default the bastion host is disabled, the bastion can be enabled by updating the variable enable_bastion
in the terraform.tfvars
file. Time to plan and apply the new resources for ECS.
+
git checkout taipei-ecs-1
+terraform plan
+terraform apply
+
Once terraform is ready it will print the url of two applications on the console. One application, is a simple micro service that just prints the AWS availabilty zone where it is running, the other is a graphql micro service . It will take a few minutes before the services are available.
+
Adding your own service.
+
Time to have some more fun. Edit the main.tf
and start making changes. Remove all the services, add your own service. By default for each service an application load balancer (ALB) is created. Add for each services that you want to deploy a configuration as below and update the variables as required.
+
module "your-service" {
+ source = "ecs-service"
+
+ service_name = "<service-name>"
+ image_url = "<docker-image>"
+ container_port = <port in the container where the service is listening>
+ desired_count = <number of instances>
+
+ aws_region = "${var.aws_region}"
+ environment = "${var.environment}"
+
+ vpc_id = "${module.vpc.vpc_id}"
+ subnets = "${module.vpc.public_subnets}"
+
+ cluster_id = "${module.ecs-cluster.cluster_id}"
+ ecs_service_role_name = "${module.ecs-cluster.ecs_service_role_name}"
+}
+
Now plan and apply your changes, Terraform will inform you that a few resources will be destroyed (the removed services) and a few will be added.
+
Clean up
+
Once done you can easily clean-up all created resources in AWS, just run terraform destroy
.
+
Serverless containers.
+
Since a few months Amazon support running containers without managing your
+ec2 instances, aka Serverless Containers. This services is called Fargate. I
+have written a blog
+post about
+how to run you containers serveless with terraform. Creating a mix of both
+ways of running of containers is explained as well. Be aware that Fargate is
+still only avaialable in us-east-1
.
+
Have fun!
\ No newline at end of file
diff --git a/2018/08/08/microhack-brew-your-code/index.html b/2018/08/08/microhack-brew-your-code/index.html
new file mode 100644
index 00000000..296c96d0
--- /dev/null
+++ b/2018/08/08/microhack-brew-your-code/index.html
@@ -0,0 +1,226 @@
+Microhack Brew your code | 040code This site runs best with JavaScript enabled. Microhack Brew your code How to create a brew package by: jeroen on 2018-08-08 Working on a Mac made my work a lot more fun. Especially when I was introduced to homebrew , the missing package manager for macOS.
+
MacPorts was fine, but it felt clumsy. Every tool seems to be switched to Homebrew and life was good.. Except when you encounter that one tool you need but is not available in brew…
+
Meet Gits
+
An example of this is the great shell script made by Roy Lines: gits .
+A shell script to share contribution between two git accounts when pair programming.
+
Unfortunately you have to install it by getting a remote bash script and add it in your /usr/local/bin directory with root rights.
+
$ sudo wget https://raw.github.com/roylines/gits/master/gits.sh -O /usr/local/bin/gits
+$ sudo chmod ugo+x /usr/local/bin/gits
+$ gits
+
When I see something like this, it’s another hurdle for using great scripts. It’s a good practice to check these scripts, before putting them into your bash with execution rights. Sometimes, I’m to lazy to do that..
+Also I always tend to forget these scripts, so they are never updated and never removed. Your system becomes a mess.
+
More people did not like that. An issue was raised with a question whether it could be installed with homebrew..
+
+How can it install it on mac? I would prefer to use homebrew.
+
+
Well, let’s help Adam!
+
Create our own tap
+
+
First step is to change the structure of your script so it can be used for brew.
+Scripts need to be in the bin/
directory so that is the first thing we need to do.
+
Simply moving the script to the bin
directory..
+
https://github.com/JeroenKnoops/gits/commit/4de9197fe1e24b751af2a1fe214b4259bf256c49
+
Release the script
+
You have to create a release of your script. You can do that by drafting a new release
+
Once you have a release, we need the SHA-256 checksum of the release to ensure a proper version of the download.
+Browse to the release and copy the name of the tar-file (in our case: https://github.com/JeroenKnoops/gits/archive/0.1.0.tar.gz
)
+
Download the tar and generate the SHA-256.
+
$ wget https://github.com/JeroenKnoops/gits/archive/0.1.0.tar.gz
+$ shasum -a 256 0.1.0.tar.gz
+13b778bf5a7f92285f54179cd88bea4b39f661a3de47a7ff0a84b9aa5d865962 0.1.0.tar.gz
+
We will need this SHA-256 for our formula.
+
+
We have to define the formula. This can be done by creating a repo called homebrew-tap in your own github repo.
+It’s best practice to put some information in the README of this repo about the Formulas which are defined.
+
In our case:
+
## homebrew-tap
+Homebrew tap with formula for installing the following:
+
+- [gits](https://github.com/jeroenknoops/gits)
+
+
+#### Add this tap
+`brew tap jeroenknoops/tap`
+
+
+#### Install
+- gits: `brew install gits`
+
In the /Formula
directory you must create a ruby file with the definition, in our case: gits.rb
+
class Gits < Formula
+ desc "A shell script to share contribution between two git accounts when pair programming."
+ homepage "https://github.com/jeroenknoops/gits"
+ url "https://github.com/JeroenKnoops/gits/archive/0.1.0.tar.gz"
+ version "0.1.0"
+ sha256 "13b778bf5a7f92285f54179cd88bea4b39f661a3de47a7ff0a84b9aa5d865962"
+
+ def install
+ bin.install "bin/gits"
+ end
+end
+
Push the repo to github and we’re ready to go.
+
Test it
+
Now people can use the script by installing it with homebrew.
+It’s still in my private homebrew-tap, so people first have to tap into our private tap.
+
brew tap jeroenknoops/tap
+
After that they can install gits with brew install gits
+
I do not want to tap into someone’s tap
+
To even raise the level of trust of the script / tool and install convenience, you can also put the Formula directly into the homebrew-core . Now people don’t need to tap into someones private tap.
+This will require some extra steps, like adding tests.
+
Brew has a way to test your formula by doing: brew audit --new-formula gits
+
This will show you what you still need to do, before you can submit it to homebrew. You can also find more information on that in the Formula-Cookbook
+
Improvements
+
There are more improvements I should make to release it to homebrew. F.e. add dependencies to git
.
+For now I’m not going to dive into that. Homebrew has good documentation on that: https://docs.brew.sh/Formula-Cookbook
+
Conclusion
+
I really liked the way homebrew is set up. I like the way they name things, like brew
, tap
and bottle
. By adding my own bottle
I’ve learned how homebrew is working and now I even feel more confident in using it. I like the fact that only bottles with tests and with the proper dependencies check can be added in the core homebrew formulas.
+
Homebrew cask
+
Homebrew has another great feature, called homebrew cask . No more: “To install, drag this icon..“. Now you can install tools like atom
or 1password
by simply calling: brew cask install atom
…
+
More info
+
\ No newline at end of file
diff --git a/2018/08/22/maze-generation/index.html b/2018/08/22/maze-generation/index.html
new file mode 100644
index 00000000..1f2fce1a
--- /dev/null
+++ b/2018/08/22/maze-generation/index.html
@@ -0,0 +1,436 @@
+Maze Generation | 040code This site runs best with JavaScript enabled. Maze Generation Generating Mazes from the REPL by: maarten on 2018-08-22 Introduction
+
During my summer holiday, in between long walks and nice food & drinks, I felt
+like writing some code for fun. Unfortunately, I didn’t bring my laptop.
+Luckily, Mike Fikes created a ClojureScript REPL
+for mobile devices to
+write some Clojure(script) without a laptop close at hand.
+
A REPL, or a Read Eval Print Loop, reads your input, evaluates it, prints the
+result and waits for new inputs to read. In the meantime, the code you wrote
+lives in REPL memory. So if I define a function in the REPL, it will be read and
+evaluated and in my next input I can call this function, because it lives in
+REPL space.
+
So, back to this REPL on my phone. Permanently saving work is not possible in
+this REPL, there are no debugging capabilities, no code completion, no test
+runners … just a REPL: 35 characters wide in portrait mode, 79 characters wide
+in landscape mode. To give you an idea of my ‘Integrated Development
+Environment’ and the resulting mazes, I recorded a 30 seconds screen cast:
+
+
At home, I created a gist containing all 70 lines of maze
+code (56
+lines according to the command-line tool cloc). In this blog I’m going to explain
+the concepts and code.
+
Grids, Cells and Neighbours
+
First of all, we’ll need a grid and a coordinate system to point to individual
+cells in the grid. The reason is that most maze generators expect to be able to
+traverse a grid and lookup information about cells and neighbours of cells.
+
A grid can be modeled as a vector of vectors, representing rows and columns:
+
( def grid
+ [ [ 1 2 3 ]
+ [ 4 5 6 ]
+ [ 7 8 9 ] ] )
+
A cell can be pinpointed by its [row col] coordinate which matches perfectly
+with the get-in
function in clojure. This get-in
function is used to find
+items in nested data structures. For instance, (get-in grid [2 1])
will result
+in the value 8
.
+
To find the neighbours of a cell, I created a couple of helper functions:
+
( defn north-of [ [ row col] ] [ ( dec row) col] )
+( defn south-of [ [ row col] ] [ ( inc row) col] )
+( defn west-of [ [ row col] ] [ row ( dec col) ] )
+( defn east-of [ [ row col] ] [ row ( inc col) ] )
+
The function argument is destructured (taken apart and named) and the
+north-of
, south-of
, west-of
or east-of
neighbour coordinate is
+calculated by inc
rementing or dec
rementing the row or column number. For
+instance, (north-of [1 1])
results in the value [0 1]
.
+
Using the juxt
function we can now calculate all neighbours in one go. juxt
+takes a variable number of functions as arguments and returns a new function.
+This new function returns a vector containing the result of applying each
+function to the arguments provided. So for instance ((juxt north-of south-of
+west-of east-of) [1 1])
results in the value [[0 1] [2 1] [1 0] [1 2]]
.
+
Unfortunately, these functions don’t care about the grid. ((juxt north-of
+south-of west-of east-of) [0 0])
will happily return [[-1 0] [1 0] [0 -1] [0
+1]]
containing cell coordinates inside AND outside the grid. Therefore, in
+order to calculate all neighbours in the grid, we need to filter out the
+ones that are not part of the grid. This results in the following neighbours
+function:
+
( defn neighbours [ grid cell]
+ ( filter # ( get-in grid %) ( ( juxt north-of south-of west-of east-of) cell) ) )
+
Mazes and Cells
+
Now working with the grid is easy, let’s move on to the maze. A maze is
+basically a grid, augmented with some information to determine if borders
+between cells are open or closed. That information can be easily stored in the
+cells themselves.
+
I liked the approach Mark
+Bastian
+took: in a cell, simply list the coordinates of neighbours the cell is connected
+to. We can even list the coordinates in a set #{}
, since duplicating neighbour
+coordinates is useless. A 2x2 ‘maze’ with all borders closed looks like this:
+
+
A 2x2 ‘maze’ with an open border between the 2 cells on the left looks like this:
+
[ [ # { [ 1 0 ] } # { } ]
+ [ # { [ 0 0 ] } # { } ] ]
+
The two connected cells reference each other. It would be convenient to have a
+function that updates the grid when a border needs to be removed between 2
+cells:
+
( defn remove-border [ grid c1 c2]
+ ( -> grid
+ ( update-in c1 conj c2)
+ ( update-in c2 conj c1) ) )
+
Maze Generation
+
Now it’s time for the maze generation. Luckily I had a copy of the ‘Mazes for
+Programmers
+book’
+on my phone. Because I like the texture of the mazes coming out of the recursive
+backtracker algorithm, I decided to implement that one.
+
The algorithm can start on any cell on the grid and I decided to start on [0
+0]
every single time. Every cell that is visited by the algorithm is pushed on
+a stack which I have called the backtrackstack
. The cell on top of the stack
+is considered the current cell.
+
From the current cell, a path is created (remove-border
) to a randomly
+selected, previously unvisited neighbour. An unvisited neighbour can easily be
+detected, since it’s simply an empty set #{}
. That previously unvisited cell
+(next
in my code) is also pushed unto the stack. This process repeats
+continuously until a cell is visited that has no unvisited neighbours. At that
+point, that dead-end cell is popped of the stack, making the previous cell the
+current cell. Again, the algorithm will check if this cell has unvisited
+neighbours and will either create a path to that unvisited neighbour or pop
+another cell from the backtrackstack
. This will continue until every cell has
+been visited and the backtrackstack
is empty.
+
( defn find-unvisited-neighbours [ grid cell]
+ ( let [ n ( neighbours grid cell) ]
+ ( filter # ( empty? ( get-in grid %) ) n) ) )
+
+( defn generate-maze [ rows cols]
+ ( loop [ maze ( create-grid rows cols)
+ backtrackstack '( [ 0 0 ] ) ]
+ ( if ( empty? backtrackstack)
+ ( print-maze maze)
+ ( let [ unvn ( find-unvisited-neighbours maze ( first backtrackstack) ) ]
+ ( if ( empty? unvn)
+ ( recur maze ( rest backtrackstack) )
+ ( let [ next ( rand-nth unvn) ]
+ ( recur
+ ( remove-border maze ( first backtrackstack) next)
+ ( conj backtrackstack next) ) ) ) ) ) ) )
+
Fingers crossed:
+
( generate-maze 4 4 )
+
+[ [ # { [ 1 0 ] } # { [ 0 2 ] } # { [ 0 3 ] [ 0 1 ] } # { [ 1 3 ] [ 0 2 ] } ]
+ [ # { [ 0 0 ] [ 2 0 ] } # { [ 2 1 ] [ 1 2 ] } # { [ 1 1 ] [ 1 3 ] } # { [ 2 3 ] [ 0 3 ] [ 1 2 ] } ]
+ [ # { [ 1 0 ] [ 3 0 ] } # { [ 2 2 ] [ 1 1 ] } # { [ 2 1 ] [ 3 2 ] } # { [ 3 3 ] [ 1 3 ] } ]
+ [ # { [ 2 0 ] [ 3 1 ] } # { [ 3 0 ] [ 3 2 ] } # { [ 2 2 ] [ 3 1 ] } # { [ 2 3 ] } ] ]
+
+ ( generate-maze 4 4 )
+
+[ [ # { [ 0 1 ] } # { [ 0 0 ] [ 0 2 ] } # { [ 1 2 ] [ 0 1 ] } # { [ 1 3 ] } ]
+ [ # { [ 1 1 ] [ 2 0 ] } # { [ 1 0 ] [ 1 2 ] } # { [ 1 1 ] [ 0 2 ] } # { [ 2 3 ] [ 0 3 ] } ]
+ [ # { [ 1 0 ] [ 2 1 ] } # { [ 2 0 ] [ 3 1 ] } # { [ 2 3 ] } # { [ 2 2 ] [ 3 3 ] [ 1 3 ] } ]
+ [ # { [ 3 1 ] } # { [ 3 0 ] [ 2 1 ] [ 3 2 ] } # { [ 3 3 ] [ 3 1 ] } # { [ 2 3 ] [ 3 2 ] } ] ]
+
+ ( generate-maze 6 4 )
+
+[ [ # { [ 1 0 ] } # { [ 0 2 ] } # { [ 0 3 ] [ 0 1 ] } # { [ 1 3 ] [ 0 2 ] } ]
+ [ # { [ 0 0 ] [ 2 0 ] } # { [ 2 1 ] [ 1 2 ] } # { [ 1 1 ] [ 1 3 ] } # { [ 2 3 ] [ 0 3 ] [ 1 2 ] } ]
+ [ # { [ 1 0 ] [ 3 0 ] } # { [ 1 1 ] [ 3 1 ] } # { [ 3 2 ] } # { [ 3 3 ] [ 1 3 ] } ]
+ [ # { [ 2 0 ] [ 3 1 ] } # { [ 3 0 ] [ 2 1 ] } # { [ 2 2 ] [ 4 2 ] } # { [ 4 3 ] [ 2 3 ] } ]
+ [ # { [ 4 1 ] [ 5 0 ] } # { [ 4 0 ] } # { [ 4 3 ] [ 5 2 ] [ 3 2 ] } # { [ 3 3 ] [ 4 2 ] } ]
+ [ # { [ 5 1 ] [ 4 0 ] } # { [ 5 2 ] [ 5 0 ] } # { [ 4 2 ] [ 5 3 ] [ 5 1 ] } # { [ 5 2 ] } ] ]
+
Nice! Now the only thing left is printing a more human friendly view of this
+maze.
+
Maze Printing
+
First, the top of the maze is printed:
+
+
Then, for every row the left border is printed |
and 2 passes over the cells
+have to be made. The first pass determines if there should be a border between
+the current cell and its east-of
neighbour, resulting in something like this:
+
+
The second pass over the row adds a +
and then determines if there should be a
+border between the current cell and its south-of
neighbour, for instance
+resulting in this:
+
+---+---+---+---+
+| | |
++---+---+ + +
+
After repeating this for all rows, a maze like this is printed:
+
+---+---+---+---+
+| | |
++---+---+ + +
+| | |
++ + +---+ +
+| | | |
++ +---+ + +
+| | |
++---+---+---+---+
+
The code:
+
( defn east-open-border? [ maze cell]
+ ( contains? ( get-in maze ( east-of cell) ) cell) )
+
+( defn south-open-border? [ maze cell]
+ ( contains? ( get-in maze ( south-of cell) ) cell) )
+
+( defn print-cell-body [ maze cell]
+ ( if ( east-open-border? maze cell)
+ " "
+ " |" ) )
+
+( defn print-cell-bottom [ maze cell]
+ ( if ( south-open-border? maze cell)
+ " +"
+ "---+" ) )
+
+( defn print-maze [ maze]
+ ( let [ result ( atom [ ] )
+ rows ( range ( count maze) )
+ cols ( range ( count ( get-in maze [ 0 ] ) ) ) ]
+ ( swap! result conj "+" ( repeat ( count cols) "---+" ) "\n" )
+ ( doseq [ row rows]
+ ( swap! result conj "|" )
+ ( doseq [ col cols]
+ ( swap! result conj ( print-cell-body maze [ row col] ) ) )
+ ( swap! result conj "\n" "+" )
+ ( doseq [ col cols]
+ ( swap! result conj ( print-cell-bottom maze [ row col] ) ) )
+ ( swap! result conj "\n" ) )
+ ( println ( s/join ( flatten @ result) ) ) ) )
+
Finally, we can print all the mazes we want:
+
( generate-maze 4 4 )
+
++---+---+---+---+
+| | |
++ + + +---+
+| | | |
++ +---+---+ +
+| | | |
++ + + + +
+| | |
++---+---+---+---+
+
+( generate-maze 4 4 )
+
++---+---+---+---+
+| | |
++---+ + + +
+| | | | |
++ + +---+ +
+| | | |
++ +---+ + +
+| |
++---+---+---+---+
+
+( generate-maze 8 18 )
+
++---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+| | | | | | | |
++ + + +---+ + + + + +---+ +---+ + + +---+---+ +
+| | | | | | | | | | | | | |
++ +---+ + + + + +---+---+ + +---+---+---+---+---+ + +
+| | | | | | | | | | |
++---+ + + +---+ + + +---+---+ +---+ + + +---+---+ +
+| | | | | | | | | | | |
++ +---+---+ + + + + + + +---+ +---+ +---+ + + +
+| | | | | | | | | | | | | |
++ +---+---+ + + + +---+ +---+---+---+ + + + + + +
+| | | | | | | | | | | |
++ + +---+---+---+---+ + +---+ + +---+ + +---+ + + +
+| | | | | | | | | | | | |
++ + +---+ +---+ +---+---+ + +---+ + +---+ +---+ + +
+| | | | | |
++---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
Conclusion
+
So there you have it: a maze generator in ~ 30 lines of code with a 30 lines of
+code ascii view on top of it, build with nothing but a REPL on a phone. I really
+enjoyed the puzzle and the small (and large) successes while working in the
+REPL. I hope you enjoyed this recap.
+
I’d like to thanks Mike Fikes for his excellent
+ClojureScript REPL, Mark Bastian for the
+inspiration for the maze data structure, Jamis Buck
+for his lovely ‘Mazes for programmers’ book and Gert
+Goet for reviewing an earlier version of this
+blog. Faults and not-so-idiomatic Clojure code remaining are my own.
+
Back home, I’m happy to be working in Emacs with the excellent Clojure CIDER
+plugin again. Which reminds me that during my holiday I visited a picturesque
+CIDER factory in France. Cheers!
+
+
+
+
+
+
+
+
+
+
+
Please share your comments, suggestions and thoughts about this blog post on
+twitter.com/mmz_ . Thanks for reading and Happy
+Coding!
+
Links
+
+
for mobile devices](https://itunes.apple.com/us/app/replete/id1013465639 )
+
+
code](https://gist.github.com/mmzsource/ee88b93a3829f98fcb6188f2f2162fcf )
+
\ No newline at end of file
diff --git a/2018/09/05/full-stack-fest-2018/index.html b/2018/09/05/full-stack-fest-2018/index.html
new file mode 100644
index 00000000..08822f93
--- /dev/null
+++ b/2018/09/05/full-stack-fest-2018/index.html
@@ -0,0 +1,292 @@
+Full Stack Fest 2018 | 040code This site runs best with JavaScript enabled. Full Stack Fest 2018 Backend days by: jeroen niek on 2018-09-05 Full Stack Fest 2018
+
This week we (Jeroen, Niek, Gertjan, Eric and Kike) are enjoying Full Stack Fest 2018 Barcelona ,
+a week-long full stack development conference with a focus on solving current problems with new & inspiring perspectives.
+
In this quite short blog we just summarizing briefly the talks and our opinion about the talks. We have rated all talks, the rating is subjective as well.
+
This conference is split up in two parts. The first two days were focussed on Frontend development. You can read our post about it here
+
First of all we would like to thank Luca Marchesini for hosting the sessions.
+
Day one
+
Reinvent the social web
+
Rating: ⭐ ⭐ ⭐ ⭐
+
André Staltz (@andrestaltz ) explained the problems we have with the current generation of social networks. Are the realy open, free, innovative? Can we trust and respect people in the network. He explained passionated how we can change the future with decentralized networks such as scuttlebutt .
+
Open Gateway - Decentralized IoT
+
Rating:
+
Kalyan Dikshit (@decode_dev ) presents about the open gateway initiative from Mozilla. Not our topic.
+
Build and deploy a Blockchain web-app with Hyperledger Fabric and Hyperledger Composer
+
Rating: ⭐ ⭐ ⭐
+
Hyperledger is something we’re looking into right now, so this talk was very relevant. Horea Porutiu (@horeaporutiu ) showed the basic things about hyperledger and that’s great for this audience. Great balance between technical information, examples and real applications of the chain. Their work with Brooklyn Roasting Company was a good example how to use the blockchain. It shows an audit trail on your coffee.
+
A Game of Theories: Why languages do what they do
+
Rating: ⭐ ⭐ ⭐ ⭐ ⭐
+
Rae Krantz (@rustbeltrae ) quickly compared the ugly and beauty of Ruby, Python, Go, Clojure, JavaScript, Erlang, Rust and Elixir. Yeah we never will do Clojure and from tomorrow we only do Rust and Elixir. Awesome session. Best quote of the day: “JavaScript was written in the time of Netscape when Java was popular.” :)
+
The Future of ChatBots in the Travel Industry
+
Rating: ⭐ ⭐ ⭐
+
Prabh Simran Singh Baweja
+
Designing a chatbot is not that easy as it sounds. “Book me a hotel for this weekend.” What kind of hotel? Where? Weekend, is it friday and saturnday or is it saturday and sunday? How to combine data in a good way so people are not annoyed. Nice insights on how bookings.com is building these bots.
+Look at his slides
+
Avoiding Digital Bias
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Adam L Smith (@adamleonsmith )
+
In modern worlds we use large datasets to tune our models. This is not without danger. Our datasets are often biased. Good tips on how to test if the models are digitally bias, by changing some of the fields like gender. Never use stock images. Nice example was shown if you google on CTO. This is not a good representation of the world. Enough food for thoughts!
+
Everything I always wanted to know about crypto, but never thought I’d understand
+
Rating: ⭐ ⭐ ⭐
+
Sasha Romijn (@mxsash ) gave a fast introduction to cryptographic basic concepts that every developer should know. Quote: “Export in cypher builder should ring an alarm bell”
+A good overview of the magical world of Crypto. If you want to learn more about this, I would certainly recommend a free coursera course on this topic given by Dan Boneh.
+
Onion adventures: how to use onion services and the Tor network in your web endeavors
+
Rating: ⭐ ⭐ ⭐
+
Respect for Silvia Puglisi (@nopressure ) for giving this talk when she has the flu. Very good to see all the activity around Tor. Important to keep on bringing the message it’s not that obvious to have freedom of speech and expression. /me installing TOR.
+
Everything in sketchnotes..
+
A big shoutout to Christin Westermann (@c16n ) for creating these sketchnotes!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Day 2
+
Observability for Emerging Infra: What Got You Here Won’t Get You There
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Charity Majors (@mipsytipsy ) gave a very good talk on how to look at current systems. In the current era, you cannot simply say: “Our application is up..” What does that mean? What’s up? Move away from the known-unknowns which can be monitored with dashboards, but look at the real problems users experience. Focus on the unknown-unknowns and make sure you can react and analyse your applications fast. Don’t aggregate data, because you will lose important details about problems. Come up with good sampling strategies. Build observability in from day one! Cool shirt, “I test in prod”. Quote: “What is unknown, we must leave uncoded.”
+
Do you need a Service Mesh?
+
Rating: ⭐ ⭐ ⭐ ⭐
+
A great presentation given by Matt Turner (@mt165pro ) about Service Mesh. He demo-ed the principles of Service Mash by using istio.io . He used kubernetes to demo some of the configuration you can setup with only proxy-ing between different services. Very powerful concept. I’m wondering how this can be used in an infrastructure-as-code architecture.
+
HTTP and JSON for your gRPC Services
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Michael Hamrah (@mhamrah ) gRPCed all the things. First feeling was Oh no we go to do again CORBA, and there are similairities between gRPC and CORBA. In this talk Michael explained how you can build high performance application and left the all the plumbing code to the gRPC framweork. Just simply define an interface via IDL and only take care of the real business code. It was also nice to see how you can combine gRPC via rejoiner with GraphQL. Slides are available here
+
Software Engineering - A philosophical activity
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Tom Enden (@tom_enden ): Did you know that Plato invented OOP and the Prototype pattern is inspired by Nominalism which also dates back to Plato. Tom showed the parallels between philosophy and software engineering. According the pragmatic programmer we should learn at least one language every year. Since different languages solved things in different ways. And Tractatus says the limits of my language means the limit of the world. So looking on philosophy we can inspire our selves for new ideas. The slides
+
Take a (Client) Hint!
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Jeremy Wagner (@malchata ) explained nicely the power of client hints. Having a fast internet and reliable internet connection is still not common. For example a survey by Pew Research shows that one-third of American adults do not subscribe to any internet access faster than dial-up at their home. So building responsive clients on slow or unreliable networks still counts. Client hints comes in different types. By opting in (header ACCEPT-CH
) a client can inform that it understands client hints, Device hints enables for example responsive images and netwrok hints can inform the server about the speed of the network of the client. The slides are here available.
+
Lost in transaction? Strategies to deal with (in-)consistency in distributed systems
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Bernd Rücker (@berndruecker ) is a (work-)flow automation enthusiast. He explained the strategies to deal with the temporary inconsistency and how you can convert it to consistency again using the starbucks as example. One can use different approaches to it. Chorography vs orchestration.
+These kind of problems can be solved by using a BPMN product like Camunda. System become complexer every day and this will become a bigger problem everyday. And what should we never forget: Zucchini and idempotency.
+
This talk triggered a lot of thoughts for me personally. This is one of the areas where blockchain might actually solve things. Use smartcontracts to atomically commit transactions all at the same time. Fortunately he already wrote a blog post about the topic. Great speaker!
+Bernd Ruecker’s blog
+
Lightning talks
+
Antiona Librada (@antoniolibrada ) showed us how he improved a complex ci build pipeline which took > 45 minutes to run by using 2 lambdas and Amazon Code Build. The outcome was a more stable, cheaper and faster build pipeline. They increased the number of daily deployments drastically.
+
Peter van der Meulen (@HendrikPetertje ) showed us his terminal. This shows again how important improving your daily workflow is. Some highights: Spotify in Vim, thefuck, circleci-cli, wee-slack. For more info: snippets and projects
+
Aaron Bassett (@aaronbassett ) showed us some amazing (and probably illegal) things about SMS. Here you can find his slides. Really scary.
+
Two nice talks on our power as developers to shape the world. Let’s do this right this time.
+
Cats, The Musical! Algorithmic Song Meow-ification
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Awesome to see how Beth Haubert (@haubertdashery ) passionated hacked her way around to generated a cat meow song from songs using ruby. It was really fun to see, how the program evolved! Especially because at the end, the result was really terrible..
+
Everything in sketchnotes..
+
A big shoutout to Christin Westermann @c16n for creating these sketchnotes!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Read next:
\ No newline at end of file
diff --git a/2018/09/18/full-stack-fest-2018-frontend/index.html b/2018/09/18/full-stack-fest-2018-frontend/index.html
new file mode 100644
index 00000000..de077524
--- /dev/null
+++ b/2018/09/18/full-stack-fest-2018-frontend/index.html
@@ -0,0 +1,276 @@
+Full Stack Fest 2018 | 040code This site runs best with JavaScript enabled. Full Stack Fest 2018 Frontend days by: jeroen niek on 2018-09-18 Full Stack Fest 2018
+
This week we (Jeroen, Niek, Gertjan, Eric and Kike) are enjoying Full Stack Fest 2018 Barcelona ,
+a week-long full stack development conference with a focus on solving current problems with new & inspiring perspectives.
+
This conference is split up in two parts. The first two days were focussed on Backend development. You can read our post about it here
+
In this quite short blog we just summarizing briefly the talks for the second part, the front-end part. It’s our opinion about the talks. We have rated all talks, the rating is subjective as well.
+
First of all we would like to thank Reginald Braithwaite for hosting the sessions.
+
Day one
+
Building peer-to-peer apps with the Beaker Browser
+
rating: ⭐ ⭐ ⭐ ⭐
+
Tara Vancil , during the backend days we already are informed about the lack of freedom is our social networks, and how this could be solved with decentralized social networks. Tara showed that the web has the same problem. Do you remember Geocities? Yepz these sites are gone. And deploying or customizing web apps is still hard. Would it not be great we can fix it just in the browser the app we loved the most. Tara showed how easy you can run, customize and deploy a decentralized web app.
+
To push, or not to push?! - The future of HTTP/2 server push
+
rating: ⭐ ⭐ ⭐ ⭐
+
Patrick Hamann @patrickhamann , resource loading is still hard, performance in the browser is tightly coupled to latency, connection costs are high, and scipt execution is expensive. Patrick explained how to use resources wisely, make a difference between critical resources. resources in the users viewport, and non critical resources. By using preload, push and async push together with a strategy of critical resource a hugh step can be made for a high performing web app. See the slides here
+
+
rating: ⭐ ⭐ ⭐ ⭐
+
Sia Karamalegos , a great talk on performance of the front-end. How much impact does it has on your business. Staggering numbers were shown about AliExpress load time reducing and how that correlates to an increase conversion for new customers.
+Apps become bigger and bigger. Make sure you check your apps on size / speed by using tools like webpagetest.org . Optimize your images. Most of the web are images, but the most expensive bytes are javascript. Prioritize the code your shipping.
+Slides and more info are available.
+
Native JavaScript modules- import {Browsers, NodeJs}; export {production};
+
rating: ⭐ ⭐ ⭐ ⭐
+
Serg Hospodarets , great news for modern JavaScript development. Most browsers now support Native JavaScript modules ESM. This will change our way we are bundling our JavaScript using Webpack, Rollup and other bundlers. It’s also available in node and the extensions is called Micheal Jackson Solution aka .mjs
+Dynamically loading javascript modules in combination with HTTP/2 can save a lot of load time.
+Simular slides
+
Unity + HTML5 = Isomorphic Game Engine?
+
rating: ⭐ ⭐ ⭐ ⭐
+
Lerenzo Malcom @lerenzom , showed how to combine the world of Unity and the browser. Last year A-Frame was a big topic that address the same solution space but Lerenzo showed how to combine Unity in the browser instead of A-Frame. After discussing why unity and not A-Fram he spend attention how to setup bi-directional messaging, and finally gives some WebGL examples. Sorry we are not that AR/VR boys but with this talk Lerenzo did an awesome job, please see the slides (including animations) here
+
State of the Art Web User Interfaces with State Machines
+
rating: ⭐ ⭐ ⭐ ⭐ ⭐
+
David Khourshid (@davidkpiano ), the front end is complex, it is difficult to understand, difficult to read, contain bugs, hard to enhance and new features make it even worse. What if we model our front end as an finite state machine (FSM). Nothing new in Computer Science, states machines are already introduces in “automata theory”, Specifying a the front end action (flow) in a state machine increase the predictability and even make it possible to automate testing. Just calculate you the shortest path via Dijkstra algorithm. David showed his open source framework xstate which is available on GitHub and npm . Slides are are here available
+
A Front-end dev’s hobbyist approach into Machine Learning
+
Susanna Wong , machine Learning is hard. It’s almost impossible to explain this in just one talk. Especially when you combine it with all kind of background information. We were very impressed by the architecture of the buildings, but unfortunately the talk was too much out of our reach.
+
Building a Modern Memex
+
rating: ⭐ ⭐ ⭐ ⭐ ⭐
+
Andrew Louis @hyfen , Imagine you can manage all your data with a single device… An idea that goes back to the 1945 when Vanneva Bush discribed the Memex . Andrew build his own Memex and demo the awesome combination fo all the data he collected over the years. Absolutely crazy to see that he is able to search back in time which podcast he was listing when driving from A to B. To be able to combine all your data from Google, Spotifiy, Maps, Whatsapp and so on, probably you need a complex system. But Andrew handles it all just with Rails, Ember, Electron, Node and Postgres. And how cool it is all open source . Slides are here.
+
Everything in sketchnotes..
+
A big shoutout to Christin Westermann (@c16n ) for creating these sketchnotes!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Day 2
+
Accessibility vs latest Web APIs. Can’t we just get along?
+
rating: ⭐ ⭐
+
Mauricio Palma (@palmaswell ) showed pasionated how important it is to make the web accessible for everyone, also for the ones with a disability. For example, he show cased how to use the Google speech API. A quote to remember from Maricio: “If we use our own abilities as a baseline, we make things that are easy for some people to use, but difficult for everyone.”
+
The Web Authentication API - Imagine a World Without Passwords
+
rating: ⭐ ⭐ ⭐
+
By Suby Raman (@subyraman )
+
Passwords were invented for a good reason. The world has changed and unfortunately, passwords are not sufficiently secure enough anymore. There are a lot of problems attached to the concept of passwords. The Web Authentication API allows us to authenticate our users using public key cryptography. This prevents malicious users to gain access to your data even if they have the public key. Modern computers have dedicated hardware to perform authentication, like touchID, faceID, camera’s, usb-tokens. This can now be used in our webapplications. This is very much in line with what we are want to achieve in our own project . Slides
+
Killing the checkout or: How I learned to stop worrying and love Payment Request
+
rating: ⭐ ⭐ ⭐
+
As member of the W3C Web Payments Working Group, Krystian Czesak (@krystostrerone ), is heavily involved in setting a web standard on Payment Requests. The Response code 402 Payment Required is already there for a long time, but is never implemented. Lots of attempts are made, but none of them succeeded till now.. Currently the checkout procedure on most applications is not so user friendly. The Web Payments is initiated to improve this user experience. All modern browsers support it. All information about you is stored in your browser and not on each page. There’s an API available to use that information, so the user only has to add the information once and it can be used in every application. Chrome even supports Interledger. The presentation has a lot of information how to implement a client for this. See the slides for more info. Slides
+
A Real World PWA
+
Rating: ⭐ ⭐ ⭐ ⭐
+
Zack Argyle, @ZackArgyle stared with the story of Pinterest and what will happen with your uses once you decide to make a blocking page and only support a app. Smoothly continuing with the story how important it is to have a reactive app and what that means. A progressive web app is according to Zack: “A site that utilizes progressive enhancements, meaning that modern browsers will get a better experience than older browsers”. He explained how he used the principle of the 3R’s to build a progressive app. By Reduce, make it light. Use for example the webpack analyzer . Reuse, caching, server workers. Cache via a worker is faster then the browser cache. And Review, measure performance! Slides are available here
+
Purifying Typescript
+
rating: ⭐ ⭐ ⭐ ⭐
+
Timothy Clifford, @timothyclifford . Cool to see that we can do functional programming with JavaScript a language written in 10 days back in 1995 an nowadays the most populair language. We really liked the talk and clear examples how to program functional with TypeScript in JavaScript. Maybe the talk was little to much basic introduction to functional programming, but Timothy succeeds in his mission statement: “Understand how to apply functional programming techniques with TypeScript”. Slides and code are shared via GitHub.
+
Dynamic CSS: Layouts & Beyond
+
rating: ⭐ ⭐ ⭐ ⭐
+
This talk by -Tara Vancil-, I mean Miriam Suzanne (@mirisuzanne ), was really fantastic. She integrated lots of photos from previous talks on the same day. But not only that was remarkable. The knowledge on CSS is outstanding. She showed us the history of how we used to do CSS, from tables to SASS, to flexbox and Houdini. But all of these methods needed some wicked tricks to work in some cases. Now there is something new and this is promising. CSS Grid. This is the future of layouts, so take a look at this. In the slides you will see several examples of how to use it. F.e. https://gridbyexample.com/ and the the Slides .
+
Lightning talks
+
1
+first one: @EleanorClarinet
+Nice corrolation between learning music and learning to code.
+Don’t be a “Mozart pianist”, be a musician
+Don’t be a “React developer”, be an engineer
+
Slides
+
2
+Isac. Rocket fuel for Ember.js and javascript teams.
+Splanky about jazz shows in Smalls NYC.
+
3
+2013 it was already possible to do a lot of reactive stuff with imba.io
+
4
+Robert Nickel about Mob Programming.
+We love Mob Programming, but it’s hard. See slides
+
5
+Andreaverlicchie.eu
+Better navigation in markup
+
6
+Berkay —> Sharing
+How to share components between multiple react projects
+
WebXR, if X = how?
+
rating: ⭐ ⭐
+
Diego González and Indira Knight introduced Extended reality, XR or should we say AR + VR in the browser. Physical and virtual worlds are merging, XR is coming to the browser, and the browser is coming to XR devices. The frameworks ((A-Frame && ThreeJS) || BabylonJS) && WebGl where demoed in the browser, both in a 2d and 3d view. For more details see the slides for more references.
+
Thanks to Codegram
+
We would like to conclude our post with a big applause for codegram , the Full Stack Fest was awesome again. Please never change the single track philosophy. And did we already mentioned the food is the best we ever had on a conference.
+
+ VIDEO
+
Read next:
\ No newline at end of file
diff --git a/static/2019/03/13/git-bisect/git-bisect-1.json b/2019/03/13/git-bisect/git-bisect-1.json
similarity index 100%
rename from static/2019/03/13/git-bisect/git-bisect-1.json
rename to 2019/03/13/git-bisect/git-bisect-1.json
diff --git a/static/2019/03/13/git-bisect/git-bisect-2.json b/2019/03/13/git-bisect/git-bisect-2.json
similarity index 100%
rename from static/2019/03/13/git-bisect/git-bisect-2.json
rename to 2019/03/13/git-bisect/git-bisect-2.json
diff --git a/static/2019/03/13/git-bisect/git-bisect-3.json b/2019/03/13/git-bisect/git-bisect-3.json
similarity index 100%
rename from static/2019/03/13/git-bisect/git-bisect-3.json
rename to 2019/03/13/git-bisect/git-bisect-3.json
diff --git a/2019/03/13/git-bisect/index.html b/2019/03/13/git-bisect/index.html
new file mode 100644
index 00000000..3503d117
--- /dev/null
+++ b/2019/03/13/git-bisect/index.html
@@ -0,0 +1,343 @@
+Git Bisect | 040code This site runs best with JavaScript enabled. Git Bisect Find the bug-introducing commit with Git Bisect by: jeroen on 2019-03-13 I want to tell you a little story about what happened to me a few days ago.
+I went to the office and a colleague of mine was not very happy. This is strange because I work for a very nice company.. What happened? I asked him what was wrong. It turned out that he updated a lot of dependencies and some code for a certain service. And now the SonarQube reporting was not working anymore with a very strange message: HTTP Error 502 Bad gateway..
+
I decided to help him, because we don’t work alone and especially when you’re stuck (and frustrated) at something it’s best to include other human beings.
+
Since there we’re already several commits done I’ve decided to use git bisect
to find the bug-introducing commit.
+
I’ve noticed that it was new to my colleague so let’s write a blog post about it.
+
Prerequisites
+
In order to follow the instructions, you need the following things:
+
+
Rust example
+
The rust-example is very simple. It’s a rust library with four functions namely: add
, substract
, multiply
and division
. By no means this should ever be used in real systems, this repo only exists as example for this blog post. It has 9 commits.
+
$ git log --pretty=format:"%h - %an, %ad : %s"
+4d7f719 - Jeroen Knoops, Sun Aug 12 17:10:07 2018 +0200 : Adds link to blog post on git bisect
+380d12e - Jeroen Knoops, Sun Aug 12 17:09:04 2018 +0200 : Refactors tests in seperate directory
+1ae37e1 - Jeroen Knoops, Sun Aug 12 17:07:32 2018 +0200 : Adds edge cases for division
+0580aec - Jeroen Knoops, Sun Aug 12 17:06:41 2018 +0200 : Adds information on how to run tests and create the documentation
+d619b4d - Jeroen Knoops, Sun Aug 12 17:04:50 2018 +0200 : Adds function 'division'
+abc4c40 - Jeroen Knoops, Sun Aug 12 17:03:29 2018 +0200 : Adds function 'multiply' with a runnable example in the documentation
+2a5a057 - Jeroen Knoops, Sun Aug 12 17:01:27 2018 +0200 : Adds readme.md
+3d75d3d - Jeroen Knoops, Sun Aug 12 16:59:58 2018 +0200 : Adds travis-ci pipeline
+030b725 - Jeroen Knoops, Sun Aug 12 16:58:49 2018 +0200 : Adds functions 'add' and 'substract'
+
It starts with adding two functions, adding travis-ci, add some documentation, more functions, some refactoring… everything you expect from a ‘real’ project.
+
Of course it has some tests and I’ve tested everything manually before I commit… But for some reason at the end, the substract
function is not working anymore..
+Whoops.. I’ve tested it manually, but for some reason I’ve forgot to add a test for it..
+
Let’s create a test
+
We’re creating a test in /tests/bug.rs
to show the bug.
+We will use this test to check in which commit the bug was introduced.
+
extern crate example ;
+use example:: * ;
+
+#[test]
+fn test_substract ( ) {
+ assert_eq! ( substract ( 8 , 2 ) , 6 ) ;
+}
+
Now try to run this test in isolation with the following command:
+
+
Test on master
should fail:
+
+
+
Test on first commit (030b725
) should not fail:
+
+
+
Somewhere in between it start not working anymore.. Let’s use git bisect
to find that.
+
Git bisect
+
We go back to the master
with the added test.
+
We start the bisect procedure:
+
+
We tell bisect that the current version is bad :
+
+
Now we tell bisect the commit of a known working version:
+
git bisect good 030b72500f08774b685c59c3e5ddd64afce432f1
+
We tell bisect to look when the bug appears:
+
git bisect run cargo test --test bug
+
After the test, reset the HEAD to the first place.
+
+
Let’s see this in action:
+
+
+
What did just happen?
+
git bisect run cargo test --test bug
+running cargo test --test bug
+ Compiling example v0.1.0 (file:///Users/software-concepts/workspace/jeroen.knoops/rust-example)
+ Finished dev [unoptimized + debuginfo] target(s) in 0.58 secs
+ Running target/debug/deps/bug-6262d8198d8b39aa
+
+running 1 test
+test test_substract ... FAILED
+
+failures:
+
+---- test_substract stdout ----
+ thread 'test_substract' panicked at 'assertion failed: `(left == right)`
+ left: `16`,
+ right: `6`', tests/bug.rs:6:5
+note: Run with `RUST_BACKTRACE=1` for a backtrace.
+
+
+failures:
+ test_substract
+
+test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
+
+error: test failed, to rerun pass '--test bug'
+Bisecting: 1 revision left to test after this (roughly 1 step)
+[2a5a0578f44883d360287fc771c9d1dd7cff4cd6] Adds readme.md
+running cargo test --test bug
+ Compiling example v0.1.0 (file:///Users/software-concepts/workspace/jeroen.knoops/rust-example)
+ Finished dev [unoptimized + debuginfo] target(s) in 0.59 secs
+ Running target/debug/deps/bug-6262d8198d8b39aa
+
+running 1 test
+test test_substract ... ok
+
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
+
+Bisecting: 0 revisions left to test after this (roughly 0 steps)
+[abc4c40d4a06711bab5039a2896db3f67d8ddd0e] Adds function 'multiply' with a runnable example in the documentation
+running cargo test --test bug
+ Compiling example v0.1.0 (file:///Users/software-concepts/workspace/jeroen.knoops/rust-example)
+ Finished dev [unoptimized + debuginfo] target(s) in 0.58 secs
+ Running target/debug/deps/bug-6262d8198d8b39aa
+
+running 1 test
+test test_substract ... FAILED
+
+failures:
+
+---- test_substract stdout ----
+ thread 'test_substract' panicked at 'assertion failed: `(left == right)`
+ left: `16`,
+ right: `6`', tests/bug.rs:6:5
+note: Run with `RUST_BACKTRACE=1` for a backtrace.
+
+
+failures:
+ test_substract
+
+test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
+
+error: test failed, to rerun pass '--test bug'
+abc4c40d4a06711bab5039a2896db3f67d8ddd0e is the first bad commit
+commit abc4c40d4a06711bab5039a2896db3f67d8ddd0e
+Author: Jeroen Knoops <jeroen.knoops@gmail.com>
+Date: Sun Aug 12 17:03:29 2018 +0200
+
+ Adds function 'multiply' with a runnable example in the documentation
+
+:040000 040000 27cde4ec60027b8faffb1e97f3cb42022e80187b 34e8c57493a1b137f34fe45bf5ec555888ad8c3b M src
+bisect run success
+[I] ~ workspace jeroen.knoops rust-example ⚓ abc4c40 ❓ $ git log
+commit abc4c40d4a06711bab5039a2896db3f67d8ddd0e (HEAD, refs/bisect/bad)
+Author: Jeroen Knoops <jeroen.knoops@gmail.com>
+Date: Sun Aug 12 17:03:29 2018 +0200
+
+ Adds function 'multiply' with a runnable example in the documentation
+
+commit 2a5a0578f44883d360287fc771c9d1dd7cff4cd6 (refs/bisect/good-2a5a0578f44883d360287fc771c9d1dd7cff4cd6)
+Author: Jeroen Knoops <jeroen.knoops@gmail.com>
+Date: Sun Aug 12 17:01:27 2018 +0200
+
+ Adds readme.md
+
+commit 3d75d3da596b4fced7c4e91b17c20b2b61d2c8c5
+Author: Jeroen Knoops <jeroen.knoops@gmail.com>
+Date: Sun Aug 12 16:59:58 2018 +0200
+
+ Adds travis-ci pipeline
+
+commit 030b72500f08774b685c59c3e5ddd64afce432f1 (refs/bisect/good-030b72500f08774b685c59c3e5ddd64afce432f1)
+Author: Jeroen Knoops <jeroen.knoops@gmail.com>
+Date: Sun Aug 12 16:58:49 2018 +0200
+
+ Adds functions 'add' and 'substract'
+
Commit which introduced the bug:
+
https://github.com/JeroenKnoops/rust-example/commit/abc4c40d4a06711bab5039a2896db3f67d8ddd0e
+
Created Refs:
+
+
+
+
+
+
+
+
+
+
+
Results
+
When implementing multiply
, I’ve accidentally broken the substract
function.
+Git bisect will also add refs so you can which commits have been tested.
+
The correct implementation would be:
+
pub fn substract ( a: i32 , b: i32 ) -> i32 {
+ a - b
+}
+
The test we’ve written to find the bug can be renamed and also added to prevent this from happening again.
+
Conclusion
+
This was a very simple test / bug to find. By doing a git blame
on the line, we would found the same
+error, but this is not always the case.
+Imagine a website which overtime became very slow. Try to create a test which measures the performance of a certain
+page. This test should fail when the performance is below a certain threshold. This can be a complete end-to-end test.
+Now you will find the exact place where the introduction of a small stupid javascript library caused a big performance
+problem.
\ No newline at end of file
diff --git a/2019/03/15/mob-programming/index.html b/2019/03/15/mob-programming/index.html
new file mode 100644
index 00000000..005d8071
--- /dev/null
+++ b/2019/03/15/mob-programming/index.html
@@ -0,0 +1,175 @@
+Mob Programming | 040code This site runs best with JavaScript enabled. Mob Programming Learnings of a workshop by: stefan on 2019-03-15 This blog was originally posted on Feb 25, 2019 .
+
+Last week I was lucky to be able to attend a workshop about “mob programming”, given by Woody Zuill. As somebody who considers himself “agile” (in the original sense of the word) and who is a proponent of extreme programming, I liked it a lot. In this article I’m sharing some of my findings and learnings.
+
+
Mob Programming
+
Simply put, it means that the entire team is working on a single computer, all together at the same time. As an outsider, you might see a few big screens next to each other, and team members sitting next to each other facing those screens. One person is behind the keyboard, and the others are looking at the screens. One of them seems to have a special role, because he is telling the person behind the keyboard what to do.
+
Looking a bit closer, you notice that one person is not really looking at the screens very much, but paying close attention to what the rest are doing. He notices you and quietly comes over to you. He introduces himself as the team’s coach.
+
You: This looks interesting, can you explain what is going on here?
+
Coach: Sure! This team is learning mob programming. They have been at it for a while now and are approaching the point where they don’t need me anymore. They understand how to do it and why they are doing it. They are learning how to improve on this by themselves.
+
You: So why are they doing it?
+
Coach: There are two important reasons. The first is that the team wanted to learn to work together more effectively. They want to have a common understanding of things like architecture, coding standards, and code quality. Before they started working this way, they were in trouble. They were working on a project that was already a year late, and they didn’t know how to make the drastic improvements that were needed. When I was hired, I noticed that cycle times for bug fixes where sky-high: it took forever for a bug that was reported to be fixed. When I looked into the code base and I was not very enthusiastic about the quality. When asking about this to the individual team members, they reacted very differently. Some didn’t feel there was a problem. Others did, but they found they couldn’t address it because the rest of the team “just doesn’t get it”. There clearly was an issue with the team’s ability to operate as a team instead of just a bunch of individuals.
+
You: I have seen situations like that myself occasionally. Has it improved?
+
Coach: Oh yes, it can be difficult still sometimes, but they have learned to discuss such issues with each other. They have learned to raise such issues, and they have learned to do that in a respectful manner.
+
You: How did that happen?
+
Coach: I let them play.
+
You: Come again?
+
Coach: Let me ask you a question: what is the most important prerequisite for learning?
+
You: That’s easy. We have known forever; that’s why we don’t allow bullying at schools, for example. It is security , the knowing that it’s ok to be wrong, to make mistakes.
+
Coach: Indeed! So that’s what we did. Every Friday afternoon, we’d have a coding dojo together, where we practiced coding kata’s. The word “dojo” comes from martial arts: a place where you practice. A “kata” is a series of made-up exercises designed to help you learn something in a safe situation. And we found that it was so much easier to discuss code quality with each other when we didn’t have the pressure of “work” attached to it! Nowadays, instead of using Friday afternoons for this, we start every day with a coding dojo of an hour. Through this, we have learned to treat each other with kindness, consideration, and respect.
+
You: That sounds like it might not only be effective, but also fun! So you mentioned that there are two reasons for doing mob programming. What’s the other one?
+
Coach: The second reason is even more important than the first one. What harms project progress more than anything else?
+
You: Ehh…
+
Coach: (gives encouraging look)
+
You: Well…
+
Coach: Exactly, delays! Waiting time, queues, inventory! This is all very well known from lean manufacturing . It is common sense that keeping people busy while waiting for important answers is counter-productive. It’s not about being busy, it is about getting the most important thing done as fast as possible. A waiting time of an hour probably costs at least two hours because of context switching. It’s all about flow . Mob programming is a multi-discipline approach. Everybody who is needed should be present, including designers, testers, product owner. And if key people cannot be present, they have to make sure that they are otherwise available and get back to questions within minutes. Unless the project is not important of course, but then you should probably find something else to do.
+
You: Right. It’s surprising how much lean is common sense in one discipline, and how novel it appears to be in software engineering.
+
Coach: And it gets better. Because “flow” has another meaning, from the field of psychology. When you’re “in flow”, you are highly concentrated, you forget distractions, every ounce of your mental powers is used to solve the problem at hand. One of the original goals of pair programming was to improve flow: when one of the pair needs to step away for a moment, the other continues. When the first returns, she can get right back into flow again. Mob programming reinforces this even more.
+
The Workshop
+
So that was what the workshop was about: why do it, and how to do it. There was a hands-on coding dojo of a few hours that was designed to get a flavour of what you need to learn as a team to be more effective. I won’t spoil it for you, but to me it struck a good balance between fun and “suffering” (being confronted with things that you didn’t know you were doing ineffectively).
+
Focussing on flow feels like a good idea. When you do that as a team, you can come up with strategies to deal with problems like managers trying to interrupt too often, for example. But also things that need studying can interrupt your flow; you might create a list of study topics to park these things on, and have a dedicated hour of learning every day for those topics (coding dojo!).
+
There is so much more to talk about. For example, the roles of mob programming and the underlying principle: all ideas must go from somebody’s head into the computer through somebody else’s hands .
+
Want to learn more? Hire Woody Zuill and/or buy his book “Mob Programming – A Whole Team Approach”. Like what you read? Contact me and let’s see how we can leverage this!
\ No newline at end of file
diff --git a/2019/03/21/spring-boot-graphql/index.html b/2019/03/21/spring-boot-graphql/index.html
new file mode 100644
index 00000000..ed1b4947
--- /dev/null
+++ b/2019/03/21/spring-boot-graphql/index.html
@@ -0,0 +1,435 @@
+GraphQL + Spring Boot | 040code This site runs best with JavaScript enabled. GraphQL + Spring Boot Queries, mutations and subscription in Java by: niek on 2019-03-21 Introduction
+
Now GraphQL is not anymore that new kid on a block it would be nice if we can implement a service with a GraphQL interface. Spring Boot is one of the well known frameworks to build your micro services in Java. Time to assess how easy, or hard it will be to implement a GraphQL service. In this post we will not explain how GraphQL works. We focus on a simple Java Spring Boot micro services with a JPA layer. In the GraphQL language we cover the tree major concepts, a query, a mutation and a subscription.
+
GraphQL is API is based on three main concepts. Query the backend for data using a graph based query. The query is in a JSON like style and the response is valid JSON. A major difference with REST is that wit a query you can specify excatly what you expect or want from the backend. Mutation are the way to change data in the system based on flat input object. In this example we use mutation to add new information. Finally we have subscription to subscribe for changes and get notified once something is changed via a web socket.
+
Java, Spring and GraphQL.
+
For implementing a GraphQL service you have two choices. Either schema first, or code first. So similar concepts as we used with SOA XML services. When starting with code you have to write more plumbing code, but you have more freedom. And on the other side starting of the schema reduce all the plumbing code and gives a faster start.
+
In this blog we first create a simple JPA enabled Spring Boot service. Then we add step-by-step GraphQL features to the service. We start from the schema and show which small additions you have to do to our application. Starting from a schema will not result in generated coded, you still have to write the matching code yourself. For the Java implementation we will use the libraries from graphql-java-kickstart .
+
Sample Model and API
+
For simplicity we use in this blog a simple domain model. Consisting of two classes. A person and notes, a person can have multiple notes. And a note always has one author, a person.
+
+
+
+
+
+
+
+
+
+
+
Create a simple Note Service
+
First we create a simple Spring JPA services, to store the Notes and the Authors of type Person. The implementation will be straightforward. We create an entity class for Person and Note. Fore readability the imports and other plumbing is omitted. See GitHub for a complete implementation.
+
@Entity
+public class Person {
+ @Id @GeneratedValue
+ private final Long id = null ;
+
+ @Column ( unique = true )
+ private String name;
+
+ private String email;
+}
+
@Entity
+public class Note {
+ @Id @GeneratedValue
+ private final Long id = null ;
+
+ private String note;
+
+ private ZonedDateTime createdOn;
+
+ @ManyToOne ( fetch = FetchType . EAGER )
+ private Person author;
+}
+
Next we define two spring JPA repositories to store the entities above in our database.
+
@Repository
+public interface PersonRepository extends CrudRepository < Person , Long > {
+
+ List < Person > findAll ( ) ;
+}
+
+
@Repository
+public interface NoteRepository extends CrudRepository < Note , Long > {
+
+ List < Note > findAll ( ) ;
+}
+
Finally, we define the services interface which we will use to implement the GraphQL queries,
+
+@Service
+public interface NotesService {
+
+ public Note save ( Note note) ;
+
+ public Optional < Note > findById ( Long id) ;
+
+ public List < Note > findAll ( ) ;
+}
+
+
So that is all to create a simple service with basic JPA (persistence) capacity. Time to focus on adding GraphQL to our service.
+
Implement a query
+
As base library we use graphql-java-tools
this library requires a GraphQL schema to implement GrahpQL. The first step is to define a schema for our queries. The schema defines our GraphQL root, for now only the query. Next the queries we will implement and the types we use. We define two queries. The first one to look op a note and the second one to find all notes based on a filter. Next, we define the types. As you can see a Note has a relation to a Person object. By querying for a note we can get immediately the authors name for example.
+
schema {
+ query: Query,
+}
+
+type Query {
+ note(id: Long!): Note
+ notes: [Note]
+}
+
+# Object to represent a note
+type Note {
+ id: ID!
+ note: String
+ createdOn : String
+ author: Person
+}
+
+# Object to represent a note
+type Person {
+ id: ID!
+ name: String
+ email: String
+}
+
+
+
Implement Mutation
+
We have now defined a first version of a GraphQL schema. The second step is to connect the schema to the Note Service. GraphQL java tools expects for each query, a resolver function. Therefore, we need to implement GraphQLQueryResolver
from graphql-tools.
+
@Component
+public class Query implements GraphQLQueryResolver {
+
+ private NotesService notesService;
+
+ public Query ( NotesService notesService) {
+ this . notesService = notesService;
+ }
+
+ public Optional < Note > note ( final Long id) {
+ return notesService. findById ( id) ;
+ }
+
+ public List < Note > notes ( ) {
+ return notesService. findAll ( ) ;
+ }
+}
+
This is all, we have to do to be able to handle the queries as specified in the schema. We can now start the spring boot application and open http://locahost:8080/graphiql and query form some. Graphiql is a simple IDE to execute GraphQL queries. A much richer tool to play with your queries is GraphQL Playground . Actually no fun yet, we can only execute queries without getting any result. We simply have an empty system. We need a way to add notes to the system. In GraphQL you mutate data via a mutation. In the next step we add a mutation to the schema and update the code for executing the mutation.
+
In the schema we add the mutation to the root and add a mutation to add a note to the Mutation
type. Quite similar to defining the query above. For the input we define an input object for both Note and Person.
+
+schema {
+ ...
+ mutation: Mutation
+}
+
+type Mutation {
+ addNote(note: InputNote!, author: InputPerson!): Note
+}
+
+# Input type for the author of the note
+input InputPerson {
+ name: String!
+ email: String
+}
+
+# Input type for a new Note
+input InputNote {
+ note: String!
+}
+
Similar to implementing the query we have to implement an interface and declare methods for the mutation. Mutations have to be implemented in a class implementing the interface GraphQLMutationResolver. In this implementation we defined for the input objects converters to convert the GraphQL input object to domain objects that can be consumed by the service.
+
@Component
+public class Mutation implements GraphQLMutationResolver {
+
+ public Note addNote ( final InputNote note, final InputPerson author) {
+ return notesService. save ( InputNote . convert ( note, author) ) ;
+ }
+}
+
+
Let’s test the service. Build and start the service /gradlew clean bootRun
and open http://localhost:8080/graphiql .
+
mutation {
+ addNote(note: {note: "Hello World"},
+ author: {name: "John Doe", email: "no-reply@jonn.doe"}) {
+ id
+ }
+}
+
+
And query for all available notes. This should result only in the note above.
+
query {
+ notes {
+ id
+ createdOn
+ note
+ author {
+ name
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
Add some more notes and experiment with the query. All standard features will work such as aliases, fragement and variables.
+
Implement Subscriptions.
+
Another cool feature is the subscriptions. With a subscription you can subscribe to updates via a websocket. The same philosophy is followed for the subscription. You will gat your data in same structure as specified in the subscription call.
+
To add subscription to our Java implements, we update the schema and add code to handle updates. To add a subscription for new notes we update the GraphQL schema first. Again update schema root and add the subscription, define the available subscriptions and add the required types.
+
schema {
+ ...
+ subscription : Subscription
+}
+
+type Subscription {
+ # Subscribe to all new comments
+ notes: NoteUpdate!
+}
+
+type NoteUpdate {
+ # The note text
+ note : String
+ # The name of the author
+ authorName : String
+ # Time when the note was received
+ createdOn : String
+}
+
And once again we have to implement a resolver, this time we implement the GraphQLSubscriptionResolver
.
+
@Component
+class Subscription implements GraphQLSubscriptionResolver {
+
+ private CommentPublisher commentPublisher;
+
+ Subscription ( CommentPublisher commentPublisher) {
+ this . commentPublisher = commentPublisher;
+ }
+
+ Publisher < NoteUpdate > notes ( ) {
+ return commentPublisher. getPublisher ( ) ;
+ }
+}
+
+
public Note save ( Note note) {
+ . . .
+ notePublisher. publish ( savedNoed) ;
+ . . .
+}
+
The notePublisher
is responsible to update messages via a WebScoket so the subscribers get the update. For the implementation check out the GitHub repo. Time to test the subscription. An easy way to test is topen the GraphiQL editor on two screens. Invoke in the first one the subscription and in the second one add a note. You will see you get an update of the new note on the first screen.
+
subscription {
+ notes {
+ note
+ authorName
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
Testing
+
Another nice feature provided by graphql-spring-boot is the test utils. Testing your GraphQL queries becomes really simple. The library provide a GraphQLTestTemplate
which makes it easy to invoke the GraphQL endpoint by with a query. The result is the JSON object. Let’s have a quick look on some code. First define the query in queries/find-notes.graphql
.
+
query FindNotes {
+ notes {
+ id
+ note
+ createdOn
+ author {
+ name
+ }
+ }
+}
+
Now create a test.
+
@RunWith ( SpringRunner . class )
+@SpringBootTest ( webEnvironment = SpringBootTest. WebEnvironment . RANDOM_PORT )
+public class GraphQLNoteTest extends GraphQLBaseTest {
+
+ @Autowired
+ private GraphQLTestTemplate graphQLTestTemplate;
+
+ @Test
+ public void findNotes ( ) throws IOException {
+
+ GraphQLResponse findResponse = graphQLTestTemplate. perform ( "queries/find-notes.graphql" , null ) ;
+ assertTrue ( findResponse. isOk ( ) ) ;
+
+
+ }
+}
+
That is all, of course you should add some assert to check the content as well. For more details check out the GitHub repo of this blog.
+
Some thoughts
+
The example above shows how you can enable your Spring Boot service with a GraphQL API. Adding a GraphQL layer to your existing (simple) service is fairly easy with the tools. But GraphQL will become really powerful when you combine multiple (REST) API in one GraphQL endpoint to create a fluent and understandable API.
+
If a java based approach is in that case the best way to go, I don’t know yet. In that case it could be interesting to dive into Rejoiner .
\ No newline at end of file
diff --git a/2019/04/02/react-native-navigation-and-clojurescript/index.html b/2019/04/02/react-native-navigation-and-clojurescript/index.html
new file mode 100644
index 00000000..c9533d14
--- /dev/null
+++ b/2019/04/02/react-native-navigation-and-clojurescript/index.html
@@ -0,0 +1,579 @@
+React Native Navigation and ClojureScript | 040code This site runs best with JavaScript enabled. React Native Navigation and ClojureScript A beginner's guide to realizing proper navigation in a React Native application using ClojureScript and shadow-cljs by: stefan on 2019-04-02 React Native Navigation and ClojureScript
+
A beginner’s guide to realizing proper navigation in a React Native application
+using ClojureScript and shadow-cljs
+
+
+ Source code for this post
+
That’s a big bunch of words. Let me briefly introduce them to you, so that I can
+then dive deeper into some of them. “Beginner” in this case means that, a week
+before I started doing this, I had practically zero experience with
+Clojure(Script) and React Native. I do have quite a bit of experience using
+React, and also writing native iOS applications (Swift/Objective-C).
+
“Guide” means that I’m going to explain to you how I accomplished my goal.
+You’ll have to interpret it and follow along if you want to do the same. Future
+versions of any of the tools may break this guide.
+
React Native Navigation is a framework for React Native . Which is a
+framework for building cross-platform apps for iOS and Android using JavaScript,
+but you probably already knew that part. ClojureScript is a functional
+programming language. It’s a variant of Clojure that compiles to JavaScript.
+“Proper navigation” is, admittedly, a bit subjective; I’ll explain this part in
+more detail below. Finally, shadow-cljs is the toolchain I used
+as an easy way to integrate a bunch of ClojureScript code into an originally
+Javascript-based project.
+
A summary of this guide is:
+
+Setup a new React Native project (using react-native
cli).
+Add shadow-cljs to be able to use ClojureScript in that project.
+Add and setup react-native-navigation
dependency.
+Create a bit of infrastructure on the ClojureScript side to be able to use
+the React Native Navigation APIs while using shadow-cljs’ hot reloading.
+
+
So let’s get started. I executed all these steps exactly as I’m describing here,
+the result of which you can find in my GitHub repo . Commit messages
+include all details about the commands I used. If you want to read my
+rant about wanting to use native navigation, keep reading till the very end of
+this post :)
+
+Please note that this post does not include all the code that you need
+to make it work, that would be too much for a web page. Please refer to
+the final solution in my GitHub repo if you want to reproduce all of it.
+
+
1. Create React Native Project
+
This step is very easy. First, if you haven’t got it yet, install
+react-native-cli
:
+
npm install -g react-native-cli
+
Then create a new project:
+
react-native init CLJSReactNativeNavigation
+
So far so good, nothing new here, let’s move on.
+
2. Add shadow-cljs
+
We’re going to use the standalone version of shadow-cljs,
+as recommended . So we add the npm dependency for shadow-cljs:
+
yarn add --dev shadow-cljs
+
Now we need to configure shadow-cljs a bit. We create a file called
+shadow-cljs.edn
and give it the following content:
+
{ :source-paths
+ [ "src/main"
+ "src/test" ]
+
+ :dependencies
+ [ [ reagent "0.8.1" ] ]
+
+ :builds
+ { :myapp
+ { :target :react-native
+ :init-fn myapp/init
+ :output-dir "build" } } }
+
This is telling shadow-cljs that there is a target called “myapp”, that
+it’s a React Native target, that the entry point of our app is the function
+init
in the myapp
namespace, and that the output should be written to the
+folder build
.
+
Now let’s create that myapp
namespace. In src/main
create a file called
+myapp.cljs
with the following contents:
+
( ns myapp
+ ( :require [ reagent.core :as r :refer [ atom] ]
+ [ "react-native" :as rn :refer [ AppRegistry] ] ) )
+
+( defn app-root [ ]
+ [ :> rn/View { :style { :flex-direction "column"
+ :margin 40
+ :align-items "center"
+ :background-color "white" } }
+
+ [ :> rn/Text { :style { :font-size 30
+ :font-weight "100"
+ :margin-bottom 20
+ :text-align "center" } }
+
+ "Hi Shadow!" ] ] )
+
+( defn init [ ]
+ ( .registerComponent AppRegistry
+ "CLJSReactNativeNavigation"
+ # ( r/reactify-component app-root) ) )
+
Time to check this out! Run the following commands in your terminal:
+
yarn shadow-cljs compile myapp
+yarn react-native run-ios
+
Tada!
+
+
+
+
+
+
+
+
+
Hot Reloading
+
When using shadow-cljs, you also get its variant of hot reloading. You don’t
+need to use the developer menu to enable it, but you do need to add a bit of
+code to make it work: (a) you need to had a function that performs the reload,
+and (b) you need to enable hot reloading in the config.
+
Add reload function
+
Let me just give you the code of myapp.cljs
and then explain what’s going on.
+
( ns myapp
+ ( :require [ reagent.core :as r :refer [ atom] ]
+ [ "react-native" :as rn :refer [ AppRegistry] ] ) )
+
+( defonce component-to-update ( atom nil ) )
+
+( defn content [ ]
+ [ :> rn/Text { :style { :font-size 30
+ :font-weight "100"
+ :margin-bottom 20
+ :text-align "center" } }
+ "Hi Shadow!" ] )
+
+( defn app-root [ ]
+ [ :> rn/View { :style { :flex-direction "column"
+ :margin 40
+ :align-items "center"
+ :background-color "white" } }
+ [ content] ] )
+
+( def updatable-app-root
+ ( with-meta app-root
+ { :component-did-mount
+ ( fn [ ] ( this-as ^ js this
+ ( reset! component-to-update this) ) ) } ) )
+
+( defn reload { :dev/after-load true } [ ]
+ ( .forceUpdate ^ js @ component-to-update) )
+
+( defn init [ ]
+ ( .registerComponent AppRegistry
+ "CLJSReactNativeNavigation"
+ # ( r/reactify-component updatable-app-root) ) )
+
This is what it does:
+
+The text content (“Hi Shadow!”) is extracted into a separate component
+(content
), because the call forceUpdate
that we’ll use
+updates everything below the application root component, not the root
+component itself.
+The app-root component is annotated with a component-did-mount
handler
+(updatable-app-root
). This handler stores the actual JavaScript object
+that represents the root component into the atom component-to-update
.
+A function reload
is added, which takes the value of that atom and calls
+the method forceUpdate
on it.
+
+
One final step remains: enabling hot reloading in shadow-cljs.edn
. It’s new
+content is:
+
{ :source-paths
+ [ "src/main"
+ "src/test" ]
+
+ :dependencies
+ [ [ reagent "0.8.1" ] ]
+
+ :builds
+ { :myapp
+ { :target :react-native
+ :init-fn myapp/init
+ :output-dir "build"
+ :devtools { :autoload true } } } }
+
If you reload the app, changing the text in the content
component should
+cause the app to automatically update!
+
3. Add React Native Navigation
+
This bit is a somewhat tedious I’m afraid. You’ll have to go through the
+instructions to setup React Native Navigation . Add the npm
+dependency, update your Xcode project, update iOS source code, update Android
+build files, and update Android source code. Tip for Android part: Please don’t
+blindly copy-paste. Some of the instructions refer are not up to date, some
+parts are not really needed, etc. If you want you can have a look at
+how I did it .
+
Obviously you’ll skip the last step of the instructions, namely the part where
+the JavaScript code is updated to use React Native Navigation. We’ll address
+that in ClojureScript next.
+
4. Integrate and Wrap
+
Ok, roll up your sleeves, because here comes the interesting part.
+
Wrapper functionality
+
In JavaScript we would need to do something like this:
+
import { Navigation } from 'react-native-navigation'
+Navigation. registerComponent ( 'navigation.playground.WelcomeScreen' , ( ) => App)
+Navigation. events ( ) . registerAppLaunchedListener ( ( ) => {
+ Navigation. setRoot ( {
+ root : {
+ component : {
+ name : 'navigation.playground.WelcomeScreen'
+ }
+ }
+ } )
+} )
+
Obviously in ClojureScript we need to do something similar. There’s a problem
+though: we need a handle to the actual JavaScript component in order to call
+forceUpdate
on it (for hot reloading). React Native Navigation has made the
+design choice that it creates new root components for screens that you push
+on the navigation stack. So also for those components we need a handle and
+call forceUpdate
. We accomplish this by not registering the component itself
+with Navigation
, but a wrapper of that component.
+
This causes another problem though. React Native Navigation gives components
+that you register a componentId
. It uses this for its internal registration
+so that it can make navigation work. For example, when you push a new screen
+onto the navigation stack, it uses the componentId
to find the screen from
+which you are pushing. The problem is that we registered the wrapper , but
+we’re navigating from the wrapped component . Which does not have a
+componentId
, because we never registered it with Navigation
. Solution:
+make the wrapper in such a way that it passes its componentId
on to the
+wrapped component.
+
But there is more! React Native Navigation defines some additional life cycle
+methods, such as navigationButtonPressed
. And for that to work, you need
+to call Navigation.bindComponent
. So our wrapper also calls
+bindComponent
and forwards navigationButtonPressed
. Forwarding other
+life cycle methods is left as an exercise for the reader.
+
Here’s the main code for the wrapper (full version ):
+
+
+( defonce id-seq-ref ( atom 0 ) )
+( defonce mounted-ref ( atom { } ) )
+( defonce screens-ref ( atom { } ) )
+
+( defn register [ key]
+ ( let [ get-props
+ ( fn [ this]
+ { ::key key
+ ::id ( -> this .-state .-id)
+ :component-id ( -> this .-props .-componentId) } )
+
+ wrapper
+ ( crc # js
+ { :displayName
+ ( str key "Wrapper" )
+
+ :getInitialState
+ ( let [ id ( swap! id-seq-ref inc) ]
+ ( fn [ ] # js { :key key
+ :id id} ) )
+
+ :componentDidMount
+ ( fn [ ]
+ ( this-as
+ ^ js this
+
+ ( bind-component this)
+ ( swap! mounted-ref
+ assoc-in [ key ( -> this .-state .-id) ] this) ) )
+
+ :componentWillUnmount
+ ( fn [ ]
+ ( this-as
+ ^ js this
+
+ ( swap! mounted-ref update key dissoc ( -> this .-state .-id) ) ) )
+
+
+
+ :navigationButtonPressed
+ ( fn [ ]
+ ( this-as
+ ^ js this
+
+ ( let [ { :keys [ navigation-button-pressed] }
+ ( get @ screens-ref key)
+
+ props
+ ( get-props this) ]
+
+ ( js/console.log "navigationButtonPressed"
+ key
+ ( boolean navigation-button-pressed)
+ ( pr-str props) )
+ ( when navigation-button-pressed
+ ( navigation-button-pressed props) ) ) ) )
+
+ :componentDidAppear
+ ( fn [ ]
+ ( this-as
+ ^ js this
+
+ ( js/console.log "componentDidAppear" key) ) )
+
+ :componentDidDisappear
+ ( fn [ ]
+ ( this-as
+ ^ js this
+
+ ( js/console.log "componentDidDisappear" key) ) )
+
+ :render
+ ( fn [ ]
+ ( this-as
+ ^ js this
+
+ ( let [ { :keys [ render] }
+ ( get @ screens-ref key)
+
+ props
+ ( get-props this) ]
+
+ ( js/console.log "render" key ( pr-str props) )
+ ( -> ( render props)
+ ( r/as-element ) ) ) ) ) } ) ]
+
+ ( register-component key ( fn [ ] wrapper) ) ) )
+
This stores the mounted components in mounted-ref
, which we can then use
+for the hot reloading:
+
( defn reload { :dev/after-load true } [ ]
+ ( doseq [ [ key instances] @ mounted-ref
+ [ id inst] instances]
+ ( js/console.log "forceUpdate" key id)
+ ( .forceUpdate ^ js inst) ) )
+
The register
method uses an atom screens-ref
to forward life cycle methods,
+so we need to provide a function for screens to add themselves:
+
( defn add-screen [ key screen-def]
+ ( swap! screens-ref assoc key screen-def) )
+
Using it
+
Initially, in myapp/init
we called React Native’s registerComponent
. Now
+we call our env/register
instead. We could just call (env/register "App")
,
+but we want to pass some options for the navigation bar.
+
Furthermore we need to call the Navigation.events().registerAppLaunchedListener
+JavaScript function to set the navigation root for our app.
+
The init
function is now:
+
( defn init [ ]
+ ( env/register "App"
+ { :topBar { :visible "true"
+ :title { :text "My App" }
+ :rightButtons [ { :id "add" :systemItem "add" } ] } } )
+
+ ( -> ( rnn/Navigation.events )
+ ( .registerAppLaunchedListener
+ ( fn [ ]
+ ( ->> { :root
+ { :stack
+ { :children [ { :component { :name "App" } } ] } } }
+ ( clj->js )
+ ( rnn/Navigation.setRoot ) ) ) ) ) )
+
Credits
+
That’s it! Done! Just four simple, easy, almost trivial steps! Well maybe not
+so trivial. I guess a ClojureScript beginner couldn’t have come up with this.
+Well, in fact I am a ClojureScript beginner and I did not come up with this
+solution myself. All the credits go to Thomas Heller , the author of
+shadow-cljs . He has been amazing in his support by answering
+all of my beginner-level questions, and then he ended up conjuring this
+solution and committing it to my repository. He actually spent hours on this
+I believe, and that level of support from a community is truly awesome
+(and rare). He doesn’t seem to be advertising it very much, but you can become
+his patreon .
+
Why React Native Navigation
+
What’s special about React Native Navigation is that it is implemented using the
+real platform native components, specifically
+UINavigationController
on
+iOS. I seem to be at odds with most of the rest of the world on this, but I
+happen to think that it is very important to present the user with an
+experience that is (as much as possible) identical to that of native apps. You
+shouldn’t be able to tell from the user experience whether the app was written
+using native technology or cross platform technology. Not even when you update
+your OS to a new major version. So if my app uses a navigation stack, it has to
+be the native one. Maybe I’m more sensitive to this then others, but I get
+really upset by apps that don’t support the normal gesture for going back up the
+navigation stack. I also get annoyed when the animation that is used while going
+back is slightly non-standard. Using the native components is the only way to
+accomplish that. Other components can come close, but not close enough for me.
+
Versions
+
Like I said in the beginning, future versions of any of the tools may break
+this guide. So it is only fair to mention which versions I was using for this:
+
+
+
+Tool
+Version
+
+
+
+
+node
+11.10.1
+
+
+npm
+6.5.0-next.0
+
+
+react
+16.8.3
+
+
+react-native
+0.59.3
+
+
+react-native-cli
+2.0.1
+
+
+react-native-navigation
+2.16.0
+
+
+shadow-cljs
+2.8.26
+
+
+Xcode
+10.2
+
+
+iOS SDK
+12.2
+
+
+Android SDK
+API levels 26, 27, 28
+
+
+
+Build tools 27.0.3, 28.0.3
+
+
+
+System images: android-28
+
+
+
\ No newline at end of file
diff --git a/static/2019/04/18/cloudrun/build.json b/2019/04/18/cloudrun/build.json
similarity index 100%
rename from static/2019/04/18/cloudrun/build.json
rename to 2019/04/18/cloudrun/build.json
diff --git a/static/2019/04/18/cloudrun/deploy.json b/2019/04/18/cloudrun/deploy.json
similarity index 100%
rename from static/2019/04/18/cloudrun/deploy.json
rename to 2019/04/18/cloudrun/deploy.json
diff --git a/2019/04/18/cloudrun/index.html b/2019/04/18/cloudrun/index.html
new file mode 100644
index 00000000..cd8fb1be
--- /dev/null
+++ b/2019/04/18/cloudrun/index.html
@@ -0,0 +1,249 @@
+Cloud Run | 040code This site runs best with JavaScript enabled. Cloud Run Bringing serverless to containers by: niek on 2019-04-18 Introduction
+
Last week at the Google Next in San Francisco, Google announced Cloud Run . A new platform to enable developers without any infrastructure to run Docker containers on Google Cloud.
+
+Cloud Run is a managed compute platform that enables you to run stateless containers that are invocable via HTTP requests. Cloud Run is serverless: it abstracts away all infrastructure management, so you can focus on what matters most — building great applications. It is built from Knative , letting you choose to run your containers either fully managed with Cloud Run, or in your Google Kubernetes Engine cluster with Cloud Run on GKE.
+
+
+
+
+
+
+
+
+
+
+
+
Time the see how this new feature on the Google Platform really works. There are two ways to use Cloud Run. You can choose to run the container serverless, which means you do not have to create any infrastructure. The other option is deploy the container via the Cloud Run to a GKE cluster. From developers perspective there is no difference, the developer can still use the same Cloud Run API.
+
Lets quickly compare Cloud Run to some other option to run an application sereverless in the cloud. For example you can use Now from Zeit to quickly run a serverless application build in many languages, some major are Node, Rust, Static, Python, Go and NextJS. The free tier get you started quickly. In the paid tier you pay for traffic and invocations. Fargate the the AWS approach to enable serverless Docker containers. But in Fargate you container is always running and you pay per second for CPU and memory. Read here more about deploying to Fargate.
+
Deploy the 040 blog to Cloud Run
+
Why not see if we can publish this blog to Cloud Run. Starting is quit simple, just follow the Google documentation. Go to the Google Cloud console and navigate to Cloud Run. You will see here that deploying a container requires two steps. First publish the Docker image to the Docker registry in your Google project. Next deploy the docker image to Cloud Run.
+
Prepare your image
+
On the Cloud Run create service page is clearly mentioned that the containers needs support injection of a port that listen for HTTP traffic via the environment variable PORT
. This is for example easy to support via the Spring Boot framework. But for the blog we allready have an NGINX container which not support injection of the port.
+
The first step will be to enable port injection to our blog runtime container. Which can be done by starting the container via a wrapper script which update the NGNIX configuration. We define a simple server configuration in which we can replace the NGNIX_PORT
environment variable via envsubst .
+
server {
+ listen ${ NGNIX_PORT} ;
+ server_name localhost;
+...
+}
+
Next we create a simple bash
script to update the PORT
at container start. If no port is set, we apply use the default port 80
.
+
#!/bin/bash
+
+export NGNIX_PORT = ${PORT:= 80}
+envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf \
+ && exec nginx -g 'daemon off;'
+
+
Finally we update the Dockerfile
to add the new assets and ensure the start.sh
script is invoked at container start.
+
FROM jekyll/jekyll:3.8.3 AS build
+
+... OMITTED ...
+
+FROM nginx:1.15.3
+COPY --from = build /build/_site /usr/share/nginx/html
+
+
+COPY nginx/default.conf /etc/nginx/conf.d/mysite.template
+COPY nginx/start.sh /usr/bin
+
+CMD ["start.sh" ]
+
This was the hard part, our image is ready. You can test your image locally. For example on port 8081
+
Docker build -t blog .
+Docker run -e PORT=8080 -p 8081:8080 blog
+
Publish the image to Google Cloud
+
You can publish the Docker image to the gcr.io
registry by building locally and push the Docker image. Or by using Google Cloud Build to build the container. We use the power of the cloud and let Goolge build the image.
+
gcloud builds submit --tag gcr.io/<project-id>/blog
+
+
+
This will build the Docker image in Google’s cloud build and push it to the registry.
+
Deploy the blog
+
Finally we have to deploy the service via cloud run. You can do this via the web interface, or via the cli.
+
+
+
+
+
+
+
+
+
+
+
In the web interface it is straightforward to deploy to Cloud Run. In the cli it is not hard bu you need te be aware that cloud run is beta which requires to install the beta components.
+
gcloud components install beta
+
Next you specify the same properties as you should do via the web interface. Currently Cloud Run is only available in the region us-central1
. Since we run a public site we allow unauthenticated traffic.
+
gcloud beta run deploy blog \
+ --image gcr.io/<project-id>/blog:latest \
+ --region us-central1 --allow-unauthenticated
+
+
+
Some final thoughts
+
The first impression is that Cloud Run is quit easy to set up. Good to mention is that is based on the Open Source project Knative . At the moment the feature is in beta and there is no support in other regions.
+
In this post we show just the basics of CLoud Run. It is really super easy to deploy you docker containers to the cloud for low costs. Could be handy for example to review branches. But there is a lot more, containers can be protected and only accept authenticated traffic. Furthermore with integration to Cloud Build it is easy to setup a CI/CD pipeline for GitHub , Bitbucket and Cloud Source Repository. With GitLab CI setting up a pipeline for Cloud Run is almost a no brainer. And for deployment GitLab already supports Knative to deploy to a Kubernetes cluster.
\ No newline at end of file
diff --git a/2019/04/20/discovery-agent/index.html b/2019/04/20/discovery-agent/index.html
new file mode 100644
index 00000000..96f30f05
--- /dev/null
+++ b/2019/04/20/discovery-agent/index.html
@@ -0,0 +1,228 @@
+Discover the exposed port | 040code This site runs best with JavaScript enabled. Discover the exposed port Enabling discovery for Spring Cloud on AWS ECS by: niek on 2017-04-20 Update 2018-02-14, since Amazon has introduced a feature to extract meta data at runtime in a container the discovery agent described in this post becomes obsolete for the ECS case, see more this post for more details.
+
This post describes a solution for implementing the discovery of the unknown exposed port by a Docker container. A specific situation where the problem occurs is when you deploy Spring Cloud micro services as Amazon ECS services to the cloud.
+
The problem
+
Setting up a micro services architecture requires that there is a way services can find each other. Spring Cloud provides a services discovery service out of the box: Eureka. Services running in the micro services landscape are responsible to register themselves to the discovery service. Then, any service running in the micro services landscape can locate them based on their name. Deploying those services to a docker based cloud, such as AWS, does however create some difficulties.
+
A service running in a container does not know the external exposed port. The port map can be fixed, for example by mapping the external port on the same port as the internal one but this will eventually cause port conflicts. Besides that, you are not able to scale the container on the same host. Therefore, it make sense to use automatic port assignment. But in that case, services must be able to discover the port, assigned by docker, for registration.
+
Running micro services in docker containers on AWS ECS looks as follows.
+
+
+
+
+
+
+
+
+
+
+
Each micro service is defined as task which will run as service (a docker container). The docker container runs on a Amazon EC2 instance that also runs docker agent to manage the cluster. Unfortunately, the agent has no API to lookup the exposed port.
+
Solution
+
To lookup the exposed port an extra agent is added to the EC2 instance. The discovery agent uses an API to discover the port for a given container id, internal port and protocol. The only drawback is that the discovery agent needs access to the docker socket which is a potential security risk.
+
+
+
+
+
+
+
+
+
+
+
Let’s explain the working of the discovery agent by example: First we have to start the agent as a docker container.
+
docker run -d -v /var/run/docker.sock:/var/run/docker.sock \
+ --name docker-discovery-agent -p 5555:8080 npalm/docker-discovery-agent:1.0.0
+
Now the agent is running, it can be tested. For testing we start another container, remember the problem is that we need to find the exposed port from within a container. The local ip address will be added as extra host to the container. The test container is just a linux (CentOS) container containing the tool curl
and for which port 80 is exposed to a random port.
+
export DOCKERHOST=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | \
+ grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)
+docker run -it -p 80 --add-host="dockerhost:$(DOCKERHOST)" --rm centos /bin/bash
+
We are now in the shell of the CentOS container, the host file contains a DNS entry that points to the host. First, we have to search for the id of the current container.
+
CONTAINER_ID=$(cat /proc/self/cgroup | grep "cpu:/" | sed 's/\([0-9]\):cpu:\/docker\///g')
+
Then, we ask the discovery agent for our external mapped port by sending the container id and the internal port.
+
curl "http://dockerhost:5555/container/${CONTAINER_ID}/portbinding?port=80&protocol=tcp"
+
The result is a JSON string container with the hostIp and hostPort, for example:
+
{
+ "HostIp": "0.0.0.0",
+ "HostPort": "32779"
+}
+
Alternative to passing the host ip address, it is possible to register a static ip address and use this to find the dicovery agent.
+
sudo ifconfig lo0 alias 172.16.123.1
+
Now we can discover the exposed port, let’s give some direction on how this can be combined with Spring Cloud on ECS. First deploy Eureka (service discover) as container. Register an ALB (internal) to the service. Now we have an endpoint that we can use to inject the service that needs to register itself. Next create a spring service that is aware of discovery. Before the services can be started, the exposed port needs to be found. Add the snippet below to the start script to start the services in the container.
+
#!/bin/bash
+export DOCKER_HOST=$(curl -s 169.254.169.254/latest/meta-data/local-ipv4)
+export CONTAINER_ID=$(cat /proc/self/cgroup | grep "cpu:/" | \
+ sed 's/\([0-9]\):cpu:\/docker\///g')
+export NETWORK_BINDING=\
+ $(curl "http://${DOCKER_HOST}:5555/container/${CONTAINER_ID}/portbinding?port=8080&protocol=tcp")
+export EXPOSED_PORT=$(echo ${NETWORK_BINDING} | jq -c '.[0].HostPort' | \
+ sed -e 's/^"//' -e 's/"$//')
+
+exec java -jar /service.jar
+
The last step is to update the application.yml
and add a few lines to force the ip address and port during service registration.
+
eureka:
+ client:
+ serviceUrl:
+ defaultZone: ${EUREKA_URL} // Needs to be injected as environment variable
+ instance:
+ preferIpAddress: true
+ ip-address: ${DOCKER_HOST}
+ non-secure-port: ${EXPOSED_PORT}
+
Alternatives
+
Discovery of the unknown exposed port is a highly discussed topic and there are many alternative solutions, Please see docker issue , which is a good starting point for alternatives. The following alternatives came to my mind:
+
+Same approach, but run the discovery service directly on the host.
+Implement the discovery capability in each servie as a library, but the drawback is that all the services need the docker socket.
+Choose another discovery mechanism for example based on ALB.
+Switch to Consul in combination with a registrator
+
\ No newline at end of file
diff --git a/2019/07/01/cross-cluster-service-mesh/index.html b/2019/07/01/cross-cluster-service-mesh/index.html
new file mode 100644
index 00000000..22ae19ce
--- /dev/null
+++ b/2019/07/01/cross-cluster-service-mesh/index.html
@@ -0,0 +1,462 @@
+Service Mesh | 040code This site runs best with JavaScript enabled. Service Mesh A Multi Cloud Mesh with Istio by: niek on 2019-07-01 A multi cloud service mesh with Istio
+
This post guide you to create a multi cloud service mesh with Istio on Kubernetes clusters in Amazon and Google cloud.
+
+
+ Source code for this post
+
Introduction
+
The last years we have seen a huge adoption of micro services architectures. Typically micro services brings a lot ff benefits such as flexibility, modularity, autonomy. But deploying and managing micro services architectures brings other difficulties. How dow you know what is running, how do you know your services are compliant? Another pattern that we see is that micro services ar typically heavy loaded with common dependencies for logging, authentication, authorization, tracing and many more cross cutting concerns.
+
A service mesh brings transparency to the chaos of micro services. A mesh can help with implementing, enforcing and managing requirements such as authentication, authorization, traceability and, data integrity. It also provides features as orchestration and collection of telemetry. There are currently several service meshes out, for example App Mesh from Amazon, Consol from HashiCorp, Linkerd from the CNNF and Istio launched by IBM, Lyft and Google in 2016. Istio is a fully open source solution based on the high performance proxy Envoy .
+
Another trend in the industry is multi cloud or hybrid cloud. Confusing terms, no clear definitions. But it look likes common sense when we speaking about multi cloud we point to combining public clouds. And hybrid cloud is when you mix and match public with private cloud. When you start running cross cloud clusters it becomes even harder to manage all your micro services. Be confident that policies are implemented well or compliant. In this multi / hybrid topology, abstraction from cross cutting concerns to a mesh becomes even more important. In this blog we go to build a multi cloud Kubernetes cluster with an Istio service mesh.
+
A bit more about a Service Mesh
+
Before we dive into building a multi cloud service mesh, a few words about how a mesh works. An Istio mesh consists of two parts. A data plane, intelligent proxies (Envoy) deployed as sidecars. Those proxies mediate and control the network traffic. The second component is the control plane which manages and configures the proxies, and enforce policies.
+
+
To create a cross cluster mesh with Istio there are two topologies. In the first scenario there is a single control plain that controls all the cluster. In the second scenario a single control plain is deployed to every cluster and you have to ensure the same configuration is pushed to each cluster. In this post we will create an example based on the second option, a control plane in every cluster.
+
+
Building a cross cluster mesh
+
Lets get started with building a multi cloud service mesh. A quite similar similar example as below is available on my GitHub . The example on GitHub is scripted with a set of simple shell scripts and created 3 clusters in 2 clouds. For this post we limited our selves to just 2 clusters in 2 clouds.
+
We will create 2 clusters and install in both clusters the Istio service mesh, one cluster on AWS (EKS) and the second on Google (GKE). For creating clusters you need to setup your environment with the right tools and credentials. For AWS the AWS CLI is required, for Google you need the Google Cloud SDK . Furthermore you need to install kubectl to interact with Kubernetes. And helm as packagem manager for Kubernetes.
+
+
First we create EKS clusters with eksctl
. But cluster has a quite minimal configuration. See the page of weaveworks ekstcl or AWS fom more details. Creating a cluster roughly takes 20 minutes. With the command below we create a default EKS cluster, with only one node it’s own VPC.
+
export KUBECONFIG=kubeconfig-istio-1.config
+export CLUSTER_NAME=mesh-1
+eksctl create cluster \
+ --name $CLUSTER_NAME \
+ --region eu-central-1 \
+ --version 1.13 \
+ --node-type t3.medium \
+ --nodes 2 \
+ --nodes-min 2 \
+ --nodes-max 4
+ --node-ami auto \
+ --kubeconfig=$KUBECONFIG \
+ --tags "environment=multi-cloud-mesh"
+
+kubectl get nodes
+
You should now have a Kubernetes cluster running on AWS. Next we download, install and configure Istio for our service mesh. In the steps below we use for simplicity the sample certificates provided by the Istio distribution. Should I really mention that you should replace those certificates for a real life setup…
+
# Download Istio
+export ISTIO_VERSION=1.1.9
+curl -L https://git.io/getLatestIstio | sh -
+export PATH="$PATH:$PWD/istio-1.1.9/bin"
+
+# Create namespace and install demo certificates
+kubectl apply -f istio-$ISTIO_VERSION/install/kubernetes/namespace.yaml
+kubectl create secret generic -n istio-system cacerts \
+ --from-file=istio-$ISTIO_VERSION/samples/certs/ca-cert.pem \
+ --from-file=istio-$ISTIO_VERSION/samples/certs/ca-key.pem \
+ --from-file=istio-$ISTIO_VERSION/samples/certs/root-cert.pem \
+ --from-file=istio-$ISTIO_VERSION/samples/certs/cert-chain.pem
+
+# Create a service account for helm.
+kubectl create -f \
+ istio-$ISTIO_VERSION/install/kubernetes/helm/helm-service-account.yaml
+helm init --service-account tiller
+
+# Install the Istio resources
+helm install istio-$ISTIO_VERSION/install/kubernetes/helm/istio-init \
+ --name istio-init --namespace istio-system
+
+
The last step could take a minute or so, check with
+kubectl get crds | grep 'istio.io' | wc -l
if the Istio custom resources are created. Once finished there should be 53 custom resources created. The last step for installing the service mesh is to create the Istio control plan.
+
helm install --name istio --namespace istio-system \
+ istio-$ISTIO_VERSION/install/kubernetes/helm/istio \
+ --values istio-$ISTIO_VERSION/install/kubernetes/helm/istio/example-values/values-istio-multicluster-gateways.yaml
+
For this example we simply enable sidecar injection for every pod in the default namespace. The sidecar will function as proxy and intercepts all network traffic to the containers in the pad.
+
kubectl label namespace default istio-injection=enabled
+
Services in a local Kubernetes share a common DNS suffix (e.g. svc.cluster.local
). To ba able to route our remote service we have to stub the Kubernetes DNS for the domain name .glabal
. Service in a remote cluster can then be addressed with the naming convention <name>.<namespace>.<global>
. Therefore we need to stub the Kubernetes DNS. EKS is using CoreDNS, so we add the config map below.
+
kubectl apply -f - <<EOF
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: coredns
+ namespace: kube-system
+data:
+ Corefile: |
+ .:53 {
+ errors
+ health
+ kubernetes cluster.local in-addr.arpa ip6.arpa {
+ pods insecure
+ upstream
+ fallthrough in-addr.arpa ip6.arpa
+ }
+ prometheus :9153
+ proxy . /etc/resolv.conf
+ cache 30
+ loop
+ reload
+ loadbalance
+ }
+ global:53 {
+ errors
+ cache 30
+ proxy . $(kubectl get svc -n istio-system istiocoredns -o jsonpath={.spec.clusterIP})
+ }
+EOF
+
The service mesh on EKS is now ready to start serving applications.
+
The Postcard sample application
+
In this blog post we use a simple polyglot postcards application. It is always fun to write an application in yet another language. The postcard application consists of twe services. The first service is the greeter , the greeter is written in NodeJS and generates a webpage with a postcard. The message on the postcard should be provided by the second application, the messenger . THe messenger is a Rust application that will run on the second cluster. I returns a string message based on configuration.
+
+
+
+
+
+
+
+
+
The greeter app will print an error message in case the messenger is not available. We deploy now the greeter to the Kubernetes cluster on AWS. We create a standard deployment for the pod, a service, a Istio Gateway, and a Istio Virtual service. The Istio resources are created to make the postcard app public available via an ingress. You can check out the configuration files here . During deployment we update the configuration with name of the cluster.
+
# Deploy greeter pod and service
+curl -L \
+ https://raw.githubusercontent.com/npalm/cross-cluster-mesh-postcard/master/mesh/demo/greeter/greeter.yaml \
+ | sed "s/CLUSTER_NAME/${CLUSTER_NAME}/" | kubectl apply -f -
+
+# create gateway for greeter service
+kubectl apply -f \
+ https://raw.githubusercontent.com/npalm/cross-cluster-mesh-postcard/master/mesh/demo/greeter/gateway.yaml
+
+
Once deployed we should already be able to see our postcard via a browser. You can construct the URL with the command below. It can taka few minutes before Load Balancer is ready to accept traffic.
+
export ISTIO_INGRESS=$(kubectl -n istio-system \
+ get service istio-ingressgateway \
+ -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
+open http://${ISTIO_INGRESS}/greeter
+
The postcard shows no message from the second cluster. But our greeter app is up and running. The next steps is creating the second cluster.
+
+
+
+
+
+
+
+
+
+
For the second cluster we create a GKE cluster on Google Cloud. You can replace by a second cluster in Amazon or one in another cloud. The first step is similar to creating a cluster in AWS but now one in Google. Open a new terminal to avoid conflicting environment variables.
+
export KUBECONFIG=kubeconfig-istio-2.config
+export CLUSTER_NAME=mesh-2
+gcloud container clusters create \
+ --machine-type n1-standard-4 \
+ --num-nodes 1 --enable-autoscaling \
+ --min-nodes 1 --max-nodes 5 \
+ --addons HttpLoadBalancing,HorizontalPodAutoscaling,KubernetesDashboard \
+ --cluster-version 1.13 --zone europe-west3-b \
+ $CLUSTER_NAME
+
+kubectl create clusterrolebinding mt-admin --user "$(gcloud config get-value core/account)" --clusterrole cluster-admin
+
+kubectl get nodes
+
The cluster will created in roughly 5 minutes. Next you have to install Istio. The steps are exactly the same as above. Only the last step where we configure the DNS is different since GKE use kube-dns instead of core-dns. Execute the command below to stub the DNS.
+
kubectl apply -f - <<EOF
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: kube-dns
+ namespace: kube-system
+data:
+ stubDomains: |
+ {"global": ["$(kubectl get svc -n istio-system istiocoredns -o jsonpath={.spec.clusterIP})"]}
+EOF
+
The Postcard sample application - part II
+
On the second cluster we deploy the messenger app that simply sends a message back. The message can be configures via an environment variable. Install the messenger the app with the kubectl
command below.
+
# Deploy greeter pod and service
+curl -L \
+ https://raw.githubusercontent.com/npalm/cross-cluster-mesh-postcard/master/mesh/demo/messenger/messenger.yaml \
+ | sed "s/MESSAGE_TEXT/All good from Google Cloude/" \
+ | kubectl apply -f -
+
Only one step left now. We need to configure the first cluster with a service entry so the mesh knows how to route calls for messanger.default.global
. We switch back to the terminal where we have created the first cluster on Amazon. And lookup using the kubeconfig from the second cluster the ip address of the ingress loadbalancer. Next we create a service entry.
+
# Lookup the ingress ip address
+export CLUSTER_GW_ADDR=$(kubectl \
+ --kubeconfig=kubeconfig-istio-2.config \
+ get svc --selector=app=istio-ingressgateway -n istio-system \
+ -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}')
+echo $CLUSTER_GW_ADDR
+
+# Create a service entry
+kubectl apply -f - <<EOF
+apiVersion: networking.istio.io/v1alpha3
+kind: ServiceEntry
+metadata:
+ name: messenger
+spec:
+ hosts:
+ - messenger.default.global
+ location: MESH_INTERNAL
+ ports:
+ - name: http1
+ number: 3000
+ protocol: http
+ resolution: DNS
+ addresses:
+ - 127.127.42.69
+ endpoints:
+ - address: $CLUSTER_GW_ADDR
+ ports:
+ http1: 15443 # Do not change this port value
+EOF
+
Now our postcard application should get the message from the second cluster, go back to the browser and refresh the page. You should now see card as below.
+
+
+
+
+
+
+
+
+
That is all you need to do for creating a cross cluster service mesh.
+
Cleanup
+
The cleanup steps below assume you created fresh cluster and don’t use them for hosting other applications. The Amazon cluster was created via eksctl
. This tool actually create cloud formation stacks in Amazon. Before you delete the stack, you need to delete the load balancer created by Istio.
+
# Find the load balancer
+aws elb describe-load-balancers | jq -r ".LoadBalancerDescriptions[].LoadBalancerName"
+
+# delete the load balancer
+aws elb delete-load-balancer --load-balancer-name <lb-name>
+
Now you can delete the cluster, the deletion is a asynchronous process. Ensure you verify the deletion went well. In case it fails, happens many times to me. Delete the VPC and retry the delete via cloud formation.
+
delete cluster --name mesh-1 --region=eu-central-1
+
For Google Cloud the deletion is very easy. Deletion of the cluster will delete all dependent resources.
+
cloud container clusters delete --zone europe-west3-b $CLUSTER_NAME
+
Acknowledgements
+
The example used in the blog is inspired by a great talk from Matt Turner at the KubeCon - CloudNativeCon 2019 in Barcelona. His talk and example is available in the blog post Cross-cluster Calls Made Easy with Istio 1.1 .
Read next:
\ No newline at end of file
diff --git a/2019/09/02/automating-the-manual-aws-amplify-deploy/deploy.json b/2019/09/02/automating-the-manual-aws-amplify-deploy/deploy.json
new file mode 100644
index 00000000..cdbbbdd2
--- /dev/null
+++ b/2019/09/02/automating-the-manual-aws-amplify-deploy/deploy.json
@@ -0,0 +1,542 @@
+{"version": 2, "width": 169, "height": 25, "timestamp": 1567365369, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
+[0.708645, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[0.709723, "o", "\u001b]2;my-mac: workspace\u0007\u001b]1;..mplify-deploy\u0007"]
+[0.735284, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mworkspace\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[0.735397, "o", "\u001b[?1h\u001b="]
+[0.735415, "o", "\u001b[?2004h"]
+[1.241489, "o", "a"]
+[1.460531, "o", "\baw"]
+[1.691558, "o", "s"]
+[1.836397, "o", " "]
+[1.988334, "o", "s"]
+[2.266362, "o", "3"]
+[2.836441, "o", " "]
+[3.064374, "o", "m"]
+[3.265268, "o", "b"]
+[3.381089, "o", " "]
+[3.534572, "o", "s"]
+[3.883455, "o", "3"]
+[4.240356, "o", ":"]
+[4.519809, "o", "/"]
+[4.675378, "o", "/"]
+[4.882482, "o", "a"]
+[5.02181, "o", "m"]
+[5.214237, "o", "p"]
+[5.482434, "o", "l"]
+[5.653554, "o", "i"]
+[5.788408, "o", "f"]
+[5.949093, "o", "y"]
+[6.199314, "o", "-"]
+[6.414252, "o", "b"]
+[6.520349, "o", "l"]
+[6.692344, "o", "o"]
+[6.826734, "o", "g"]
+[7.005314, "o", "-"]
+[7.202351, "o", "d"]
+[7.361066, "o", "e"]
+[7.446211, "o", "p"]
+[7.694359, "o", "l"]
+[7.856321, "o", "o"]
+[8.054245, "o", "y"]
+[8.27548, "o", "m"]
+[8.404296, "o", "e"]
+[8.52792, "o", "n"]
+[8.65008, "o", "t"]
+[9.893471, "o", "\u001b[?1l\u001b>"]
+[9.893543, "o", "\u001b[?2004l\r\r\n"]
+[9.894471, "o", "\u001b]2;aws s3 mb s3://amplify-blog-deployment\u0007\u001b]1;aws\u0007"]
+[11.042333, "o", "make_bucket: amplify-blog-deployment\r\n"]
+[11.084894, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[11.085027, "o", "\u001b]2;my-mac: workspace\u0007\u001b]1;..mplify-deploy\u0007"]
+[11.111604, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mworkspace\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[11.111734, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
+[12.558105, "o", "a"]
+[12.960917, "o", "\baw"]
+[13.157615, "o", "s"]
+[13.245767, "o", " "]
+[13.366118, "o", "a"]
+[13.535068, "o", "m"]
+[13.714125, "o", "p"]
+[13.918179, "o", "l"]
+[14.098146, "o", "i"]
+[14.563519, "o", "fy\u001b[1m \u001b[0m"]
+[15.117185, "o", "\b\u001b[0m c"]
+[15.317177, "o", "r"]
+[15.420367, "o", "e"]
+[15.989915, "o", "ate-"]
+[16.569282, "o", "a"]
+[17.117434, "o", "pp\u001b[1m \u001b[0m"]
+[18.198006, "o", "\b\u001b[0m -"]
+[18.378513, "o", "-"]
+[18.627463, "o", "n"]
+[18.718308, "o", "a"]
+[18.823861, "o", "m"]
+[18.940106, "o", "e"]
+[19.039805, "o", " "]
+[19.214224, "o", "b"]
+[19.307911, "o", "l"]
+[19.467096, "o", "o"]
+[19.543, "o", "g"]
+[19.762443, "o", "\u001b[?1l\u001b>"]
+[19.762513, "o", "\u001b[?2004l\r\r\n"]
+[19.763191, "o", "\u001b]2;aws amplify create-app --name blog\u0007\u001b]1;aws\u0007"]
+[34.957776, "o", "{\r\n \"app\": {\r\n \"appId\": \"d25lnwiltxy68p\",\r\n \"appArn\": \"arn:aws:amplify:eu-west-1:123456789:apps/d25lnwiltxy68p\",\r\n \"name\": \"blog\",\r\n \"platform\": \"WEB\",\r\n \"createTime\": 1567365403.869,\r\n "]
+[34.957851, "o", "\"updateTime\": 1567365403.869,\r\n \"defaultDomain\": \"d25lnwiltxy68p.amplifyapp.com\",\r\n \"enableBranchAutoBuild\": false,\r\n \"enableBasicAuth\": false,\r\n \"customRules\": [],\r\n \"enableAutoBranchCreation\": false\r\n }\r\n}\r\n"]
+[35.002927, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[35.002991, "o", "\u001b]2;my-mac: workspace\u0007\u001b]1;..mplify-deploy\u0007"]
+[35.030498, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mworkspace\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[35.030563, "o", "\u001b[?1h\u001b="]
+[35.030705, "o", "\u001b[?2004h"]
+[35.987825, "o", "."]
+[36.270285, "o", "\b./"]
+[38.256874, "o", "a"]
+[38.512197, "o", "w"]
+[38.752251, "o", "s-amplify-deploy.sh\u001b[1m \u001b[0m"]
+[40.33991, "o", "\b\u001b[0m -"]
+[42.114701, "o", "a"]
+[42.521436, "o", " "]
+[46.030755, "o", "\u001b[7md25lnwiltxy68p\u001b[27m"]
+[46.442982, "o", "\u001b[14D\u001b[27md\u001b[27m2\u001b[27m5\u001b[27ml\u001b[27mn\u001b[27mw\u001b[27mi\u001b[27ml\u001b[27mt\u001b[27mx\u001b[27my\u001b[27m6\u001b[27m8\u001b[27mp "]
+[46.769674, "o", "-"]
+[47.302769, "o", "b"]
+[47.676204, "o", " "]
+[48.024594, "o", "t"]
+[48.221661, "o", "e"]
+[48.459473, "o", "s"]
+[48.681625, "o", "t"]
+[48.780086, "o", " "]
+[49.208435, "o", "-"]
+[49.444356, "o", "d"]
+[49.577334, "o", " "]
+[49.795769, "o", "."]
+[49.965601, "o", "."]
+[50.16244, "o", "/"]
+[50.390652, "o", "."]
+[50.542374, "o", "."]
+[50.72817, "o", "/"]
+[51.123557, "o", "0"]
+[51.549037, "o", "4"]
+[51.699534, "o", "0"]
+[51.900537, "o", "code\u001b[1m/\u001b[0m"]
+[52.522544, "o", "\b\u001b[0m/b"]
+[53.406551, "o", "\b \b"]
+[53.54737, "o", "b"]
+[53.683654, "o", "l"]
+[53.848458, "o", "o"]
+[53.959929, "o", "g\u001b[1m/\u001b[0m"]
+[54.374288, "o", "\b\u001b[0m/p"]
+[54.560456, "o", "\u0007"]
+[54.560507, "o", "\r\r\n"]
+[54.560671, "o", "\u001b[J\u001b[0mpackage.json \u001b[J\u001b[1;31mpublic\u001b[0m/ \u001b[J\u001b[A\u001b[0m\u001b[27m\u001b[24m\r\u001b[37C./workspace.sh -a d25lnwiltxy68p -b test -d ../../040code/blog/p\u001b[K"]
+[55.494793, "o", "u"]
+[55.607955, "o", "blic\u001b[1m/\u001b[0m"]
+[57.108226, "o", "\b\u001b[0m "]
+[58.051382, "o", "-"]
+[59.824404, "o", "s"]
+[60.117515, "o", " "]
+[65.093275, "o", "\u001b[7mamplify-blog-deploymen\u001b[27m"]
+[65.440614, "o", "\u001b[22D\u001b[27ma\u001b[27mm\u001b[27mp\u001b[27ml\u001b[27mi\u001b[27mf\u001b[27my\u001b[27m-\u001b[27mb\u001b[27ml\u001b[27mo\u001b[27mg\u001b[27m-\u001b[27md\u001b[27me\u001b[27mp\u001b[27ml\u001b[27mo\u001b[27my\u001b[27mm\u001b[27me\u001b[27mnt"]
+[67.555066, "o", "\u001b[?1l\u001b>"]
+[67.555138, "o", "\u001b[?2004l\r\r\n\u001b[J"]
+[67.555984, "o", "\u001b]2;./workspace.sh -a d25lnwiltxy68p -b test -d ../../040code/blog/publi\u0007"]
+[67.556249, "o", "\u001b]1;./workspace.sh\u0007"]
+[68.219134, "o", "Creating branch\r\n"]
+[69.851685, "o", "Creating zip and uploading to S3 bucket amplify-blog-deployment\r\n"]
+[72.897117, "o", "Completed 256.0 KiB/73.8 MiB (410.5 KiB/s) with 1 file(s) remaining\r"]
+[72.98286, "o", "Completed 512.0 KiB/73.8 MiB (721.6 KiB/s) with 1 file(s) remaining\r"]
+[73.03625, "o", "Completed 768.0 KiB/73.8 MiB (1006.7 KiB/s) with 1 file(s) remaining\r"]
+[73.085489, "o", "Completed 1.0 MiB/73.8 MiB (1.2 MiB/s) with 1 file(s) remaining \r"]
+[73.118802, "o", "Completed 1.2 MiB/73.8 MiB (1.5 MiB/s) with 1 file(s) remaining \r"]
+[73.144493, "o", "Completed 1.5 MiB/73.8 MiB (1.7 MiB/s) with 1 file(s) remaining \r"]
+[73.178344, "o", "Completed 1.8 MiB/73.8 MiB (1.9 MiB/s) with 1 file(s) remaining \r"]
+[73.209395, "o", "Completed 2.0 MiB/73.8 MiB (2.1 MiB/s) with 1 file(s) remaining \r"]
+[73.238384, "o", "Completed 2.2 MiB/73.8 MiB (2.3 MiB/s) with 1 file(s) remaining \r"]
+[73.252761, "o", "Completed 2.5 MiB/73.8 MiB (2.6 MiB/s) with 1 file(s) remaining \r"]
+[73.276184, "o", "Completed 2.8 MiB/73.8 MiB (2.7 MiB/s) with 1 file(s) remaining \r"]
+[73.288619, "o", "Completed 3.0 MiB/73.8 MiB (3.0 MiB/s) with 1 file(s) remaining \r"]
+[73.316477, "o", "Completed 3.2 MiB/73.8 MiB (3.1 MiB/s) with 1 file(s) remaining \r"]
+[73.336329, "o", "Completed 3.5 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[73.411539, "o", "Completed 3.8 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[73.430392, "o", "Completed 4.0 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[73.515828, "o", "Completed 4.2 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[73.571977, "o", "Completed 4.5 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[73.590158, "o", "Completed 4.8 MiB/73.8 MiB (3.6 MiB/s) with 1 file(s) remaining \r"]
+[73.63896, "o", "Completed 5.0 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[73.639625, "o", "Completed 5.2 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[73.640073, "o", "Completed 5.5 MiB/73.8 MiB (4.0 MiB/s) with 1 file(s) remaining \r"]
+[73.64132, "o", "Completed 5.8 MiB/73.8 MiB (4.2 MiB/s) with 1 file(s) remaining \r"]
+[73.645221, "o", "Completed 6.0 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[73.698787, "o", "Completed 6.2 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[73.701334, "o", "Completed 6.5 MiB/73.8 MiB (4.6 MiB/s) with 1 file(s) remaining \r"]
+[73.729192, "o", "Completed 6.8 MiB/73.8 MiB (4.6 MiB/s) with 1 file(s) remaining \r"]
+[73.730666, "o", "Completed 7.0 MiB/73.8 MiB (4.8 MiB/s) with 1 file(s) remaining \r"]
+[73.731494, "o", "Completed 7.2 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[73.763904, "o", "Completed 7.5 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[73.764856, "o", "Completed 7.8 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[73.765608, "o", "Completed 8.0 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[73.766898, "o", "Completed 8.2 MiB/73.8 MiB (5.5 MiB/s) with 1 file(s) remaining \r"]
+[73.767122, "o", "Completed 8.5 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[73.794035, "o", "Completed 8.8 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[73.795263, "o", "Completed 9.0 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[73.811888, "o", "Completed 9.2 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[73.828458, "o", "Completed 9.5 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[73.829769, "o", "Completed 9.8 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[73.851928, "o", "Completed 10.0 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[74.013999, "o", "Completed 10.2 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[75.130087, "o", "Completed 10.5 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[75.165563, "o", "Completed 10.8 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[75.216588, "o", "Completed 11.0 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[75.263615, "o", "Completed 11.2 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[75.404788, "o", "Completed 11.5 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[75.40556, "o", "Completed 11.8 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[75.442528, "o", "Completed 12.0 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[75.463589, "o", "Completed 12.2 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[75.4676, "o", "Completed 12.5 MiB/73.8 MiB (3.9 MiB/s) with 1 file(s) remaining \r"]
+[75.901448, "o", "Completed 12.8 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[76.211991, "o", "Completed 13.0 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[76.282579, "o", "Completed 13.2 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[76.330836, "o", "Completed 13.5 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[76.383324, "o", "Completed 13.8 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[76.50293, "o", "Completed 14.0 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[76.504401, "o", "Completed 14.2 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[76.510783, "o", "Completed 14.5 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[76.514144, "o", "Completed 14.8 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[76.515855, "o", "Completed 15.0 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[76.588557, "o", "Completed 15.2 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[76.789157, "o", "Completed 15.5 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.049642, "o", "Completed 15.8 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[77.151769, "o", "Completed 16.0 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[77.162749, "o", "Completed 16.2 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[77.182985, "o", "Completed 16.5 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.453552, "o", "Completed 16.8 MiB/73.8 MiB (3.2 MiB/s) with 1 file(s) remaining \r"]
+[77.45556, "o", "Completed 17.0 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[77.45593, "o", "Completed 17.2 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[77.504554, "o", "Completed 17.5 MiB/73.8 MiB (3.3 MiB/s) with 1 file(s) remaining \r"]
+[77.507109, "o", "Completed 17.8 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.552173, "o", "Completed 17.8 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.650141, "o", "Completed 18.1 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.729547, "o", "Completed 18.3 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.742383, "o", "Completed 18.6 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.826762, "o", "Completed 18.8 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.827242, "o", "Completed 19.1 MiB/73.8 MiB (3.4 MiB/s) with 1 file(s) remaining \r"]
+[77.846857, "o", "Completed 19.3 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[77.853839, "o", "Completed 19.6 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[77.860855, "o", "Completed 19.8 MiB/73.8 MiB (3.6 MiB/s) with 1 file(s) remaining \r"]
+[77.943784, "o", "Completed 20.1 MiB/73.8 MiB (3.5 MiB/s) with 1 file(s) remaining \r"]
+[77.986159, "o", "Completed 20.3 MiB/73.8 MiB (3.6 MiB/s) with 1 file(s) remaining \r"]
+[77.995897, "o", "Completed 20.6 MiB/73.8 MiB (3.6 MiB/s) with 1 file(s) remaining \r"]
+[78.094045, "o", "Completed 20.8 MiB/73.8 MiB (3.6 MiB/s) with 1 file(s) remaining \r"]
+[78.094884, "o", "Completed 21.1 MiB/73.8 MiB (3.6 MiB/s) with 1 file(s) remaining \r"]
+[78.111679, "o", "Completed 21.3 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[78.12707, "o", "Completed 21.6 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[78.163689, "o", "Completed 21.8 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[78.192619, "o", "Completed 22.1 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[78.26431, "o", "Completed 22.3 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[78.283981, "o", "Completed 22.6 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[78.37392, "o", "Completed 22.8 MiB/73.8 MiB (3.7 MiB/s) with 1 file(s) remaining \r"]
+[78.374357, "o", "Completed 23.1 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[78.387059, "o", "Completed 23.3 MiB/73.8 MiB (3.8 MiB/s) with 1 file(s) remaining \r"]
+[78.39695, "o", "Completed 23.6 MiB/73.8 MiB (3.9 MiB/s) with 1 file(s) remaining \r"]
+[78.419341, "o", "Completed 23.8 MiB/73.8 MiB (3.9 MiB/s) with 1 file(s) remaining \r"]
+[78.437451, "o", "Completed 24.1 MiB/73.8 MiB (3.9 MiB/s) with 1 file(s) remaining \r"]
+[78.486757, "o", "Completed 24.3 MiB/73.8 MiB (3.9 MiB/s) with 1 file(s) remaining \r"]
+[78.488919, "o", "Completed 24.6 MiB/73.8 MiB (4.0 MiB/s) with 1 file(s) remaining \r"]
+[78.582216, "o", "Completed 24.8 MiB/73.8 MiB (3.9 MiB/s) with 1 file(s) remaining \r"]
+[78.58263, "o", "Completed 25.1 MiB/73.8 MiB (4.0 MiB/s) with 1 file(s) remaining \r"]
+[78.648341, "o", "Completed 25.3 MiB/73.8 MiB (4.0 MiB/s) with 1 file(s) remaining \r"]
+[78.64853, "o", "Completed 25.6 MiB/73.8 MiB (4.0 MiB/s) with 1 file(s) remaining \r"]
+[78.649304, "o", "Completed 25.8 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.707902, "o", "Completed 26.1 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.74992, "o", "Completed 26.3 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.761906, "o", "Completed 26.6 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.85021, "o", "Completed 26.8 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.85202, "o", "Completed 27.1 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.865463, "o", "Completed 27.3 MiB/73.8 MiB (4.1 MiB/s) with 1 file(s) remaining \r"]
+[78.878756, "o", "Completed 27.6 MiB/73.8 MiB (4.2 MiB/s) with 1 file(s) remaining \r"]
+[78.907509, "o", "Completed 27.8 MiB/73.8 MiB (4.2 MiB/s) with 1 file(s) remaining \r"]
+[78.919978, "o", "Completed 28.1 MiB/73.8 MiB (4.2 MiB/s) with 1 file(s) remaining \r"]
+[78.951298, "o", "Completed 28.3 MiB/73.8 MiB (4.2 MiB/s) with 1 file(s) remaining \r"]
+[78.966965, "o", "Completed 28.6 MiB/73.8 MiB (4.3 MiB/s) with 1 file(s) remaining \r"]
+[79.060056, "o", "Completed 28.8 MiB/73.8 MiB (4.2 MiB/s) with 1 file(s) remaining \r"]
+[79.060533, "o", "Completed 29.1 MiB/73.8 MiB (4.3 MiB/s) with 1 file(s) remaining \r"]
+[79.061564, "o", "Completed 29.3 MiB/73.8 MiB (4.3 MiB/s) with 1 file(s) remaining \r"]
+[79.089013, "o", "Completed 29.6 MiB/73.8 MiB (4.3 MiB/s) with 1 file(s) remaining \r"]
+[79.125586, "o", "Completed 29.8 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[79.145012, "o", "Completed 30.1 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[79.165113, "o", "Completed 30.3 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[79.166173, "o", "Completed 30.6 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[79.286698, "o", "Completed 30.8 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[79.315562, "o", "Completed 31.1 MiB/73.8 MiB (4.4 MiB/s) with 1 file(s) remaining \r"]
+[79.316245, "o", "Completed 31.3 MiB/73.8 MiB (4.5 MiB/s) with 1 file(s) remaining \r"]
+[79.350974, "o", "Completed 31.6 MiB/73.8 MiB (4.5 MiB/s) with 1 file(s) remaining \r"]
+[79.353198, "o", "Completed 31.8 MiB/73.8 MiB (4.5 MiB/s) with 1 file(s) remaining \r"]
+[79.403047, "o", "Completed 32.1 MiB/73.8 MiB (4.5 MiB/s) with 1 file(s) remaining \r"]
+[79.41418, "o", "Completed 32.3 MiB/73.8 MiB (4.5 MiB/s) with 1 file(s) remaining \r"]
+[79.416436, "o", "Completed 32.6 MiB/73.8 MiB (4.6 MiB/s) with 1 file(s) remaining \r"]
+[79.49528, "o", "Completed 32.8 MiB/73.8 MiB (4.5 MiB/s) with 1 file(s) remaining \r"]
+[79.511175, "o", "Completed 33.1 MiB/73.8 MiB (4.6 MiB/s) with 1 file(s) remaining \r"]
+[79.511386, "o", "Completed 33.3 MiB/73.8 MiB (4.6 MiB/s) with 1 file(s) remaining \r"]
+[79.537537, "o", "Completed 33.6 MiB/73.8 MiB (4.6 MiB/s) with 1 file(s) remaining \r"]
+[79.54544, "o", "Completed 33.8 MiB/73.8 MiB (4.7 MiB/s) with 1 file(s) remaining \r"]
+[79.545707, "o", "Completed 34.1 MiB/73.8 MiB (4.7 MiB/s) with 1 file(s) remaining \r"]
+[79.577303, "o", "Completed 34.3 MiB/73.8 MiB (4.7 MiB/s) with 1 file(s) remaining \r"]
+[79.593719, "o", "Completed 34.6 MiB/73.8 MiB (4.7 MiB/s) with 1 file(s) remaining \r"]
+[79.647744, "o", "Completed 34.8 MiB/73.8 MiB (4.7 MiB/s) with 1 file(s) remaining \r"]
+[79.673059, "o", "Completed 35.1 MiB/73.8 MiB (4.7 MiB/s) with 1 file(s) remaining \r"]
+[79.673885, "o", "Completed 35.3 MiB/73.8 MiB (4.8 MiB/s) with 1 file(s) remaining \r"]
+[79.694494, "o", "Completed 35.6 MiB/73.8 MiB (4.8 MiB/s) with 1 file(s) remaining \r"]
+[79.720809, "o", "Completed 35.8 MiB/73.8 MiB (4.8 MiB/s) with 1 file(s) remaining \r"]
+[79.721228, "o", "Completed 36.1 MiB/73.8 MiB (4.8 MiB/s) with 1 file(s) remaining \r"]
+[79.722425, "o", "Completed 36.3 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[79.7745, "o", "Completed 36.6 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[79.804854, "o", "Completed 36.8 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[79.856631, "o", "Completed 37.1 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[79.857322, "o", "Completed 37.3 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[79.936226, "o", "Completed 37.6 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[79.987938, "o", "Completed 37.8 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[80.026324, "o", "Completed 38.1 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[80.030644, "o", "Completed 38.3 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[80.070442, "o", "Completed 38.6 MiB/73.8 MiB (4.9 MiB/s) with 1 file(s) remaining \r"]
+[80.072006, "o", "Completed 38.8 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[80.107935, "o", "Completed 39.1 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[80.177945, "o", "Completed 39.3 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[80.180972, "o", "Completed 39.6 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[80.18158, "o", "Completed 39.8 MiB/73.8 MiB (5.0 MiB/s) with 1 file(s) remaining \r"]
+[80.182263, "o", "Completed 40.1 MiB/73.8 MiB (5.1 MiB/s) with 1 file(s) remaining \r"]
+[80.237507, "o", "Completed 40.3 MiB/73.8 MiB (5.1 MiB/s) with 1 file(s) remaining \r"]
+[80.269015, "o", "Completed 40.6 MiB/73.8 MiB (5.1 MiB/s) with 1 file(s) remaining \r"]
+[80.288763, "o", "Completed 40.8 MiB/73.8 MiB (5.1 MiB/s) with 1 file(s) remaining \r"]
+[80.288944, "o", "Completed 41.1 MiB/73.8 MiB (5.1 MiB/s) with 1 file(s) remaining \r"]
+[80.289684, "o", "Completed 41.3 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.341518, "o", "Completed 41.6 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.354385, "o", "Completed 41.8 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.35523, "o", "Completed 42.1 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.419957, "o", "Completed 42.3 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.420692, "o", "Completed 42.6 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.484303, "o", "Completed 42.8 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.484491, "o", "Completed 43.1 MiB/73.8 MiB (5.2 MiB/s) with 1 file(s) remaining \r"]
+[80.518622, "o", "Completed 43.3 MiB/73.8 MiB (5.3 MiB/s) with 1 file(s) remaining \r"]
+[80.51988, "o", "Completed 43.6 MiB/73.8 MiB (5.3 MiB/s) with 1 file(s) remaining \r"]
+[80.544929, "o", "Completed 43.8 MiB/73.8 MiB (5.3 MiB/s) with 1 file(s) remaining \r"]
+[80.581477, "o", "Completed 44.1 MiB/73.8 MiB (5.3 MiB/s) with 1 file(s) remaining \r"]
+[80.582222, "o", "Completed 44.3 MiB/73.8 MiB (5.3 MiB/s) with 1 file(s) remaining \r"]
+[80.582541, "o", "Completed 44.6 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.618312, "o", "Completed 44.8 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.68815, "o", "Completed 45.1 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.690218, "o", "Completed 45.3 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.690579, "o", "Completed 45.6 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.691847, "o", "Completed 45.8 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.693466, "o", "Completed 46.1 MiB/73.8 MiB (5.5 MiB/s) with 1 file(s) remaining \r"]
+[80.799965, "o", "Completed 46.3 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.824671, "o", "Completed 46.6 MiB/73.8 MiB (5.4 MiB/s) with 1 file(s) remaining \r"]
+[80.825694, "o", "Completed 46.8 MiB/73.8 MiB (5.5 MiB/s) with 1 file(s) remaining \r"]
+[80.842662, "o", "Completed 47.1 MiB/73.8 MiB (5.5 MiB/s) with 1 file(s) remaining \r"]
+[80.854137, "o", "Completed 47.3 MiB/73.8 MiB (5.5 MiB/s) with 1 file(s) remaining \r"]
+[80.86345, "o", "Completed 47.6 MiB/73.8 MiB (5.5 MiB/s) with 1 file(s) remaining \r"]
+[80.86524, "o", "Completed 47.8 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[80.9143, "o", "Completed 48.1 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[80.949512, "o", "Completed 48.3 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[80.969637, "o", "Completed 48.6 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[80.969918, "o", "Completed 48.8 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[80.972052, "o", "Completed 49.1 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[81.018206, "o", "Completed 49.3 MiB/73.8 MiB (5.6 MiB/s) with 1 file(s) remaining \r"]
+[81.019692, "o", "Completed 49.6 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.054982, "o", "Completed 49.8 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.094563, "o", "Completed 50.1 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.160631, "o", "Completed 50.3 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.161341, "o", "Completed 50.6 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.161847, "o", "Completed 50.8 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.162563, "o", "Completed 51.1 MiB/73.8 MiB (5.7 MiB/s) with 1 file(s) remaining \r"]
+[81.163945, "o", "Completed 51.3 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.185899, "o", "Completed 51.6 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.190325, "o", "Completed 51.8 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.2772, "o", "Completed 52.1 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.278049, "o", "Completed 52.3 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.279454, "o", "Completed 52.6 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.339857, "o", "Completed 52.8 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.384942, "o", "Completed 53.1 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.386135, "o", "Completed 53.3 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.386278, "o", "Completed 53.6 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.415937, "o", "Completed 53.8 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.556003, "o", "Completed 54.1 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.5568, "o", "Completed 54.3 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.584511, "o", "Completed 54.6 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.616551, "o", "Completed 54.8 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.776085, "o", "Completed 55.1 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.852209, "o", "Completed 55.3 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.869796, "o", "Completed 55.6 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.872201, "o", "Completed 55.8 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.873016, "o", "Completed 56.1 MiB/73.8 MiB (5.8 MiB/s) with 1 file(s) remaining \r"]
+[81.873314, "o", "Completed 56.3 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.876007, "o", "Completed 56.6 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.876397, "o", "Completed 56.8 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.933874, "o", "Completed 57.1 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.942456, "o", "Completed 57.3 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[81.942817, "o", "Completed 57.6 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[81.947283, "o", "Completed 57.8 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[82.039404, "o", "Completed 58.1 MiB/73.8 MiB (5.9 MiB/s) with 1 file(s) remaining \r"]
+[82.04085, "o", "Completed 58.3 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[82.058345, "o", "Completed 58.6 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[82.059337, "o", "Completed 58.8 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[82.059578, "o", "Completed 59.1 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[82.099433, "o", "Completed 59.3 MiB/73.8 MiB (6.0 MiB/s) with 1 file(s) remaining \r"]
+[82.117793, "o", "Completed 59.6 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.142632, "o", "Completed 59.8 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.144084, "o", "Completed 60.1 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.207181, "o", "Completed 60.3 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.231689, "o", "Completed 60.6 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.232744, "o", "Completed 60.8 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.336358, "o", "Completed 61.1 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.337703, "o", "Completed 61.3 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.338059, "o", "Completed 61.6 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.340307, "o", "Completed 61.8 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.341551, "o", "Completed 62.1 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.34288, "o", "Completed 62.3 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.46719, "o", "Completed 62.6 MiB/73.8 MiB (6.1 MiB/s) with 1 file(s) remaining \r"]
+[82.472171, "o", "Completed 62.8 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.472877, "o", "Completed 63.1 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.473103, "o", "Completed 63.3 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.481927, "o", "Completed 63.6 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.49901, "o", "Completed 63.8 MiB/73.8 MiB (6.2 MiB/s) with 1 file(s) remaining \r"]
+[82.514989, "o", "Completed 64.1 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.515636, "o", "Completed 64.3 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.607567, "o", "Completed 64.6 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.60894, "o", "Completed 64.8 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.655252, "o", "Completed 65.1 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.655389, "o", "Completed 65.3 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \rCompleted 65.6 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.746189, "o", "Completed 65.8 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.747035, "o", "Completed 66.1 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.781922, "o", "Completed 66.3 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.784681, "o", "Completed 66.6 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.784836, "o", "Completed 66.8 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[82.811845, "o", "Completed 67.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[82.908422, "o", "Completed 67.3 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[82.910146, "o", "Completed 67.6 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[82.9102, "o", "Completed 67.8 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[82.911205, "o", "Completed 68.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[82.912432, "o", "Completed 68.3 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[82.965981, "o", "Completed 68.6 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.015794, "o", "Completed 68.8 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.016179, "o", "Completed 69.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.016773, "o", "Completed 69.3 MiB/73.8 MiB (6.5 MiB/s) with 1 file(s) remaining \r"]
+[83.01749, "o", "Completed 69.6 MiB/73.8 MiB (6.5 MiB/s) with 1 file(s) remaining \r"]
+[83.119399, "o", "Completed 69.8 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.187003, "o", "Completed 70.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.281286, "o", "Completed 70.3 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.281504, "o", "Completed 70.6 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.281717, "o", "Completed 70.8 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.342536, "o", "Completed 71.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.405006, "o", "Completed 71.3 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.406172, "o", "Completed 71.6 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.406744, "o", "Completed 71.8 MiB/73.8 MiB (6.5 MiB/s) with 1 file(s) remaining \r"]
+[83.456081, "o", "Completed 72.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.513855, "o", "Completed 72.3 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.588547, "o", "Completed 72.6 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.677325, "o", "Completed 72.8 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.754124, "o", "Completed 73.1 MiB/73.8 MiB (6.4 MiB/s) with 1 file(s) remaining \r"]
+[83.833189, "o", "Completed 73.3 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[83.919311, "o", "Completed 73.6 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[83.988559, "o", "Completed 73.8 MiB/73.8 MiB (6.3 MiB/s) with 1 file(s) remaining \r"]
+[84.200976, "o", "upload: ./test.zip to s3://amplify-blog-deployment/test.zip \r\n"]
+[87.071748, "o", "Waiting for job current status RUNNING\r\n"]
+[95.630919, "o", "Waiting for job current status RUNNING\r\n"]
+[104.039855, "o", "Waiting for job current status RUNNING\r\n"]
+[113.015489, "o", "Waiting for job current status RUNNING\r\n"]
+[121.572466, "o", "Waiting for job current status RUNNING\r\n"]
+[130.157988, "o", "Waiting for job current status RUNNING\r\n"]
+[138.713388, "o", "Waiting for job current status RUNNING\r\n"]
+[148.034635, "o", "Waiting for job current status RUNNING\r\n"]
+[157.433116, "o", "Waiting for job current status RUNNING\r\n"]
+[166.938038, "o", "Waiting for job current status RUNNING\r\n"]
+[175.369685, "o", "Waiting for job current status RUNNING\r\n"]
+[183.789036, "o", "Waiting for job current status RUNNING\r\n"]
+[192.230718, "o", "Waiting for job current status RUNNING\r\n"]
+[200.562637, "o", "Waiting for job current status RUNNING\r\n"]
+[208.87744, "o", "Waiting for job current status RUNNING\r\n"]
+[217.409451, "o", "Waiting for job current status RUNNING\r\n"]
+[226.243564, "o", "Waiting for job current status RUNNING\r\n"]
+[235.422648, "o", "Waiting for job current status RUNNING\r\n"]
+[244.492845, "o", "Waiting for job current status RUNNING\r\n"]
+[253.813939, "o", "Waiting for job current status SUCCEED\r\n"]
+[261.839805, "o", "2019-09-01T19:17:36 [INFO]: Starting Deployment\r\n2019-09-01T19:17:36 [INFO]: Deploying component---src-templates-tags-js-246b5f3ef84605384230.js.map\r\n2019-09-01T19:17:37 [INFO]: Deploying rss.xml\r\n2019-09-01T19:17:38 [INFO]: Deploying component---src-templates-blog-post-js-6e52eeb3246ca14c1467.js\r\n2019-09-01T19:17:38 [INFO]: Deploying 3-4d73c1baf9953aba24ed.js.map\r\n2019-09-01T19:17:38 [INFO]: Deploying 2-93c9cb5d06cf1f47b5bf.js\r\n2019-09-01T19:17:38 [INFO]: Deploying component---src-pages-404-js-11c3986ca33f38cfb2b8.js.map\r\n2019-09-01T19:17:38 [INFO]: Deploying 14-aa326f36fe73015bd5f3.js\r\n2019-09-01T19:17:38 [INFO]: Deploying asciinema-player.js\r\n2019-09-01T19:17:38 [INFO]: Deploying favicon.ico\r\n2019-09-01T19:17:38 [INFO]: Deploying workbox-v3.6.3/workbox-streams.prod.js\r\n2019-09-01T19:17:38 [INFO]: Deploying workbox-v3.6.3/workbox-core.dev.js\r\n2019-09-01T19:17:38 [INFO]: Deploying workbox-v3.6.3/workbox-core.prod.js.map\r\n2019-09-01T19:17:38 [INFO]: Deploying workbox-v3.6.3/workbox-range-requests.dev.js.map\r\n"]
+[261.840144, "o", "2019-09-01T19:17:38 [INFO]: Deploying workbox-v3.6.3/workbox-google-analytics.prod.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-cacheable-response.dev.js.map\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-background-sync.prod.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-routing.dev.js.map\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-strategies.dev.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-cache-expiration.dev.js.map\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-sw.js.map\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-broadcast-cache-update.dev.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-cache-expiration.prod.js.map\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-routing.dev.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-background-sync.prod.js.map\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-core.prod.js\r\n2019-09-01T"]
+[261.840407, "o", "19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-range-requests.prod.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-google-analytics.dev.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-precaching.prod.js\r\n2019-09-01T19:17:39 [INFO]: Deploying workbox-v3.6.3/workbox-cacheable-response.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-cacheable-response.prod.js\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-broadcast-cache-update.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-precaching.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-strategies.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-strategies.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-precaching.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-broadcast-cache-update.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-google-an"]
+[261.840671, "o", "alytics.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-core.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-background-sync.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-navigation-preload.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-cache-expiration.prod.js\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-streams.dev.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-google-analytics.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-cache-expiration.dev.js\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-sw.js\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-streams.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-routing.prod.js.map\r\n2019-09-01T19:17:40 [INFO]: Deploying workbox-v3.6.3/workbox-range-requests.dev.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-broadcast-cache-update"]
+[261.841044, "o", ".prod.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-cacheable-response.dev.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-streams.dev.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-background-sync.dev.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-precaching.dev.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-routing.prod.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-navigation-preload.prod.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-navigation-preload.dev.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-strategies.prod.js\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-navigation-preload.dev.js.map\r\n2019-09-01T19:17:41 [INFO]: Deploying workbox-v3.6.3/workbox-range-requests.prod.js.map\r\n2019-09-01T19:17:41 [INFO]: Deploying 2-93c9cb5d06cf1f47b5bf.js.map\r\n2019-09-01T19:17:41 [INFO]: Deploying component---node-modules-gatsby-plugin-offline-app-shell-js-"]
+[261.84125, "o", "e7d83f3aca32b19d7eca.js\r\n2019-09-01T19:17:41 [INFO]: Deploying offline-plugin-app-shell-fallback/index.html\r\n2019-09-01T19:17:41 [INFO]: Deploying index.html\r\n2019-09-01T19:17:41 [INFO]: Deploying 3-4d73c1baf9953aba24ed.js\r\n2019-09-01T19:17:41 [INFO]: Deploying component---src-templates-blog-post-js-6e52eeb3246ca14c1467.js.map\r\n2019-09-01T19:17:41 [INFO]: Deploying component---src-templates-page-js-abf7edb15f3db38b2f92.js.map\r\n2019-09-01T19:17:42 [INFO]: Deploying istio-arch-fdc858d2c1e5605229e86884e3838713.svg\r\n2019-09-01T19:17:42 [INFO]: Deploying authors/jeroen/index.html\r\n2019-09-01T19:17:42 [INFO]: Deploying authors/niek/index.html\r\n2019-09-01T19:17:42 [INFO]: Deploying authors/maarten/index.html\r\n2019-09-01T19:17:42 [INFO]: Deploying authors/stefan/index.html\r\n2019-09-01T19:17:42 [INFO]: Deploying images/cover.jpg\r\n2019-09-01T19:17:43 [INFO]: Deploying 14-aa326f36fe73015bd5f3.js.map\r\n2019-09-01T19:17:43 [INFO]: Deploying webpack-runtime-bc3c5c2119af5f96dfdd.js\r\n2019-09-01T19:17:43 [INFO]: Deploying 1-71"]
+[261.841351, "o", "e2f819df9369c863b9.js.map\r\n2019-09-01T19:17:43 [INFO]: Deploying app-d55c8dc5d8b86890c590.js\r\n2019-09-01T19:17:43 [INFO]: Deploying webpack-runtime-bc3c5c2119af5f96dfdd.js.map\r\n2019-09-01T19:17:43 [INFO]: Deploying 404.html\r\n2019-09-01T19:17:44 [INFO]: Deploying app-d55c8dc5d8b86890c590.js.map\r\n2019-09-01T19:17:44 [INFO]: Deploying about/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying component---src-templates-blog-list-template-js-4244168454bdd7b6ce63.js.map\r\n2019-09-01T19:17:44 [INFO]: Deploying asciinema-player.css\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/04/21/gitlab-perodic-build/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/05/20/graphql/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/05/07/docker-multi-stage-builds/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/10/19/graphql-geecon/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/10/01/microhack-zappa-io/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/07/01/visualising-bezier-curves/index.html\r\n2019-09-01T19:17"]
+[261.841561, "o", ":44 [INFO]: Deploying 2017/07/12/visualizing-bezier-curves-part-2/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/09/05/full-stack-fest-2017/index.html\r\n2019-09-01T19:17:44 [INFO]: Deploying 2017/09/19/immutable-infrastructure/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying 2017/09/08/full-stack-fest-2017-frontend/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying 2017/06/18/coding-a-vpc-in-terraform/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying 2017/12/09/runners-on-the-spot/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying 2017/12/09/runners-on-the-spot/register.json\r\n2019-09-01T19:17:45 [INFO]: Deploying 2017/12/09/runners-on-the-spot/terraform.json\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/svg/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/microservices/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/terraform/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/docker/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/service mesh/index.html\r\n2019-09-01T19:17:45 [INFO]:"]
+[261.843787, "o", " Deploying tags/gitlab/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/klipse/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/react-native/index.html\r\n2019-09-01T19:17:45 [INFO]: Deploying tags/python/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/css/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/clojure/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/security/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/serverless/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/google/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/rust/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/brew/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/bézier/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/clojurescript/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/java/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/iot/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/canvas/index.html\r\n2019-09-01T19:17:46 [INFO]: Deploying tags/amplify"]
+[261.84392, "o", "/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/cicd/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/mac/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/blockchain/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/aframe/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/shadow-cljs/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/graphql/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/microhack/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/cloud/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/ast/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/fullstack/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/aws/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/incanter/index.html\r\n2019-09-01T19:17:47 [INFO]: Deploying tags/javascript/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/kubernetes/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/serviceworkers/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/react/index.html"]
+[261.844055, "o", "\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/functional/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/git/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/xp/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying tags/spring/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying webpack.stats.json\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/03/21/spring-boot-graphql/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/03/15/mob-programming/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/03/13/git-bisect/index.html\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/03/13/git-bisect/git-bisect-1.json\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/03/13/git-bisect/git-bisect-2.json\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/03/13/git-bisect/git-bisect-3.json\r\n2019-09-01T19:17:48 [INFO]: Deploying 2019/04/02/react-native-navigation-and-clojurescript/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying 2019/04/20/discovery-agent/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying 2019/04/18/cloudrun/index.html\r\n20"]
+[261.844181, "o", "19-09-01T19:17:49 [INFO]: Deploying 2019/04/18/cloudrun/deploy.json\r\n2019-09-01T19:17:49 [INFO]: Deploying 2019/04/18/cloudrun/build.json\r\n2019-09-01T19:17:49 [INFO]: Deploying 2019/07/01/cross-cluster-service-mesh/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying 2019/09/02/branch-deployments-aws-amplify/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying pages-manifest-6d4bc733d553dedc1583.js\r\n2019-09-01T19:17:49 [INFO]: Deploying multicluster-with-gateways-4463b084153941d1edea7583fe0befcf.svg\r\n2019-09-01T19:17:49 [INFO]: Deploying .nojekyll\r\n2019-09-01T19:17:49 [INFO]: Deploying 2018/03/04/verlet-integration/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying 2018/05/26/immutable-infrastructure-taipei/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying 2018/02/14/service-discovery-on-aws/index.html\r\n2019-09-01T19:17:49 [INFO]: Deploying 2018/09/05/full-stack-fest-2018/index.html\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/09/18/full-stack-fest-2018-frontend/index.html\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/"]
+[261.844338, "o", "08/08/microhack-brew-your-code/index.html\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/08/22/maze-generation/index.html\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/01/30/microhack-fargate/fargate-ec2.json\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/01/30/microhack-fargate/index.html\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/01/30/microhack-fargate/fargate-terraform-1.json\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/01/30/microhack-fargate/fargate-terraform-3.json\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/01/30/microhack-fargate/fargate-terraform-2.json\r\n2019-09-01T19:17:50 [INFO]: Deploying 2018/01/30/microhack-fargate/fargate-terraform-4.json\r\n2019-09-01T19:17:50 [INFO]: Deploying component---src-templates-authors-js-92815d20e671579c92f3.js\r\n2019-09-01T19:17:50 [INFO]: Deploying component---src-templates-page-js-abf7edb15f3db38b2f92.js\r\n2019-09-01T19:17:50 [INFO]: Deploying idb-keyval-iife.min.js\r\n2019-09-01T19:17:50 [INFO]: Deploying styles-13d2ee47eddc5325ccbc.js.map\r\n2019-09-01T19:17:50 [INFO]: Deployi"]
+[261.844462, "o", "ng 1-71e2f819df9369c863b9.js\r\n2019-09-01T19:17:50 [INFO]: Deploying component---node-modules-gatsby-plugin-offline-app-shell-js-e7d83f3aca32b19d7eca.js.map\r\n2019-09-01T19:17:51 [INFO]: Deploying static/2017-12-09-runners-on-the-spot-fb-b1bbbf8f054dbb6905be8c32e83a5735.png\r\n2019-09-01T19:17:51 [INFO]: Deploying static/2019-04-20-discovery-agent-tw-d4a1fef152bac0814c246179261ca3c6.png\r\n2019-09-01T19:17:52 [INFO]: Deploying static/2017-05-07-docker-multi-stage-builds-fb-51a31d569efb9835b0dbe7cf6cc50a09.png\r\n2019-09-01T19:17:52 [INFO]: Deploying static/vanmoll-brew-3c84164187555670cd7a390b08411c63.jpg\r\n2019-09-01T19:17:53 [INFO]: Deploying static/2018-01-30-microhack-fargate-tw-225197210f0ca93bedfa6b7d64f6c671.png\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/2d849/bezier-formula.png\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/4837b/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/b9e4f/bezier-for"]
+[261.844588, "o", "mula.png\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/2f819/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/f7e40/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/799b2/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/cf440/bezier-formula.png\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/da990/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/1a2f4/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/cc182/bezier-formula.webp\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/f9b6a/bezier-formula.png\r\n2019-09-01T19:17:53 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/bbefa/bezier-formula.png\r\n2019-09-01T19:17:54 [INFO]: Deploying static/b1db3caa87d4878344715c08553"]
+[261.844699, "o", "bba4e/435fe/bezier-formula.png\r\n2019-09-01T19:17:54 [INFO]: Deploying static/b1db3caa87d4878344715c08553bba4e/d2d38/bezier-formula.png\r\n2019-09-01T19:17:54 [INFO]: Deploying static/2018-09-18-full-stack-fest-2018-frontend-fb-4652855fefad091683d3b0c199a21429.png\r\n2019-09-01T19:17:55 [INFO]: Deploying static/2019-03-13-git-bisect-tw-b2dbaf8201499400ac2815d6d96aa50d.png\r\n2019-09-01T19:17:55 [INFO]: Deploying static/silly-walk-this-way-dommeltunnel-fa8b1ac5e32852678cbc2c78aa5d244d.png\r\n2019-09-01T19:17:55 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/2d849/postcard-1.png\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/e71d5/postcard-1.webp\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/4837b/postcard-1.webp\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/b9e4f/postcard-1.png\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/cef07/postcard-1.png\r\n2019-09-01T19:17:56 [INFO]: Deployi"]
+[261.844862, "o", "ng static/65a524c772eee3938ab0a86e19810340/2f819/postcard-1.webp\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/f7e40/postcard-1.webp\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/cf440/postcard-1.png\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/1a2f4/postcard-1.webp\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/cc182/postcard-1.webp\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/f9b6a/postcard-1.png\r\n2019-09-01T19:17:56 [INFO]: Deploying static/65a524c772eee3938ab0a86e19810340/d2d38/postcard-1.png\r\n"]
+[261.866199, "o", "2019-09-01T19:17:57 [INFO]: Deploying static/2017-07-01-visualising-bezier-curves-fb-33e505693a4ca6d586cd83277a18be5f.png\r\n2019-09-01T19:17:57 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/2d849/subscription-graphiql.png\r\n2019-09-01T19:17:57 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/4837b/subscription-graphiql.webp\r\n2019-09-01T19:17:57 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/b9e4f/subscription-graphiql.png\r\n2019-09-01T19:17:57 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/4c844/subscription-graphiql.png\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/2f819/subscription-graphiql.webp\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/f7e40/subscription-graphiql.webp\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/cf440/subscription-graphiql.png\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/1a2f4/subscription-graphiql.webp\r\n2019-09-0"]
+[261.866576, "o", "1T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/cc182/subscription-graphiql.webp\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/f9b6a/subscription-graphiql.png\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/d2d38/subscription-graphiql.png\r\n2019-09-01T19:17:58 [INFO]: Deploying static/6026081f5abfc5afc1a7ae1bc5b1753b/5c933/subscription-graphiql.webp\r\n2019-09-01T19:17:58 [INFO]: Deploying static/2017-12-09-runners-on-the-spot-tw-6722873f2d4ed28f373d12d84d49ddad.png\r\n2019-09-01T19:17:59 [INFO]: Deploying static/niek-33924bef0dbe92caa26387587a06c8a9.jpg\r\n2019-09-01T19:17:59 [INFO]: Deploying static/noodle_niek-793ac5a581997290cedafd86d6d228e5.jpg\r\n2019-09-01T19:17:59 [INFO]: Deploying static/2018-09-05-full-stack-fest-2018-tw-814915930b4f9662fdc79bfca74fdfde.png\r\n2019-09-01T19:17:59 [INFO]: Deploying static/graffiti-hooftlaan-a108217da221cfca9f7df3e178813167.jpg\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039"]
+[261.866863, "o", "d616df57f2/0fafd/ecs-black.png\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/b9e4f/ecs-black.png\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/f7e40/ecs-black.webp\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/cf440/ecs-black.png\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/1a2f4/ecs-black.webp\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/cc182/ecs-black.webp\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/d2d38/ecs-black.png\r\n2019-09-01T19:18:00 [INFO]: Deploying static/443737e7fb3b235929b039d616df57f2/fbf2e/ecs-black.webp\r\n2019-09-01T19:18:01 [INFO]: Deploying static/htc-06b63a032c22422dd87709dd0c84a427.jpg\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/4837b/cloudrun.webp\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/b9e4f/cloudrun.png\r\n2019-09-01T"]
+[261.867139, "o", "19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/f7e40/cloudrun.webp\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/cf440/cloudrun.png\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/1a2f4/cloudrun.webp\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/cc182/cloudrun.webp\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/f9b6a/cloudrun.png\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/ba53b/cloudrun.webp\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/f4a98/cloudrun.png\r\n2019-09-01T19:18:02 [INFO]: Deploying static/9201c77f13425f78aa06016d543a4292/d2d38/cloudrun.png\r\n2019-09-01T19:18:02 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/2d849/container-definition.png\r\n2019-09-01T19:18:02 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/4837b/container-definition.webp\r\n2019-09-01T19:18:02 [INFO]"]
+[261.867425, "o", ": Deploying static/97f5936174c67199672f40abfcc13a0d/b9e4f/container-definition.png\r\n2019-09-01T19:18:02 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/cb54e/container-definition.webp\r\n2019-09-01T19:18:02 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/2f819/container-definition.webp\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/f7e40/container-definition.webp\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/799b2/container-definition.webp\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/cf440/container-definition.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/1a2f4/container-definition.webp\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/cc182/container-definition.webp\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/f9b6a/container-definition.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f593617"]
+[261.867762, "o", "4c67199672f40abfcc13a0d/bbefa/container-definition.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/86e91/container-definition.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/97f5936174c67199672f40abfcc13a0d/d2d38/container-definition.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/2017-04-21-gitlab-perodic-build-tw-6e4896750472192647d1727368587e9e.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/2d849/ghost.png\r\n2019-09-01T19:18:03 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/4837b/ghost.webp\r\n2019-09-01T19:18:03 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/b9e4f/ghost.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/6de9f/ghost.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/2f819/ghost.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/87621/ghost.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f20"]
+[261.868052, "o", "1439b10aa5e2ce199557/f7e40/ghost.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/799b2/ghost.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/cf440/ghost.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/1a2f4/ghost.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/cc182/ghost.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/f9b6a/ghost.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/bbefa/ghost.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/d4b535fa8f201439b10aa5e2ce199557/d2d38/ghost.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/2d849/ecs-fargate-diagram.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/4837b/ecs-fargate-diagram.webp\r\n2019-09-01T19:18:04 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/b9e4f/ecs-fargate-di"]
+[261.868302, "o", "agram.png\r\n2019-09-01T19:18:04 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/2f819/ecs-fargate-diagram.webp\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/f7e40/ecs-fargate-diagram.webp\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/cf440/ecs-fargate-diagram.png\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/0309e/ecs-fargate-diagram.png\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/1a2f4/ecs-fargate-diagram.webp\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/cc182/ecs-fargate-diagram.webp\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/a1c21/ecs-fargate-diagram.webp\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/f9b6a/ecs-fargate-diagram.png\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2701f076404b39a83e017aadc9c77c86/d2d38/ecs-fargate-diagram.png\r\n2019-09-01T19:18:05 [INFO]:"]
+[261.868641, "o", " Deploying static/2017-06-18-coding-a-vpc-in-terraform-tw-77c0dbeee7969dd37c02e1b493b0555c.png\r\n2019-09-01T19:18:05 [INFO]: Deploying static/2017-10-01-microhack-zappa-io-fb-f37eae8cae6bc47e95c85ee86f99c056.png\r\n2019-09-01T19:18:06 [INFO]: Deploying static/110c23341dfbfef4c9a08632a2d31764/f7e40/ecs1.webp\r\n2019-09-01T19:18:06 [INFO]: Deploying static/110c23341dfbfef4c9a08632a2d31764/cf440/ecs1.png\r\n2019-09-01T19:18:06 [INFO]: Deploying static/110c23341dfbfef4c9a08632a2d31764/cc182/ecs1.webp\r\n2019-09-01T19:18:06 [INFO]: Deploying static/110c23341dfbfef4c9a08632a2d31764/98017/ecs1.png\r\n2019-09-01T19:18:06 [INFO]: Deploying static/110c23341dfbfef4c9a08632a2d31764/efddf/ecs1.webp\r\n2019-09-01T19:18:06 [INFO]: Deploying static/110c23341dfbfef4c9a08632a2d31764/d2d38/ecs1.png\r\n2019-09-01T19:18:06 [INFO]: Deploying static/2019-04-18-cloudrun-fb-95d2d43f96c484d1ac1cf36bf3096e0e.png\r\n2019-09-01T19:18:07 [INFO]: Deploying static/2018-09-05-full-stack-fest-2018-fb-b81f0c041e4694579695909a6da85267.png\r\n2019-09-01T19:18:08 ["]
+[261.868882, "o", "INFO]: Deploying static/2017-09-08-full-stack-fest-2017-frontend-tw-397a642b92b1c4f45fb90fce98f95378.png\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/b9e4f/ecs2.png\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/5eb91/ecs2.webp\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/f7e40/ecs2.webp\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/cf440/ecs2.png\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/1a2f4/ecs2.webp\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/cc182/ecs2.webp\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/16bf3/ecs2.png\r\n2019-09-01T19:18:08 [INFO]: Deploying static/79183530a7cd706df5ac94b8fa05bc07/d2d38/ecs2.png\r\n2019-09-01T19:18:09 [INFO]: Deploying static/2019-03-21-spring-boot-graphql-tw-2957ea29d47a08f6200f67cbafbb8ec3.png\r\n2019-09-01T19:18:09 [INFO]: Deploying static/"]
+[261.86921, "o", "7939492cd776e600e6a708d894019b3b/c739e/fullstackfest-2018-05.jpg\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/4837b/fullstackfest-2018-05.webp\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/f7e40/fullstackfest-2018-05.webp\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/86447/fullstackfest-2018-05.webp\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/5413e/fullstackfest-2018-05.jpg\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/8ee9c/fullstackfest-2018-05.jpg\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/1a2f4/fullstackfest-2018-05.webp\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/cc182/fullstackfest-2018-05.webp\r\n2019-09-01T19:18:09 [INFO]: Deploying static/7939492cd776e600e6a708d894019b3b/1f853/fullstackfest-2018-05.jpg\r\n2019-09-01T19:18:10 [INFO]: Deploying static/7939492cd776e600e6a7"]
+[261.869326, "o", "08d894019b3b/ebbe7/fullstackfest-2018-05.jpg\r\n2019-09-01T19:18:10 [INFO]: Deploying static/2019-03-15-mob-programming-fb-614c1e294662f67c2828bcdfcbecf1b2.png\r\n2019-09-01T19:18:11 [INFO]: Deploying static/2018-08-22-maze-generation-fb-4fce98ecef460e0588aef42fd1f3b1fc.png\r\n2019-09-01T19:18:12 [INFO]: Deploying static/vanmoll-9deca8f9cae03ac353e72108cd408345.jpg\r\n2019-09-01T19:18:12 [INFO]: Deploying static/d72abc30f3bffb6109f050d2ed9661db/53236/hi-shadow.png\r\n2019-09-01T19:18:12 [INFO]: Deploying static/d72abc30f3bffb6109f050d2ed9661db/f7e40/hi-shadow.webp\r\n2019-09-01T19:18:12 [INFO]: Deploying static/d72abc30f3bffb6109f050d2ed9661db/cf440/hi-shadow.png\r\n2019-09-01T19:18:12 [INFO]: Deploying static/d72abc30f3bffb6109f050d2ed9661db/fa50d/hi-shadow.webp\r\n2019-09-01T19:18:12 [INFO]: Deploying static/d72abc30f3bffb6109f050d2ed9661db/cc182/hi-shadow.webp\r\n2019-09-01T19:18:12 [INFO]: Deploying static/d72abc30f3bffb6109f050d2ed9661db/d2d38/hi-shadow.png\r\n2019-09-01T19:18:12 [INFO]: Deploying static/building-d7594d009e"]
+[261.869415, "o", "1e2d280fa304cb0cb944aa.jpg\r\n2019-09-01T19:18:13 [INFO]: Deploying static/2018-05-26-immutable-infrastructure-taipei-tw-b5653ef6d1c993bfe619ef8d08919073.png\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/2d849/runner.png\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/4837b/runner.webp\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/a0d55/runner.png\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/b9e4f/runner.png\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/2f819/runner.webp\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/f7e40/runner.webp\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/cf440/runner.png\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/1a2f4/runner.webp\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/cc182/runner.webp"]
+[261.869704, "o", "\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/f9b6a/runner.png\r\n2019-09-01T19:18:13 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/1752f/runner.webp\r\n2019-09-01T19:18:14 [INFO]: Deploying static/d9ff5713181f96b5c776524cd5081007/d2d38/runner.png\r\n2019-09-01T19:18:14 [INFO]: Deploying static/2018-08-08-microhack-brew-your-code-fb-c4ebbbdb49da819aec930d1b121a5440.png\r\n2019-09-01T19:18:14 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/2d849/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/75e7c/gitlabtrigger.webp\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/4837b/gitlabtrigger.webp\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/b9e4f/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/85af7/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/2f819/gitlabtrig"]
+[261.869956, "o", "ger.webp\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/f7e40/gitlabtrigger.webp\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/799b2/gitlabtrigger.webp\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/cf440/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/1a2f4/gitlabtrigger.webp\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/cc182/gitlabtrigger.webp\r\n"]
+[261.870195, "o", "2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/f9b6a/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/bbefa/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/b3a83e80a7d7dd93b35da7f9921e9cb1/d2d38/gitlabtrigger.png\r\n2019-09-01T19:18:15 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/2d849/CIDER.png\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/4837b/CIDER.webp\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/b9e4f/CIDER.png\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/2f819/CIDER.webp\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/f7e40/CIDER.webp\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/cf440/CIDER.png\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/bdd6f/CIDER.webp\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1"]
+[261.870274, "o", "e404e8ffcec755960604bc6e57072cc/1a2f4/CIDER.webp\r\n2019-09-01T19:18:16 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/2f8d2/CIDER.png\r\n2019-09-01T19:18:17 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/cc182/CIDER.webp\r\n2019-09-01T19:18:17 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/f9b6a/CIDER.png\r\n2019-09-01T19:18:17 [INFO]: Deploying static/1e404e8ffcec755960604bc6e57072cc/d2d38/CIDER.png\r\n2019-09-01T19:18:17 [INFO]: Deploying static/watertoren-78b444e964a5c0cd2e0dfbe34c302fba.jpg\r\n2019-09-01T19:18:17 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/c739e/fullstackfest-2018-06.jpg\r\n2019-09-01T19:18:17 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/4837b/fullstackfest-2018-06.webp\r\n2019-09-01T19:18:17 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/f7e40/fullstackfest-2018-06.webp\r\n2019-09-01T19:18:17 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/86447/fullstackfest-2018-06.webp\r\n2019-09-01T19:18:18 [INFO]: Deploying static/cc0b6c7"]
+[261.870576, "o", "68c218a58053f1fa4f69d18c0/5413e/fullstackfest-2018-06.jpg\r\n2019-09-01T19:18:18 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/8ee9c/fullstackfest-2018-06.jpg\r\n2019-09-01T19:18:18 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/1a2f4/fullstackfest-2018-06.webp\r\n2019-09-01T19:18:18 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/cc182/fullstackfest-2018-06.webp\r\n2019-09-01T19:18:18 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/1f853/fullstackfest-2018-06.jpg\r\n2019-09-01T19:18:18 [INFO]: Deploying static/cc0b6c768c218a58053f1fa4f69d18c0/ebbe7/fullstackfest-2018-06.jpg\r\n2019-09-01T19:18:19 [INFO]: Deploying static/2018-05-26-immutable-infrastructure-taipei-fb-55a1b8fe412db904f5bd90d27e076d94.png\r\n2019-09-01T19:18:19 [INFO]: Deploying static/2017-07-01-visualising-bezier-curves-tw-9b9691be8a03fb262d178136a2228fb5.png\r\n2019-09-01T19:18:20 [INFO]: Deploying static/htc-lake-369589ee557ddb5b19206e8ff5507bd8.jpg\r\n2019-09-01T19:18:20 [INFO]: Deploying static/2017-09-05-full-sta"]
+[261.870739, "o", "ck-fest-2017-fb-1a1cb3e091e20726445fa6f11209d65c.png\r\n2019-09-01T19:18:20 [INFO]: Deploying static/2019-04-02-react-native-navigation-and-clojurescript-tw-b31a8d3e2f965504587b4e29023d3a5a.png\r\n2019-09-01T19:18:21 [INFO]: Deploying static/2017-07-12-visualizing-bezier-curves-part-2-fb-ac0f6ed32802c312fa054c1befcf8e49.png\r\n2019-09-01T19:18:21 [INFO]: Deploying static/2017-07-12-visualizing-bezier-curves-part-2-tw-3f7cf220abe698bfd59a339561c8b4f0.png\r\n2019-09-01T19:18:22 [INFO]: Deploying static/maarten-b624c09d16f57ec1af95207a604b1a67.png\r\n2019-09-01T19:18:22 [INFO]: Deploying static/radioroyaal-276528a82e2e3cd4cba9ffe3b583fc39.png\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/4837b/ecs-fargate-2.webp\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/b9e4f/ecs-fargate-2.png\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/f7e40/ecs-fargate-2.webp\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953"]
+[261.870851, "o", "d4c/cf440/ecs-fargate-2.png\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/fde25/ecs-fargate-2.webp\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/1a2f4/ecs-fargate-2.webp\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/a7b2a/ecs-fargate-2.png\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/cc182/ecs-fargate-2.webp\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/f9b6a/ecs-fargate-2.png\r\n2019-09-01T19:18:23 [INFO]: Deploying static/9bf9eac181171c2eb608b40db7953d4c/d2d38/ecs-fargate-2.png\r\n2019-09-01T19:18:24 [INFO]: Deploying static/2018-03-04-verlet-integration-fb-1075812cbe4a640595cd6eb9bf2dcc6b.png\r\n2019-09-01T19:18:24 [INFO]: Deploying static/stefan-8eefba74df664acc9589875d6e229a8b.png\r\n2019-09-01T19:18:24 [INFO]: Deploying static/hendry_dunant_park-7544a1ecce84d50d573c6c2c3397a89c.jpg\r\n2019-09-01T19:18:26 [INFO]: Deploying static/stefan_header-88e3970"]
+[261.870985, "o", "0c545e235af6e9a43c3d505c7.jpg\r\n2019-09-01T19:18:28 [INFO]: Deploying static/2019-04-20-discovery-agent-fb-36d76c188d5a19fe2c90f56d755a1ec7.png\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/2bf51/nat-gateway-diagram.png\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/b9e4f/nat-gateway-diagram.png\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/f7e40/nat-gateway-diagram.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/cf440/nat-gateway-diagram.png\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/1a2f4/nat-gateway-diagram.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/cc182/nat-gateway-diagram.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/4eead/nat-gateway-diagram.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/8b78637f33297f5081063556e8f76152/d2d38/nat-gateway-diagram.png\r\n2019"]
+[261.871105, "o", "-09-01T19:18:29 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/c739e/next.jpg\r\n2019-09-01T19:18:29 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/4837b/next.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/2e7c6/next.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/2f819/next.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/f7e40/next.webp\r\n2019-09-01T19:18:29 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/799b2/next.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/5413e/next.jpg\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/8ee9c/next.jpg\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/4efde/next.jpg\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/1a2f4/next.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/cc18"]
+[261.871244, "o", "2/next.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/ebbe7/next.jpg\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/bd777/next.jpg\r\n2019-09-01T19:18:30 [INFO]: Deploying static/98859e900abc953ee763aec06b7be55e/abfc3/next.jpg\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/2d849/ec2.png\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/4837b/ec2.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/b9e4f/ec2.png\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/6ecdf/ec2.png\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/2c53d/ec2.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/2f819/ec2.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/f7e40/ec2.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726"]
+[261.871372, "o", "989/799b2/ec2.webp\r\n2019-09-01T19:18:30 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/cf440/ec2.png\r\n2019-09-01T19:18:31 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/1a2f4/ec2.webp\r\n2019-09-01T19:18:31 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/cc182/ec2.webp\r\n2019-09-01T19:18:31 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/f9b6a/ec2.png\r\n2019-09-01T19:18:31 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/bbefa/ec2.png\r\n2019-09-01T19:18:31 [INFO]: Deploying static/da22dc7ce8a7f28e3d3a087312726989/d2d38/ec2.png\r\n2019-09-01T19:18:31 [INFO]: Deploying static/htc-roof-15facbba55a16b853fe086464f31ff96.jpg\r\n2019-09-01T19:18:31 [INFO]: Deploying static/2019-03-21-spring-boot-graphql-fb-502d44ccc8d0aaa287b8970d293c1d4e.png\r\n2019-09-01T19:18:32 [INFO]: Deploying static/irisbuurt-d220bada027f3c65a14e03539c0ad7df.jpg\r\n2019-09-01T19:18:33 [INFO]: Deploying static/piazza-4e7cab4e75f74c20f03a8b093b0c4b34.jpg\r\n2019-09-01T19:18:35 [INFO]: Deploying static/2017-09"]
+[261.871481, "o", "-08-full-stack-fest-2017-frontend-fb-3aeefcced7414b64cbd192836ff6094c.png\r\n2019-09-01T19:18:35 [INFO]: Deploying static/evoluon-9f0ab370c0600504672aced739410981.jpg\r\n2019-09-01T19:18:36 [INFO]: Skipping deploying of existing file static/2017-09-19-immutable-infrastructure-fb-55a1b8fe412db904f5bd90d27e076d94.png\r\n2019-09-01T19:18:36 [INFO]: Deploying static/2018-02-14-service-discovery-on-aws-tw-672a03726baa5dbeea7061a814101dd9.png\r\n2019-09-01T19:18:36 [INFO]: Deploying static/ehv-noord-d6ba9047bcc3ffc35364d14fb5af82f9.jpg\r\n2019-09-01T19:18:36 [INFO]: Deploying static/2018-09-18-full-stack-fest-2018-frontend-tw-e09bcd39aec3efd234befc5666a01739.png\r\n2019-09-01T19:18:37 [INFO]: Deploying static/2018-02-14-service-discovery-on-aws-fb-acf3ef09c68c9029cf39b9e064a08436.png\r\n2019-09-01T19:18:38 [INFO]: Deploying static/2019-03-13-git-bisect-fb-c828bc6020244be8db0c5769e5b42a96.png\r\n2019-09-01T19:18:38 [INFO]: Deploying static/jeroen-b53f5b9833116617548433f49469749d.png\r\n2019-09-01T19:18:39 [INFO]: Deploying static/bac"]
+[261.871611, "o", "kground-ef76868918e8cbf73b8630f576dfb64d.jpeg\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/2d849/query-graphiql.png\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/4837b/query-graphiql.webp\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/b9e4f/query-graphiql.png\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/2f819/query-graphiql.webp\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/f7e40/query-graphiql.webp\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/cf440/query-graphiql.png\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/1a2f4/query-graphiql.webp\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/cc182/query-graphiql.webp\r\n2019-09-01T19:18:39 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/f9b6a/query-graphiql.png\r\n2019-09-01T19:18:40 [INFO]: Deployin"]
+[261.871731, "o", "g static/9ff63ab7efb668275ae7734226197070/ace41/query-graphiql.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/05a98/query-graphiql.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/9ff63ab7efb668275ae7734226197070/d2d38/query-graphiql.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/2d849/incanter-plots.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/4837b/incanter-plots.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/b9e4f/incanter-plots.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/aa8a7/incanter-plots.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/03ee7/incanter-plots.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/2f819/incanter-plots.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/f7e40/incanter-plots.webp\r\n2019-09-01T19:1"]
+[261.871846, "o", "8:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/799b2/incanter-plots.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/cf440/incanter-plots.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/1a2f4/incanter-plots.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/cc182/incanter-plots.webp\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/f9b6a/incanter-plots.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/bbefa/incanter-plots.png\r\n2019-09-01T19:18:40 [INFO]: Deploying static/f3b08b6678464a9c1d1a938bf03381a7/d2d38/incanter-plots.png\r\n2019-09-01T19:18:41 [INFO]: Deploying static/2017-06-18-coding-a-vpc-in-terraform-fb-863703b2009a9211abe4b344e40f6394.png\r\n2019-09-01T19:18:41 [INFO]: Deploying static/2017-05-07-docker-multi-stage-builds-tw-3ae3a359585ebd85ae966ae67d33d986.png\r\n2019-09-01T19:18:41 [INFO]: Skipping deploying of existing fil"]
+[261.871952, "o", "e static/2017-09-19-immutable-infrastructure-tw-b5653ef6d1c993bfe619ef8d08919073.png\r\n2019-09-01T19:18:42 [INFO]: Deploying static/2017-04-21-gitlab-perodic-build-fb-369bcaec54d95129cc31681c66a464b1.png\r\n2019-09-01T19:18:42 [INFO]: Deploying static/daf-43f53daff1a5111c290b15d643012e36.jpg\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/4837b/ecs-fargate.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/b9e4f/ecs-fargate.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/89595/ecs-fargate.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/f7e40/ecs-fargate.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/cf440/ecs-fargate.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/1a2f4/ecs-fargate.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/1da3d/ecs-fargate.webp\r\n2019-09-01T19:18:43 [I"]
+[261.872074, "o", "NFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/cc182/ecs-fargate.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/f9b6a/ecs-fargate.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/05b2cf60a35d313afb24fcc3ffa029f7/d2d38/ecs-fargate.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/da387eeec0b28916536105175d5acc1b/f7e40/stick-math.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/da387eeec0b28916536105175d5acc1b/cf440/stick-math.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/da387eeec0b28916536105175d5acc1b/cc182/stick-math.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/da387eeec0b28916536105175d5acc1b/bb106/stick-math.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/da387eeec0b28916536105175d5acc1b/a57bd/stick-math.webp\r\n2019-09-01T19:18:43 [INFO]: Deploying static/da387eeec0b28916536105175d5acc1b/d2d38/stick-math.png\r\n2019-09-01T19:18:43 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/c739e/fullstackfest-2018-04.jpg\r\n2019-09-01T19:18:44 [INFO]: "]
+[261.872161, "o", "Deploying static/372f789c65751ab2e73b27d9f42bccc4/4837b/fullstackfest-2018-04.webp\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/f7e40/fullstackfest-2018-04.webp\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/86447/fullstackfest-2018-04.webp\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/5413e/fullstackfest-2018-04.jpg\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/8ee9c/fullstackfest-2018-04.jpg\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/1a2f4/fullstackfest-2018-04.webp\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/cc182/fullstackfest-2018-04.webp\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/1f853/fullstackfest-2018-04.jpg\r\n2019-09-01T19:18:44 [INFO]: Deploying static/372f789c65751ab2e73b27d9f42bccc4/ebbe7/fullstackfest-2018-04.jpg\r\n2019-09-01T19:18:45 [INFO]: Deploying static/201"]
+[261.872256, "o", "9-03-15-mob-programming-tw-6033ca281fbd23edc8d390539daa1379.png\r\n2019-09-01T19:18:45 [INFO]: Deploying static/skybar-nh-5e382551d6e003d3316cdd65280345a9.jpg\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/b9e4f/gitlab-runner.png\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/f7e40/gitlab-runner.webp\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/cf440/gitlab-runner.png\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/1a2f4/gitlab-runner.webp\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/7ec06/gitlab-runner.png\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/cc182/gitlab-runner.webp\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/7dd13/gitlab-runner.webp\r\n2019-09-01T19:18:45 [INFO]: Deploying static/fd91ecffb8159f85b66f5b526bb498f5/d2d38/gitlab-runner.png\r\n2019-09-01T19:18:45 [INFO]: Deploying "]
+[261.87237, "o", "static/011bd2ac37ea96e5e9f8fb6aace495b0/a038c/world-constraints.png\r\n2019-09-01T19:18:45 [INFO]: Deploying static/011bd2ac37ea96e5e9f8fb6aace495b0/f7e40/world-constraints.webp\r\n2019-09-01T19:18:45 [INFO]: Deploying static/011bd2ac37ea96e5e9f8fb6aace495b0/cf440/world-constraints.png\r\n2019-09-01T19:18:45 [INFO]: Deploying static/011bd2ac37ea96e5e9f8fb6aace495b0/cc182/world-constraints.webp\r\n2019-09-01T19:18:45 [INFO]: Deploying static/011bd2ac37ea96e5e9f8fb6aace495b0/26f56/world-constraints.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/011bd2ac37ea96e5e9f8fb6aace495b0/d2d38/world-constraints.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/2d849/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/4837b/cloudwatch.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/b9e4f/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/2f819/cloudwatch.webp\r\n2019-09-01T19:1"]
+[261.872525, "o", "8:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/f7e40/cloudwatch.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/799b2/cloudwatch.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/cf440/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/1a2f4/cloudwatch.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/7c78f/cloudwatch.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/cc182/cloudwatch.webp\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/f9b6a/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/bbefa/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/26fc7/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploying static/1111ac4745032de3c599fdfa409cd4b1/d2d38/cloudwatch.png\r\n2019-09-01T19:18:46 [INFO]: Deploy"]
+[261.872637, "o", "ing static/4057abb6191a311489b325f4862fca92/c739e/fullstackfest-2018-01.jpg\r\n2019-09-01T19:18:46 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/4837b/fullstackfest-2018-01.webp\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/f7e40/fullstackfest-2018-01.webp\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/86447/fullstackfest-2018-01.webp\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/5413e/fullstackfest-2018-01.jpg\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/8ee9c/fullstackfest-2018-01.jpg\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/1a2f4/fullstackfest-2018-01.webp\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/cc182/fullstackfest-2018-01.webp\r\n"]
+[261.890675, "o", "2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/1f853/fullstackfest-2018-01.jpg\r\n2019-09-01T19:18:47 [INFO]: Deploying static/4057abb6191a311489b325f4862fca92/ebbe7/fullstackfest-2018-01.jpg\r\n2019-09-01T19:18:47 [INFO]: Deploying static/blob_glow-fbdbbca72604c9ad67cb9e4af73dcbce.jpg\r\n2019-09-01T19:18:48 [INFO]: Deploying static/2017-05-20-graphql-tw-56226075e29a99ea4527a86fded79e38.png\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/2d849/docker-multi-stages-build.png\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/4837b/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/b9e4f/docker-multi-stages-build.png\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/2f819/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/f7e40/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]"]
+[261.890826, "o", ": Deploying static/9f19fe775a09640a4724e3e5fd31b87b/799b2/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/cf440/docker-multi-stages-build.png\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/2cc55/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/1a2f4/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/cc182/docker-multi-stages-build.webp\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/f9b6a/docker-multi-stages-build.png\r\n2019-09-01T19:18:48 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/bbefa/docker-multi-stages-build.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/bb319/docker-multi-stages-build.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/9f19fe775a09640a4724e3e5fd31b87b/d2d38/docker-multi-stages-build.png\r\n2019-09-01T"]
+[261.891111, "o", "19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/4837b/sequence.webp\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/b9e4f/sequence.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/f7e40/sequence.webp\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/cf440/sequence.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/1a2f4/sequence.webp\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/cc182/sequence.webp\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/f9b6a/sequence.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/37b61/sequence.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/d2d38/sequence.png\r\n2019-09-01T19:18:49 [INFO]: Deploying static/25e184fa827b834f292338cc7a813f29/5a7f1/sequence.webp\r\n2019-09-01T19:18:49 [INFO]: Deploying static/2017-"]
+[261.89136, "o", "10-01-microhack-zappa-io-tw-9751fd2bb02e356616663fc75ed2afe0.png\r\n2019-09-01T19:18:50 [INFO]: Deploying static/2018-03-04-verlet-integration-tw-820fb699d279aa3f0001635eaa2555d7.png\r\n2019-09-01T19:18:50 [INFO]: Deploying static/lichtjesroute-b9f97017c35783cec4ac4584f1f70e7b.jpg\r\n2019-09-01T19:18:50 [INFO]: Deploying static/2017-10-19-graphql-geecon-tw-ec1040569eb327329063679232da4232.png\r\n2019-09-01T19:18:50 [INFO]: Deploying static/2018-08-22-maze-generation-tw-409593aa2575ccaab4f5af74a120b42e.png\r\n2019-09-01T19:18:51 [INFO]: Deploying static/strijps-containers-5f274d2e7f9dd77747d836a11b317709.jpg\r\n2019-09-01T19:18:51 [INFO]: Deploying static/strijp-s-ols-c51a56e06b3424b578bf1a206115fe45.png\r\n2019-09-01T19:18:52 [INFO]: Deploying static/2018-08-08-microhack-brew-your-code-tw-912f2be18118534e406521c211eef01c.png\r\n2019-09-01T19:18:52 [INFO]: Deploying static/2019-04-02-react-native-navigation-and-clojurescript-fb-2c58e4982617b79dc23038d31876c0b0.png\r\n2019-09-01T19:18:52 [INFO]: Deploying static/6dd99e14345c35fe"]
+[261.891492, "o", "8d067418c788338b/b9e4f/stick-constraints.png\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/f7e40/stick-constraints.webp\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/cf440/stick-constraints.png\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/1a2f4/stick-constraints.webp\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/cc182/stick-constraints.webp\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/4fa70/stick-constraints.png\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/37d0a/stick-constraints.webp\r\n2019-09-01T19:18:53 [INFO]: Deploying static/6dd99e14345c35fe8d067418c788338b/d2d38/stick-constraints.png\r\n2019-09-01T19:18:53 [INFO]: Deploying static/background-2189798784547660788f7fc9de4540b7.png\r\n2019-09-01T19:18:54 [INFO]: Deploying static/2017-09-05-full-stack-fest-2017-tw-4aa37d85ddf6dbd54fade073f0935d7a.png\r\n2019-09-01T19"]
+[261.891598, "o", ":18:54 [INFO]: Deploying static/d/900/path---tags-cloud-bcb-2d3-2tgSH0TNjxd5ynXF434leszGqPM.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/533/path---2018-01-30-microhack-fargate-b-27-c87-JA7sVVWvHhmJEH7nFCsuzVrM7fU.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/739/path---tags-xp-d-8-a-9e0-kLg95FyyxKLjOk3PAIBUsm5QXE.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/991/path---tags-terraform-f-46-814-jBRa9vbTKBDh7Mj5EGhUX1uCsNQ.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/730/path---tags-graphql-f-07-28e-TwY6aAkk3uvBv4WjRgNSxfsEhU.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/505/path---tags-aws-933-bc7-ZAPEok1UEsZtbgRbZbSQOpKSsg.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/561/path---2019-09-02-branch-deployments-aws-amplify-ffa-5cc-L7dscR3s0YEhfSU1ujImkR6XcFk.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/798/path---tags-git-1-a-8-449-qZ9wBPSplcZFiyZcr1Ox1LQw5qQ.json\r\n2019-09-01T19:18:54 [INFO]: Deploying static/d/906/path---2018-08-08-microhack-brew-your-code-330"]
+[261.891952, "o", "-f8e-mCAZJO16lw9BKKMUMglyflo5nE.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/306/path---2019-07-01-cross-cluster-service-mesh-451-3e0-UMyvWUGYjEoYYyIQnbfniiYHm8g.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/963/path---tags-react-native-b-6-a-aec-dZVXT0uzdjfTZ007UTgX7ZxtM.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/355/path---2018-09-05-full-stack-fest-2018-590-46a-mTiLP9b66xU5AvB0iNO1ALpw.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/211/path---tags-google-c-3-f-8ed-VI3aOjFl2YYHPTwSaddYY8Mbw.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/220/path---2017-04-21-gitlab-perodic-build-e-2-b-ab9-FRLqiO82IqqcMmY8y94lozuILU.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/422/path---tags-klipse-a-07-ddb-y9noEF3Sj1e1HYwx5iNwcrk4NM.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/819/path---2017-06-18-coding-a-vpc-in-terraform-504-ea7-8gOz3GkZXTIOWD3c8gt4734fHw.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/275/path---2017-09-05-full-stack-fest-2017-040-61b-3HxtiHUmDi"]
+[261.8922, "o", "fUW7vndjr7ZUPg4.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/892/path---authors-niek-2-c-1-96b-pZCFlan6EBQZ5duolnVSOWoJf8.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/868/path---2017-12-09-runners-on-the-spot-a-31-ed4-ZXMJJhAfgM1UlnrYhat18zXGng.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/497/path---tags-java-0-d-8-249-ijhlX97JQQAycYFkdONBs8xmktg.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/604/path---offline-plugin-app-shell-fallback-a-30-c5a-BawJvyh36KKFwbrWPg4a4aYuc8.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/256/path---how-to-install-e-6-a-567-ugtQigjzIg8fBgfwAAuD5jzAWXA.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/269/path---2019-04-02-react-native-navigation-and-clojurescript-f-04-9c4-V8ZX3PPJKW9OhbKHXKf6w5a1Y.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/202/path---pages-2-e-86-fab-NjajBubpPlp9zYKFWGIYEX7xarY.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/666/path---tags-css-80-d-0f0-JT3pQX0j8w8mXzvYmhVVuxl4bM.json\r\n2019-09-01T19:18:55 [INF"]
+[261.892462, "o", "O]: Deploying static/d/650/path---2017-09-19-immutable-infrastructure-ee-5-b25-5I3nTC0O1dgwhPgjhCGUlQpU.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/379/path---about-46-b-819-g76AoigLrJLU8nYjZ9QPGx8KIRk.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/341/path---tags-fullstack-9-ba-f40-ekOE5anFbWs3SSqrLki3vIjuk.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/9/path---2018-02-14-service-discovery-on-aws-fce-100-kjecAcNNnF0Sbwl7GjISknLOE.json\r\n2019-09-01T19:18:55 [INFO]: Deploying static/d/984/path---tags-security-cad-71b-SrSNodk6g5tZGXQow8pAnPfI9o.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/586/path---index-6a9-72ZBFbe83nj6lfSsOHLOoB9ak.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/111/path---tags-rust-1-bf-8c5-ZKA13emwZWO86gPRiEjP1UU.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/118/path---tags-spring-da-9-9a0-RBi9I4gCRKVh9MpXmiWfOyQIDSo.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/127/path---2018-03-04-verlet-integration-265-924-rddmyew3tKy33riNmgIWzjhLXs.json\r"]
+[261.892669, "o", "\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/74/path---tags-mac-e-13-a9a-rZ2cP8JgUei7XAjF49okw8bJbhU.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/312/path---tags-serviceworkers-f-75-b6d-PIpsCaSMLn1Wom8iRDHbTw1AI.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/17/path---tags-react-636-0ef-sBkaeyPO0U0s0ntc0fuEw6JSni4.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/188/path---authors-jeroen-1-d-9-930-tigSmrWwyWpDHRp3pGajNZgQld0.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/188/path---2017-05-07-docker-multi-stage-builds-aa-6-2cb-mHRSU0Ies73gapedbAlepno33s.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/949/path---tags-microservices-c-0-c-596-G5Zif5yW0TdkY6S4OsPiV36eM.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/913/path---pages-4-032-481-J47EVxqA1jgZtHSt8cgAkyJ8lbQ.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/741/path---tags-kubernetes-13-f-d44-d2pod17wPlFEnb5L2a5F2THX8.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/325/path---tags-clojurescript-d-86-67a-5i"]
+[261.892725, "o", "2Ske6Gmf8ARiT0zGKYtVMxdLc.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/530/path---2018-08-22-maze-generation-383-be4-C6puGVpa4BupXX4GRAo7Bx3HRkE.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/968/path---tags-ast-ead-c1c-11drgWxffuRlqkH4HAzvL4E8Ks.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/366/path---tags-service-mesh-91-e-f86-wpV9Uo2R1EI2qBRItKZDycevs.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/992/path---authors-stefan-9-c-6-7c3-lJcx9lRCa1gG73Rivpbx1lcds.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/555/path---2019-03-13-git-bisect-e-41-7e8-cyqYyFqIUfxJmUsDfsQetpVUYcw.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/932/path---tags-docker-430-6ab-0JV56qHQhKzZ5JO93rqCZesqo.json\r\n2019-09-01T19:18:56 [INFO]: Deploying static/d/590/path---2019-03-21-spring-boot-graphql-039-3d6-ajYX3fXVt3VcbgjXfchXFMQlfM.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/564/path---tags-serverless-a-98-f08-HJ1QoGyTF99zcQS0QvKX9jOFZz8.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/"]
+[261.892916, "o", "d/98/path---2019-03-15-mob-programming-8-c-5-e2c-tCOqgyFUcSuONX3StduPO21JAg.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/969/path---tags-clojure-10-a-108-EylmkP9NoEHLPw1tTU81sR50.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/394/path---tags-blockchain-a-78-b05-YD5mOd45MiyzBvhG6hgKJZ1QU.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/152/path---404-html-516-62a-1dquuc5l6yMX8eLzJeUlwytMO1Y.json\r\n2019-09-01T19:18:57 [INFO]: Skipping deploying of existing file static/d/536/path---404-22-d-bce-1dquuc5l6yMX8eLzJeUlwytMO1Y.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/750/path---tags-python-3-c-5-b61-l30pmzzY0TP9NCUmnytMaXW9e8.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/333/path---2017-10-19-graphql-geecon-9-bc-594-BVkElQS2DoavqEzK8pEmXw057Q.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/270/path---2017-10-01-microhack-zappa-io-821-002-v1os35UaEdtt2Iog2UpDdMjUTlA.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/270/path---tags-iot-933-e10-gYk3HMAQFcZK7LDRjXd31SVV4.json\r\n"]
+[261.893107, "o", "2019-09-01T19:18:57 [INFO]: Deploying static/d/271/path---2018-09-18-full-stack-fest-2018-frontend-6-a-9-f8f-K9DqvhkyvIppe1B9DNa1wZk27s.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/487/path---tags-aframe-72-c-ea0-Bhv0eXRJLh52AzESMcWw36vZOZc.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/641/path---2017-07-01-visualising-bezier-curves-f-79-70e-9JxgpHihmqGrl2kOw1RjckYxk.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/460/path---authors-maarten-98-d-6a6-QJ8gNudEEQCcaINj4b43LA0M3M.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/896/path---tags-gitlab-5-ec-136-uQKp2zduZIktGJFpC4jW3FziKlk.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/254/path---tags-amplify-570-d2d-T45SCN8kZmJpvMAtv2SSFlxAPCk.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/239/path---2018-05-26-immutable-infrastructure-taipei-128-65d-Ipjc6PeqaGplPGTzafW6Kevx0Y.json\r\n2019-09-01T19:18:57 [INFO]: Deploying static/d/806/path---tags-canvas-720-a3f-CwwLcCIJKmoZ4YXiBzFL5VcKdXE.json\r\n2019-09-01T19:18:58 [INFO]: Deploying"]
+[261.893281, "o", " static/d/973/path---tags-svg-ec-4-b5c-PHY69Gg8Sbuq0437euUHDqau3c.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/942/path---tags-microhack-0-f-7-150-pvntbEbDgNhF4rWhwIBt5PbnpQ.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/919/path---tags-javascript-0-c-4-ace-OSdn2o5I8GB5wbbEMgRkxAxVPo.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/579/path---2017-09-08-full-stack-fest-2017-frontend-2-da-00b-n3VmdqDuDa4bhrN1ZUIJXNYXc6Q.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/122/path---tags-brew-6-dd-164-caTFPaMjJjEJp7w0T7hUWWBiRUg.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/745/path---2019-04-18-cloudrun-a-30-f33-aJPRaWULD7VMHkbVGUgBESJfP28.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/78/path---tags-bezier-8-cb-038-t8iSq9fpvIjajQXDPC1l91TmFs.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/583/path---tags-cicd-c-05-909-64zqPdg8xz3awhs6rXXsWRD5uo.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/381/path---pages-3-9-c-0-c36-LIT4g561hrRfCxF6EZvJI1BmWOY.json\r\n2019-09-01T19:"]
+[261.893447, "o", "18:58 [INFO]: Deploying static/d/988/path---2017-07-12-visualizing-bezier-curves-part-2-cab-471-AyFhdvxb1egyfC6yI5OCxwXCuys.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/716/path---2019-04-20-discovery-agent-aba-f6c-JrKTP05eTTFexmcHGmxuyPlQaY.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/140/path---tags-functional-551-f7f-MnkV5SdpwjSoIcMZYwhf99z3UE.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/140/path---tags-shadow-cljs-4-bc-91b-WviuW0L1dcqpaeQq7F0FtJHAiuI.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/718/path---2017-05-20-graphql-5-b-3-9a5-SYkZlO5ejrGQpkoDPTltkHk6Kss.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/d/986/path---tags-incanter-f-03-25c-qcvExQ8pXM4JraPNMHvEkEh3ZhQ.json\r\n2019-09-01T19:18:58 [INFO]: Deploying static/glow-lichttoren-fe8d25eaf57ff60b161ea35ae76cc12b.jpg\r\n2019-09-01T19:18:59 [INFO]: Deploying static/2017-10-19-graphql-geecon-fb-b0f148c50b8d50244d82fe385b78a6e5.png\r\n2019-09-01T19:19:00 [INFO]: Deploying static/containers-strijp-s-865e0fd570fd27aef20a381"]
+[261.893613, "o", "12634d3f2.png\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/b9e4f/postcard-app.png\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/5bf42/postcard-app.webp\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/f7e40/postcard-app.webp\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/cf440/postcard-app.png\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/afda5/postcard-app.png\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/1a2f4/postcard-app.webp\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/cc182/postcard-app.webp\r\n2019-09-01T19:19:00 [INFO]: Deploying static/6854a1ea032315cd528b587ac93d763f/d2d38/postcard-app.png\r\n2019-09-01T19:19:00 [INFO]: Deploying static/8c7e152322e9f76ea8548483ef3a27da/2d1df/model.webp\r\n2019-09-01T19:19:00 [INFO]: Deploying static/8c7e152322e9f76ea8548483ef3a27da/ae69b/model.png"]
+[261.893751, "o", "\r\n2019-09-01T19:19:01 [INFO]: Deploying static/2017-05-20-graphql-fb-c5e19b390c2d58d80329c5912db75890.png\r\n2019-09-01T19:19:02 [INFO]: Deploying static/kanaal_nre-0674e62e10420e4623956fbc2e5563f9.jpg\r\n2019-09-01T19:19:02 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/2d849/postcard-2.png\r\n2019-09-01T19:19:02 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/4837b/postcard-2.webp\r\n2019-09-01T19:19:02 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/b9e4f/postcard-2.png\r\n2019-09-01T19:19:02 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/7aa09/postcard-2.png\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/2f819/postcard-2.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/f7e40/postcard-2.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/cf440/postcard-2.png\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/9c8b8/postcard-2.webp\r\n2019-09-01T19:19:03"]
+[261.893924, "o", " [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/1a2f4/postcard-2.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/cc182/postcard-2.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/f9b6a/postcard-2.png\r\n2019-09-01T19:19:03 [INFO]: Deploying static/75c36dfd28c1fd9ca137ef41c1ed2210/d2d38/postcard-2.png\r\n2019-09-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/2d849/git-bisect-gitx.png\r\n2019-09-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/4837b/git-bisect-gitx.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/b9e4f/git-bisect-gitx.png\r\n2019-09-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/2f819/git-bisect-gitx.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/f7e40/git-bisect-gitx.webp\r\n2019-09-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/b46ec/git-bisect-gitx.webp\r\n2019-09"]
+[261.894061, "o", "-01T19:19:03 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/799b2/git-bisect-gitx.webp\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/cf440/git-bisect-gitx.png\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/11b4b/git-bisect-gitx.png\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/1a2f4/git-bisect-gitx.webp\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/cc182/git-bisect-gitx.webp\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/f9b6a/git-bisect-gitx.png\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/bbefa/git-bisect-gitx.png\r\n2019-09-01T19:19:04 [INFO]: Deploying static/a2c2f3ea72de114df2a5b04b7c6ed1d1/d2d38/git-bisect-gitx.png\r\n2019-09-01T19:19:04 [INFO]: Deploying static/holstlaan-dommel-d5013c3a62451a107813bc5bed7d96ea.jpg\r\n2019-09-01T19:19:05 [INFO]: Deploying static/2019-04-18-cloudrun-tw-e5bb6f4e94b62e6eb790"]
+[261.894238, "o", "7662485e4a13.png\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/c739e/fullstackfest-2018-03.jpg\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/4837b/fullstackfest-2018-03.webp\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/f7e40/fullstackfest-2018-03.webp\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/86447/fullstackfest-2018-03.webp\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/5413e/fullstackfest-2018-03.jpg\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/8ee9c/fullstackfest-2018-03.jpg\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/1a2f4/fullstackfest-2018-03.webp\r\n2019-09-01T19:19:05 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/cc182/fullstackfest-2018-03.webp\r\n2019-09-01T19:19:06 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/1f853/fullstackfest-2018-03.jpg\r\n20"]
+[261.894381, "o", "19-09-01T19:19:06 [INFO]: Deploying static/8546d31b4afde071d50820766c85c7f6/ebbe7/fullstackfest-2018-03.jpg\r\n2019-09-01T19:19:06 [INFO]: Deploying static/background-a4a7d4ba06a7dbc7a26b196482b82095.jpg\r\n2019-09-01T19:19:06 [INFO]: Deploying static/2018-01-30-microhack-fargate-fb-b956a385493c3a547571f1e1965863ac.png\r\n2019-09-01T19:19:06 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/c739e/fullstackfest-2018-02.jpg\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/4837b/fullstackfest-2018-02.webp\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/f7e40/fullstackfest-2018-02.webp\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/86447/fullstackfest-2018-02.webp\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/5413e/fullstackfest-2018-02.jpg\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/8ee9c/fullstackfest-2018-02.jpg\r\n2019-09-01T19:19:07 [INFO]: Deploying"]
+[261.894537, "o", " static/188ff07641625c468567eed2a11b504e/1a2f4/fullstackfest-2018-02.webp\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/cc182/fullstackfest-2018-02.webp\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/1f853/fullstackfest-2018-02.jpg\r\n2019-09-01T19:19:07 [INFO]: Deploying static/188ff07641625c468567eed2a11b504e/ebbe7/fullstackfest-2018-02.jpg\r\n2019-09-01T19:19:07 [INFO]: Deploying icons/icon-192x192.png\r\n2019-09-01T19:19:07 [INFO]: Deploying icons/icon-256x256.png\r\n2019-09-01T19:19:07 [INFO]: Deploying icons/icon-384x384.png\r\n2019-09-01T19:19:07 [INFO]: Deploying icons/icon-72x72.png\r\n2019-09-01T19:19:07 [INFO]: Deploying icons/icon-96x96.png\r\n2019-09-01T19:19:07 [INFO]: Deploying icons/icon-48x48.png\r\n2019-09-01T19:19:08 [INFO]: Deploying icons/icon-512x512.png\r\n2019-09-01T19:19:08 [INFO]: Deploying icons/icon-144x144.png\r\n2019-09-01T19:19:08 [INFO]: Deploying chunk-map.json\r\n2019-09-01T19:19:08 [INFO]: Deploying component---src-templates-authors"]
+[261.894722, "o", "-js-92815d20e671579c92f3.js.map\r\n2019-09-01T19:19:08 [INFO]: Deploying styles-13d2ee47eddc5325ccbc.js\r\n2019-09-01T19:19:08 [INFO]: Deploying styles.131b48b25a50eff60b34.css\r\n2019-09-01T19:19:08 [INFO]: Deploying robots.txt\r\n2019-09-01T19:19:08 [INFO]: Deploying manifest.webmanifest\r\n2019-09-01T19:19:08 [INFO]: Deploying component---src-templates-blog-list-template-js-4244168454bdd7b6ce63.js\r\n2019-09-01T19:19:08 [INFO]: Deploying how-to-install/index.html\r\n2019-09-01T19:19:08 [INFO]: Deploying 404/index.html\r\n2019-09-01T19:19:08 [INFO]: Deploying pages/4/index.html\r\n2019-09-01T19:19:08 [INFO]: Deploying pages/3/index.html\r\n2019-09-01T19:19:08 [INFO]: Deploying pages/2/index.html\r\n2019-09-01T19:19:08 [INFO]: Deploying pages-manifest-6d4bc733d553dedc1583.js.map\r\n2019-09-01T19:19:08 [INFO]: Deploying sw.js\r\n2019-09-01T19:19:08 [INFO]: Deploying component---src-templates-tags-js-246b5f3ef84605384230.js\r\n2019-09-01T19:19:08 [INFO]: Deploying component---src-pages-404-js-11c3986ca33f38cfb2b8.js\r\n2019-09-01T19:19:09 "]
+[261.894885, "o", "[INFO]: Updating Edge config\r\n2019-09-01T19:19:10 [INFO]: Deployment finished.\r\n"]
+[261.897562, "o", "test deployed to https://test.d25lnwiltxy68p.amplifyapp.com/\r\n"]
+[261.898236, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[261.898348, "o", "\u001b]2;my-mac: workspace\u0007\u001b]1;..mplify-deploy\u0007"]
+[261.925102, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mworkspace\u001b[00m \u001b[01;34mgit:(\u001b[31mmaster\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[261.925235, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
+[266.621328, "o", "\u001b[?2004l\r\r\n"]
diff --git a/2019/09/02/automating-the-manual-aws-amplify-deploy/index.html b/2019/09/02/automating-the-manual-aws-amplify-deploy/index.html
new file mode 100644
index 00000000..ead84d2e
--- /dev/null
+++ b/2019/09/02/automating-the-manual-aws-amplify-deploy/index.html
@@ -0,0 +1,227 @@
+Micro Hack - AWS Amplify | 040code This site runs best with JavaScript enabled. Micro Hack - AWS Amplify Automating the manual deployment by: niek on 2019-09-02 This post explain how to deploy a branch from a self hosted Git server to AWS Amplify Console for a web application.
+
+
+ Source code for this post
+
Introduction
+
Last year Amazon released Amplify Console, a feature to easily deploy any branch for your web application to the cloud. Connected Git systems are, GitHub, GitLab, BitBucket and CodeCommit. Which limitted the usage if you code resides in a self hosted Git. Later Amazon added a manual deploy option to deploy based on a zip file. The zip archive can be uploaded via the web interface, an HTTP link or via an S3 bucket. Would be handy if we can automate this process to utilize this AWS feature in a self hosted Git server.
+
+
+
+
+
+
+
+
+
Let’s explore how we can automate the manual option for a self hosted Git server.
+
Step 1 - Create your app
+
The first step is to create you app in Amplify, you can do this in the web console but, we don’t like manual steps. Creating your app is as simple as the the one liner below.
+
export APP_ID = $( aws amplify create-app --name blog | jq -r '.app.appId'
+
The output we capture in a variable APP_ID
for later use.
+
Step 2 - Create branch
+
Before you can deploy a branch, we need to create a branch in Amplify. To avoid we run the command if a the branch already exists we do a quick check. You can also add a password to protect our web app via basic authentication.
+
export BRANCH_NAME = test
+branch_count = $( aws amplify list-branches --app-id $APP_ID | \
+ jq -r '[.branches[] | select(.branchName | contains("' $BRANCH_NAME'") ) ] | length')
+
+if [ [ $branch_count == 0 ] ] ; then
+ basic_auth = $( echo -n blog:somebetterpwd | openssl base64)
+ aws amplify create-branch --app-id $APP_ID \
+ --branch-name $BRANCH_NAME \
+ --enable-basic-auth --basic-auth-credentials $basic_auth
+fi
+
Step 3 - deployment
+
Finally we can deploy our app. Finding a way to deploy automated in the case Amazon was call manually, was a bit hard due to the lack of documentation and posts. For doing a deployment from a non connected Git (aka manual deployment) you have the option in we web console to provide a public link, upload file, or ink to file in S3. The AWS CLI docs does not mention the S3 option. The post Deploy files stored on Amazon S3, Dropbox, or your Desktop to the AWS Amplify Console suggest to upload the file ot a S3 and create a lambda that will a deployment for a new file. We choose a slightly different approach. First we send our app as zip to S3.
+
yarn build && cd build
+zip -r $BRANCH_NAME .zip .
+aws s3 cp $BRANCH_NAME .zip s3://$S3_BUCKET_NAME
+
Now we need to find a way to trigger the deployment. The option --source-url
for starting a deployment does not mention that a S3 url is an option as well. So we tried it and it works perfect.
+
aws amplify start-deployment --app-id $APP_ID \
+ --branch-name $BRANCH_NAME \
+ --source-url s3://$S3_BUCKET_NAME /$BRANCH_NAME .zip
+
Another option to do a deployment is via sending the zip archive to a signed S3 link which will be provided if you leave out the --source-url
option.
+
So that is all we have to do for automating a manual deployment. A script based on the snippets shown above a available on GitHub .
+
+
\ No newline at end of file
diff --git a/2019/09/12/full-stack-fest-2019/index.html b/2019/09/12/full-stack-fest-2019/index.html
new file mode 100644
index 00000000..a0986b10
--- /dev/null
+++ b/2019/09/12/full-stack-fest-2019/index.html
@@ -0,0 +1,243 @@
+Full Stack Fest 2019 | 040code This site runs best with JavaScript enabled. Full Stack Fest 2019 3 days, 1 track, 18 mind-blowing talks. by: jeroen on 2019-09-12 This post contains a brief summary of what I’ve heard on Full Stack Fest 2019 .
+
Introduction
+
I’ve been visiting Full Stack Fest from the very first edition back in 2012. I think it’s a remarkable single track conference with topics which are really relevant for modern developers.
+
Previous years we also wrote blogs about it, these can be found here:
+
+
This year the conference is three days and there’s no clear distinguish between frontend and backend days.
+The location has changed. We’re now in Sitges, a beach place near Barcelona.
+
The first day - 2019-09-04
+
Host
+
We were welcomed by Sara Vieira . She works at codesandbox, which we really like. I also like her humor. She is very direct and I like it very much.
+
Lee Byron - We’re gunna program like it’s 1999
+
I’ve seen Lee Byron at ReactEurope in Paris and this talk had some of the same elements. I really admire Lee for all his work and in showing everybody how we need to continue to change the abstractions, syntax and mental models. He shows the past in the future. Also liked the Svelte code example.
+
Link to presentation
+
+
by Ashley Williams
+
I’m not sure anymore how the talk was called, but she had an amazing talk on making developers tools.
+In her work for Rust / WebAssembly she sees that it’s very important to understand how developers use your tool. You don’t make a product, your enriching a developer.
+There is something like Language Strangeness Budget . When creating tools or clis, this is very important to keep in mind.
+
Our products are like the Fire Flowers. They turn Mario (a developer) into a Fire Mario! Senior developers should become Fire Mario Enablers.
+
Link to presentation
+
Spreading the JAM throughout your CI workflow
+
by Brian Douglas
+
Nice comparison with Baseball. We’re using a JAMstack for this blog (gatsby). Brian showed what the benefits are of JAMstacks. The static pages can be served everywhere. Github has some good workflows to automatically publish sites.
+Showing Github Actions, now, netlify and so on.
+He showed a project Open-sauced . It’s a frontend with github API as backend.
+
Link to presentation
+
How to build a social network entirely on serverless
+
by Yan Cui
+
Interesting talk on how Yan migrated a monolith to a s8s environment. How it saves a lot of money. How it impacted the lead times for features and how he approached it. He showed a little monolith diagram of the application and a big diagram with the current lambda implementation. The latter looked a lot bigger, but as a matter of fact, was a lot less complex. The first diagram had simple boxes with a lot of functionality in it. The last one had a lot of boxes with isolated functions.
+He suggested to put all features in separate github repositories and give the task of deployment to each repository. Monorepos were not easy to use.
+
Link to presentation
+
A programming language for a continuous delivery world.
+
by Ellen Chisa
+Ellen complained about how long it takes to build a simple app. She wanted a simple app to register her mood, but months later, she was finally ready with setting up Rails, Heroku, Twillio, and so on. The end result is workable for herself, but can not even be shared, so there is something wrong. Too much accidental complexity.
+
She’s no co-founder of dark-lang . Dark is a holistic programming language, structured editor, and infrastructure, for building backend web services. It’s for frontend, backend, and mobile engineers.
+
This is all in Alpha testing, but she did some cool live coding to show the basic of dark-lang. We were all very impressed and kinda speechless.
+
Applied Accessibility: Practical Tips for Building More Accessible Front-Ends
+
by Sara Soueidan
+
Very good presentation on the topic of a13y. She showed why it’s so important and how you can improve your apps.
+Although it was already late, people wanted to hear her complete story and that’s a compliment!
+
It has a nice contrast with the prior presentation… this feels like a lot of accidental complexity.
+
Link to presentation
+
Thursday 2019-09-05
+
CSS Houdini Today
+
by Una Kravets
+
Una did a great job in showing the possibilities of Houdini and how this can change the way websites will look. Houdini is not available in all brwosers, but it’s getting there. In Chrome you can already use it when you enable a flag; chrome://flags/#enable-experimental-web-platform-features
Once enabled, you can start programming in CSS. See extra-css for more examples.
+
Link to presentation
+
Your Tests Lack Vision: Adding Eyes to Your Automation Framework
+
by Angie Jones
+
Angie showed how you can miss a lot of things, because people are focussed on only a particular part of the app. She showed a clip Whodunnit? to prove it.
+By running automated tests, you can improve a lot. You’re testing exactly what text should be on the screen and what buttons to click. This seems all fine, but can still cause problems. Are the texts visible? Are they overlapping? Are the labels located correct? These kind of bugs are not rare. All big websites sometimes suffer from these errors. Angie showed a framework which takes screenshots and uses ML to analyse the differences with a baseline. Not pixel by pixel, because that is very brittle.
+
Link to presentation
+
Why P2P deserves another chance
+
by Paul Frazee
+
Paul explained why P2P on the web deserves another chance. He works on the beaker browser. He showed the history of P2P. Napster, Kazaa, LimeWire, and so on. For some reason P2P was very normal, but for some reason P2P fell off. That’s a pity. Beaker re-introduces P2P nodes with the dat://
protocol. P2P gives us Decentralization, Data Privacy, Data Ownership, No dev-ops and the code is truely open source. No hidden boxes on a server, just all code on each peer. Personally I’m passionate about P2P. We’re building an Identity Box using IPFS .
+
Link to presentation
+
Bringing WebAssembly outside the web with WASI
+
by Lin Clark
+
This was a very advanced talk, with probably the most impact on the world of software. WASI (WebAssambly System Interface) is an initiative to run WebAssembly outside the browser. WebAssembly Interface Types interoperate with all the things; languages, wasm, but also browsers and operating systems. This can have impact on everything we currently know. The slides by @codecartoons were very beautiful. I would definitely recommend watching the presentation in the link below.
+
Link to presentation
+
(Programming Languages) in Agda = Programming (Languages in Agda)
+
by Philip Wadler
+
Philip Wadler has a lot of energy, especially when he’s excited about something. In this case functional programming and proofing that your program is doing what you claim it does. In a language called Agda, he can write proofs. He uses github to openly write a book, and emphasises how wonderful that is. Functional Programming is becoming more and more accepted in for example banking. Philip uses Haskell and Agda in Blockchain to prove SmartContracts.
+
Link to presentation
+
The Future of Web Animation
+
by Sarah Drasner
+
Sarah showed us a lot of examples how animations will improve the user experience. She showed a lot of (Vue / Nuxt) code examples how to achieve this.I recommend watching the presentation.
+
Link to presentation
+
Friday 2019-09-06
+
It’s Probably Fine
+
by Cate Huston
+
A great talk on how you can make teams work. I especially liked the part where she talks about the mismatch between team goals and individual incentives. When they are not aligned, it’s very hard to build a team. I recognized this a lot.
+
Link to presentation
+
Standardizing JavaScript Decorators in TC39
+
by Daniel Ehrenberg
+
Daniel is part of the TC39 . He explained how the stages work in TC39. He’s currently responsible for 3 proposals in Stage 3; BigInt , Class Public Instance Fields & Private Instance Fields and Private instance methods and accessors , and 1 proposal in Stage 2; Decorators . The last one you might already have seen in ember, Angular or MobX. Aligning the implementations is a very hard job. They all seem to have a slight different idea on decorators. It’s up to Daniel (and TC39 which have members of the ember, angular in it) to come up with a solution that doesn’t break the web.
+
Link to presentation
+
HTTP/3 - HTTP over QUIC is the next generation
+
by Daniel Stenberg
+
Daniel is the creator of curl
, so he knows a few things about HTTP. HTTP/2 did improve a lot, but Daniel explained how the boxes in between the server and the client are very helpful. They see traffic passing by and they start helping us. This might look useful, but it is not. Especially not when you want to improve the network layer. That’s why HTTP/3 will use UDP instead of TCP. Of course this gives a lot of other interesting problems. Company networks often see UDP as a DDoS attack and blocks it, but in order to improve the speed of the internet, we need to change the protocol. The Head-on-line problem shifted from HTTP level to TCP level when switching to HTTP/2. This causes all streams to be blocked if a package is missing. HTTP/3 with QUIC can resolve the HOL problem on TCP level. This means only one stream is blocked when a package is missing. But it’s a long way… There are a lot of boxes in between..
+
Link to presentation
+
Rust, WebAssembly, and the future of Serverless
+
by Steve Klabnik
+
I love Rust, so I’m not going to talk a lot about this presentation. Steve explains a lot about it and how Rust and the Rust Toolchain can be used for WASM. I recommend everybody to see the presentation. WASM (together with WASI) can be the future of s8s. Currently Docker is the container, but a browser can also be the container with WASM / WASI.
+
Link to presentation
+
Overall
+
FSF 2019 was again a big success. Thanks codegram for organizing it.
\ No newline at end of file
diff --git a/2020/02/14/ecr-scanning-notifier/aws-ecr-notify.json b/2020/02/14/ecr-scanning-notifier/aws-ecr-notify.json
new file mode 100644
index 00000000..17d287e6
--- /dev/null
+++ b/2020/02/14/ecr-scanning-notifier/aws-ecr-notify.json
@@ -0,0 +1,2333 @@
+{"version": 2, "width": 140, "height": 25, "timestamp": 1581795178, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
+[1.310714, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[1.312374, "o", "\u001b]2;niek@Nieks-MacBook-Pro: ~/projects/swat/aws-ecr-scanning-slack-notifications\u0007\u001b]1;..notifications\u0007"]
+[1.349232, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36maws-ecr-scanning-slack-notifications\u001b[00m \u001b[01;34mgit:(\u001b[31mdevelop\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[1.349489, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
+[2.349273, "o", "\r\r\nbck-i-search: _\u001b[K\u001b[A\u001b[41C"]
+[3.164911, "o", "./build-scripts/lam\u001b[4mb\u001b[24mda_package.sh ./src terraform 1.0.0\u001b[1B\u001b[97Db_\u001b[A\u001b[59C"]
+[3.426021, "o", "\u001b[17D\u001b[4mb\u001b[4mu\u001b[24m\u001b[15C\u001b[24mb\u001b[1B\u001b[61Du_\u001b[A\u001b[41C"]
+[3.562335, "o", "\u001b[1C\u001b[4mu\u001b[4mi\u001b[24m\u001b[1B\u001b[45Di_\u001b[A\u001b[40C"]
+[4.041576, "o", "\u001b[24mb\u001b[24mu\u001b[24mi\u001b[1B\r\u001b[K\u001b[A\u001b[58C"]
+[4.041721, "o", "\u001b[?1l\u001b>\u001b[?2004l"]
+[4.041916, "o", "\u001b[1B\r"]
+[4.042869, "o", "\u001b]2;./build-scripts/lambda_package.sh ./src terraform 1.0.0\u0007\u001b]1;./build-scripts/lambda_package.sh\u0007"]
+[4.291251, "o", "\u001b[2K"]
+[4.292189, "o", "\u001b[1G"]
+[4.292349, "o", "\u001b[1myarn install v1.19.1\u001b[22m\r\n"]
+[4.36391, "o", "\u001b[2K\u001b[1G"]
+[4.364136, "o", "\u001b[2m[1/4]\u001b[22m 🔍 Resolving packages...\r\n"]
+[4.364636, "o", "\u001b[1G"]
+[4.364762, "o", "⠁ \u001b[0K"]
+[4.468208, "o", "\u001b[2K\u001b[1G"]
+[4.470319, "o", "\u001b[2K\u001b[1G\u001b[2m[2/4]\u001b[22m 🚚 Fetching packages...\r\n"]
+[4.474616, "o", "\u001b[2K\u001b[1G"]
+[4.475031, "o", "\u001b[1G[-----------------------------------------------------------------------------------------------------------------------------------] 0/220"]
+[4.546955, "o", "\u001b[1G[#####################################################################------------------------------------------------------------] 118/220"]
+[4.599366, "o", "\u001b[2K\u001b[1G\u001b[2m[3/4]\u001b[22m 🔗 Linking dependencies...\r\n"]
+[4.620497, "o", "\u001b[1G[#################################################################################################################################] 220/220"]
+[4.621309, "o", "\u001b[2K\u001b[1G"]
+[4.621342, "o", "\u001b[2K\u001b[1G"]
+[4.621354, "o", "\u001b[1G"]
+[4.621381, "o", "[-----------------------------------] 0/35"]
+[4.692196, "o", "\u001b[2K"]
+[4.692359, "o", "\u001b[1G\u001b[2K\u001b[1G\u001b[1G[----------------------------------------------------------------------------------------------------------------------------------] 0/1813"]
+[4.755052, "o", "\u001b[1G[#############-------------------------------------------------------------------------------------------------------------------] 186/1813"]
+[4.81473, "o", "\u001b[1G[###########################-----------------------------------------------------------------------------------------------------] 383/1813"]
+[4.876748, "o", "\u001b[1G[####################################--------------------------------------------------------------------------------------------] 508/1813"]
+[4.952074, "o", "\u001b[1G[#############################################-----------------------------------------------------------------------------------] 636/1813"]
+[5.017001, "o", "\u001b[1G[###############################################################-----------------------------------------------------------------] 890/1813"]
+[5.088054, "o", "\u001b[1G[#######################################################################--------------------------------------------------------] 1017/1813"]
+[5.163783, "o", "\u001b[1G[################################################################################-----------------------------------------------] 1143/1813"]
+[5.225834, "o", "\u001b[1G[#########################################################################################--------------------------------------] 1268/1813"]
+[5.294711, "o", "\u001b[1G[##################################################################################################-----------------------------] 1394/1813"]
+[5.354789, "o", "\u001b[1G[##########################################################################################################---------------------] 1520/1813"]
+[5.417719, "o", "\u001b[1G[############################################################################################################################---] 1769/1813"]
+[5.465655, "o", "\u001b[2K"]
+[5.465704, "o", "\u001b[1G\u001b[2K\u001b[1G\u001b[1G"]
+[5.465828, "o", "[----------------------------------------------------------------------] 0/70"]
+[5.471841, "o", "\u001b[2K\u001b[1G"]
+[5.471974, "o", "\u001b[2m[4/4]\u001b[22m 🔨 Building fresh packages...\r\n"]
+[5.473739, "o", "\u001b[1B"]
+[5.486155, "o", "\u001b[2K\u001b[1G"]
+[5.486352, "o", "\u001b[2K\u001b[1G✨ Done in 1.20s.\r\n"]
+[5.501616, "o", "~/projects/swat/aws-ecr-scanning-slack-notifications/src ~/projects/swat/aws-ecr-scanning-slack-notifications\r\n"]
+[5.507927, "o", " adding: index.js"]
+[5.508801, "o", " (deflated 60%)\r\n adding: lambda/ (stored 0%)\r\n adding: lambda/vulnerabilities-notifier.js"]
+[5.509576, "o", " (deflated 66%)\r\n adding: lambda/scan-results-analyser.js"]
+[5.510392, "o", " (deflated 58%)\r\n adding: lambda/image-scanner.js"]
+[5.511559, "o", " (deflated 53%)\r\n"]
+[5.512049, "o", "~/projects/swat/aws-ecr-scanning-slack-notifications\r\n"]
+[5.535884, "o", " adding: node_modules/"]
+[5.536047, "o", " (stored 0%)\r\n adding: node_modules/xml2js/ (stored 0%)\r\n adding: node_modules/xml2js/LICENSE"]
+[5.536149, "o", " (deflated 42%)\r\n adding: node_modules/xml2js/README.md"]
+[5.538052, "o", " (deflated 64%)\r\n adding: node_modules/xml2js/package.json"]
+[5.538245, "o", " (deflated 60%)\r\n adding: node_modules/xml2js/lib/"]
+[5.538346, "o", " (stored 0%)\r\n adding: node_modules/xml2js/lib/processors.js (deflated 55%)\r\n adding: node_modules/xml2js/lib/xml2js.js"]
+[5.538455, "o", " (deflated 60%)\r\n adding: node_modules/xml2js/lib/builder.js"]
+[5.538628, "o", " (deflated 75%)\r\n adding: node_modules/xml2js/lib/parser.js"]
+[5.539164, "o", " (deflated 78%)\r\n adding: node_modules/xml2js/lib/defaults.js"]
+[5.539271, "o", " (deflated 71%)\r\n adding: node_modules/xml2js/lib/bom.js"]
+[5.539331, "o", " (deflated 27%)\r\n adding: node_modules/util.promisify/"]
+[5.539408, "o", " (stored 0%)\r\n adding: node_modules/util.promisify/.npmignore"]
+[5.539506, "o", " (deflated 45%)\r\n adding: node_modules/util.promisify/LICENSE"]
+[5.539618, "o", " (deflated 41%)\r\n adding: node_modules/util.promisify/CHANGELOG.md (deflated 22%)\r\n adding: node_modules/util.promisify/.eslintrc"]
+[5.539738, "o", " (deflated 29%)\r\n adding: node_modules/util.promisify/index.js (deflated 56%)\r\n adding: node_modules/util.promisify/README.md"]
+[5.539813, "o", " (deflated 40%)\r\n adding: node_modules/util.promisify/polyfill.js"]
+[5.539896, "o", " (deflated 39%)\r\n adding: node_modules/util.promisify/package.json"]
+[5.539939, "o", " (deflated 54%)\r\n adding: node_modules/util.promisify/shim.js"]
+[5.540059, "o", " (deflated 41%)\r\n adding: node_modules/util.promisify/.travis.yml"]
+[5.540161, "o", " (deflated 87%)\r\n adding: node_modules/util.promisify/implementation.js"]
+[5.540273, "o", " (deflated 65%)\r\n adding: node_modules/.bin/"]
+[5.540378, "o", " (stored 0%)\r\n adding: node_modules/.bin/uuid"]
+[5.540429, "o", " (deflated 69%)\r\n adding: node_modules/punycode/ (stored 0%)\r\n adding: node_modules/punycode/punycode.js"]
+[5.540939, "o", " (deflated 67%)\r\n adding: node_modules/punycode/LICENSE-MIT.txt"]
+[5.541043, "o", " (deflated 41%)\r\n adding: node_modules/punycode/README.md"]
+[5.541242, "o", " (deflated 61%)\r\n adding: node_modules/punycode/package.json"]
+[5.54135, "o", " (deflated 54%)\r\n adding: node_modules/base64-js/ (stored 0%)\r\n adding: node_modules/base64-js/base64js.min.js"]
+[5.541484, "o", " (deflated 54%)\r\n adding: node_modules/base64-js/LICENSE"]
+[5.541578, "o", " (deflated 41%)\r\n adding: node_modules/base64-js/index.js"]
+[5.541721, "o", " (deflated 65%)\r\n adding: node_modules/base64-js/README.md"]
+[5.541814, "o", " (deflated 51%)\r\n adding: node_modules/base64-js/package.json"]
+[5.541895, "o", " (deflated 51%)\r\n adding: node_modules/sax/"]
+[5.541986, "o", " (stored 0%)\r\n adding: node_modules/sax/LICENSE"]
+[5.542082, "o", " (deflated 51%)\r\n adding: node_modules/sax/README.md"]
+[5.542338, "o", " (deflated 58%)\r\n adding: node_modules/sax/package.json"]
+[5.542414, "o", " (deflated 44%)\r\n adding: node_modules/sax/lib/"]
+[5.542499, "o", " (stored 0%)\r\n adding: node_modules/sax/lib/sax.js"]
+[5.546731, "o", " (deflated 76%)\r\n adding: node_modules/string.prototype.trimright/ (stored 0%)\r\n"]
+[5.546845, "o", " adding: node_modules/string.prototype.trimright/LICENSE (deflated 41%)\r\n adding: node_modules/string.prototype.trimright/test/ (stored 0%)\r\n"]
+[5.546937, "o", " adding: node_modules/string.prototype.trimright/test/index.js (deflated 52%)\r\n adding: node_modules/string.prototype.trimright/test/tests.js"]
+[5.54704, "o", " (deflated 56%)\r\n adding: node_modules/string.prototype.trimright/test/shimmed.js"]
+[5.54713, "o", " (deflated 61%)\r\n adding: node_modules/string.prototype.trimright/CHANGELOG.md"]
+[5.547206, "o", " (deflated 54%)\r\n adding: node_modules/string.prototype.trimright/.eslintrc"]
+[5.547285, "o", " (deflated 27%)\r\n adding: node_modules/string.prototype.trimright/index.js"]
+[5.547372, "o", " (deflated 52%)\r\n adding: node_modules/string.prototype.trimright/.editorconfig"]
+[5.547461, "o", " (deflated 40%)\r\n adding: node_modules/string.prototype.trimright/README.md"]
+[5.547568, "o", " (deflated 64%)\r\n adding: node_modules/string.prototype.trimright/polyfill.js (deflated 46%)\r\n adding: node_modules/string.prototype.trimright/package.json"]
+[5.547697, "o", " (deflated 57%)\r\n adding: node_modules/string.prototype.trimright/auto.js"]
+[5.547792, "o", " (stored 0%)\r\n adding: node_modules/string.prototype.trimright/shim.js"]
+[5.547902, "o", " (deflated 45%)\r\n adding: node_modules/string.prototype.trimright/.travis.yml"]
+[5.548022, "o", " (deflated 91%)\r\n adding: node_modules/string.prototype.trimright/implementation.js"]
+[5.548091, "o", " (deflated 39%)\r\n adding: node_modules/is-symbol/"]
+[5.548174, "o", " (stored 0%)\r\n adding: node_modules/is-symbol/LICENSE"]
+[5.548248, "o", " (deflated 41%)\r\n adding: node_modules/is-symbol/test/ (stored 0%)\r\n adding: node_modules/is-symbol/test/.eslintrc"]
+[5.54834, "o", " (deflated 17%)\r\n adding: node_modules/is-symbol/test/index.js"]
+[5.548414, "o", " (deflated 69%)\r\n adding: node_modules/is-symbol/CHANGELOG.md"]
+[5.548487, "o", " (deflated 39%)\r\n adding: node_modules/is-symbol/Makefile"]
+[5.548612, "o", " (deflated 54%)\r\n adding: node_modules/is-symbol/.eslintrc"]
+[5.548684, "o", " (deflated 9%)\r\n adding: node_modules/is-symbol/index.js"]
+[5.548751, "o", " (deflated 58%)\r\n adding: node_modules/is-symbol/.editorconfig"]
+[5.548819, "o", " (deflated 42%)\r\n adding: node_modules/is-symbol/README.md"]
+[5.548902, "o", " (deflated 60%)\r\n adding: node_modules/is-symbol/package.json"]
+[5.549008, "o", " (deflated 57%)\r\n adding: node_modules/is-symbol/.nvmrc"]
+[5.549081, "o", " (stored 0%)\r\n adding: node_modules/is-symbol/.jscs.json"]
+[5.549206, "o", " (deflated 70%)\r\n adding: node_modules/is-symbol/.travis.yml"]
+[5.549358, "o", " (deflated 90%)\r\n adding: node_modules/function-bind/"]
+[5.549446, "o", " (stored 0%)\r\n adding: node_modules/function-bind/.npmignore (deflated 30%)\r\n adding: node_modules/function-bind/LICENSE"]
+[5.549541, "o", " (deflated 41%)\r\n adding: node_modules/function-bind/test/ (stored 0%)\r\n adding: node_modules/function-bind/test/.eslintrc"]
+[5.549642, "o", " (deflated 32%)\r\n adding: node_modules/function-bind/test/index.js"]
+[5.549814, "o", " (deflated 85%)\r\n adding: node_modules/function-bind/.eslintrc"]
+[5.549898, "o", " (deflated 35%)\r\n adding: node_modules/function-bind/index.js"]
+[5.549967, "o", " (deflated 26%)\r\n adding: node_modules/function-bind/.editorconfig"]
+[5.550027, "o", " (deflated 40%)\r\n adding: node_modules/function-bind/README.md"]
+[5.550097, "o", " (deflated 65%)\r\n adding: node_modules/function-bind/package.json"]
+[5.550183, "o", " (deflated 61%)\r\n adding: node_modules/function-bind/.jscs.json"]
+[5.550346, "o", " (deflated 70%)\r\n adding: node_modules/function-bind/.travis.yml"]
+[5.550493, "o", " (deflated 87%)\r\n adding: node_modules/function-bind/implementation.js"]
+[5.550595, "o", " (deflated 61%)\r\n adding: node_modules/xmlbuilder/"]
+[5.550667, "o", " (stored 0%)\r\n adding: node_modules/xmlbuilder/LICENSE"]
+[5.550722, "o", " (deflated 41%)\r\n adding: node_modules/xmlbuilder/CHANGELOG.md"]
+[5.551412, "o", " (deflated 73%)\r\n adding: node_modules/xmlbuilder/typings/"]
+[5.551502, "o", " (stored 0%)\r\n adding: node_modules/xmlbuilder/typings/index.d.ts"]
+[5.551605, "o", " (deflated 81%)\r\n adding: node_modules/xmlbuilder/README.md"]
+[5.551723, "o", " (deflated 63%)\r\n adding: node_modules/xmlbuilder/appveyor.yml"]
+[5.55181, "o", " (deflated 59%)\r\n adding: node_modules/xmlbuilder/package.json"]
+[5.551897, "o", " (deflated 54%)\r\n adding: node_modules/xmlbuilder/lib/"]
+[5.551978, "o", " (stored 0%)\r\n adding: node_modules/xmlbuilder/lib/XMLStreamWriter.js"]
+[5.552109, "o", " (deflated 80%)\r\n adding: node_modules/xmlbuilder/lib/Derivation.js"]
+[5.552208, "o", " (deflated 18%)\r\n adding: node_modules/xmlbuilder/lib/Utility.js"]
+[5.552303, "o", " (deflated 68%)\r\n adding: node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js"]
+[5.552418, "o", " (deflated 46%)\r\n adding: node_modules/xmlbuilder/lib/XMLElement.js"]
+[5.552632, "o", " (deflated 82%)\r\n adding: node_modules/xmlbuilder/lib/XMLNode.js"]
+[5.55356, "o", " (deflated 83%)\r\n adding: node_modules/xmlbuilder/lib/XMLDocument.js"]
+[5.553746, "o", " (deflated 83%)\r\n adding: node_modules/xmlbuilder/lib/WriterState.js"]
+[5.553823, "o", " (deflated 18%)\r\n adding: node_modules/xmlbuilder/lib/XMLDTDAttList.js"]
+[5.553926, "o", " (deflated 69%)\r\n adding: node_modules/xmlbuilder/lib/XMLCData.js"]
+[5.554042, "o", " (deflated 57%)\r\n adding: node_modules/xmlbuilder/lib/XMLStringWriter.js"]
+[5.554128, "o", " (deflated 58%)\r\n adding: node_modules/xmlbuilder/lib/XMLNodeList.js"]
+[5.554226, "o", " (deflated 54%)\r\n adding: node_modules/xmlbuilder/lib/XMLDOMImplementation.js"]
+[5.554307, "o", " (deflated 69%)\r\n adding: node_modules/xmlbuilder/lib/XMLComment.js"]
+[5.554388, "o", " (deflated 58%)\r\n adding: node_modules/xmlbuilder/lib/XMLDTDElement.js"]
+[5.554492, "o", " (deflated 58%)\r\n adding: node_modules/xmlbuilder/lib/index.js"]
+[5.554592, "o", " (deflated 67%)\r\n adding: node_modules/xmlbuilder/lib/XMLNamedNodeMap.js"]
+[5.554678, "o", " (deflated 73%)\r\n adding: node_modules/xmlbuilder/lib/XMLUserDataHandler.js"]
+[5.554766, "o", " (deflated 45%)\r\n adding: node_modules/xmlbuilder/lib/XMLText.js"]
+[5.554861, "o", " (deflated 66%)\r\n adding: node_modules/xmlbuilder/lib/XMLDeclaration.js"]
+[5.554972, "o", " (deflated 63%)\r\n adding: node_modules/xmlbuilder/lib/XMLProcessingInstruction.js"]
+[5.555074, "o", " (deflated 65%)\r\n adding: node_modules/xmlbuilder/lib/XMLNodeFilter.js"]
+[5.555175, "o", " (deflated 69%)\r\n adding: node_modules/xmlbuilder/lib/XMLDOMConfiguration.js"]
+[5.555247, "o", " (deflated 67%)\r\n adding: node_modules/xmlbuilder/lib/XMLStringifier.js"]
+[5.555406, "o", " (deflated 82%)\r\n adding: node_modules/xmlbuilder/lib/XMLDocumentFragment.js"]
+[5.555495, "o", " (deflated 56%)\r\n adding: node_modules/xmlbuilder/lib/XMLWriterBase.js"]
+[5.555866, "o", " (deflated 85%)\r\n adding: node_modules/xmlbuilder/lib/XMLCharacterData.js"]
+[5.555987, "o", " (deflated 74%)\r\n adding: node_modules/xmlbuilder/lib/XMLRaw.js"]
+[5.556077, "o", " (deflated 56%)\r\n adding: node_modules/xmlbuilder/lib/XMLDOMStringList.js"]
+[5.556185, "o", " (deflated 54%)\r\n adding: node_modules/xmlbuilder/lib/XMLDocumentCB.js"]
+[5.556722, "o", " (deflated 83%)\r\n adding: node_modules/xmlbuilder/lib/NodeType.js"]
+[5.5568, "o", " (deflated 45%)\r\n adding: node_modules/xmlbuilder/lib/XMLDTDEntity.js"]
+[5.556923, "o", " (deflated 72%)\r\n adding: node_modules/xmlbuilder/lib/XMLDocType.js"]
+[5.557103, "o", " (deflated 78%)\r\n adding: node_modules/xmlbuilder/lib/DocumentPosition.js"]
+[5.557216, "o", " (deflated 25%)\r\n adding: node_modules/xmlbuilder/lib/XMLDummy.js"]
+[5.55731, "o", " (deflated 56%)\r\n adding: node_modules/xmlbuilder/lib/XMLAttribute.js"]
+[5.557415, "o", " (deflated 74%)\r\n adding: node_modules/xmlbuilder/lib/XMLTypeInfo.js"]
+[5.557518, "o", " (deflated 48%)\r\n"]
+[5.557688, "o", " adding: node_modules/xmlbuilder/lib/XMLDTDNotation.js (deflated 64%)\r\n adding: node_modules/xmlbuilder/lib/OperationType.js"]
+[5.55779, "o", " (deflated 22%)\r\n adding: node_modules/is-date-object/ (stored 0%)\r\n adding: node_modules/is-date-object/.npmignore"]
+[5.557886, "o", " (deflated 39%)\r\n adding: node_modules/is-date-object/test.js"]
+[5.557989, "o", " (deflated 65%)\r\n adding: node_modules/is-date-object/LICENSE"]
+[5.558111, "o", " (deflated 41%)\r\n adding: node_modules/is-date-object/CHANGELOG.md"]
+[5.558209, "o", " (deflated 36%)\r\n adding: node_modules/is-date-object/Makefile"]
+[5.558387, "o", " (deflated 54%)\r\n adding: node_modules/is-date-object/.eslintrc"]
+[5.558492, "o", " (deflated 9%)\r\n adding: node_modules/is-date-object/index.js"]
+[5.558589, "o", " (deflated 52%)\r\n adding: node_modules/is-date-object/README.md"]
+[5.558691, "o", " (deflated 62%)\r\n adding: node_modules/is-date-object/package.json"]
+[5.558787, "o", " (deflated 54%)\r\n adding: node_modules/is-date-object/.jscs.json"]
+[5.558888, "o", " (deflated 69%)\r\n adding: node_modules/is-date-object/.travis.yml"]
+[5.559017, "o", " (deflated 73%)\r\n adding: node_modules/string.prototype.trimleft/ (stored 0%)\r\n adding: node_modules/string.prototype.trimleft/LICENSE"]
+[5.559121, "o", " (deflated 41%)\r\n adding: node_modules/string.prototype.trimleft/test/ (stored 0%)\r\n adding: node_modules/string.prototype.trimleft/test/index.js"]
+[5.559208, "o", " (deflated 52%)\r\n adding: node_modules/string.prototype.trimleft/test/tests.js"]
+[5.55934, "o", " (deflated 56%)\r\n adding: node_modules/string.prototype.trimleft/test/shimmed.js"]
+[5.559434, "o", " (deflated 61%)\r\n adding: node_modules/string.prototype.trimleft/CHANGELOG.md"]
+[5.559526, "o", " (deflated 54%)\r\n adding: node_modules/string.prototype.trimleft/.eslintrc"]
+[5.559601, "o", " (deflated 27%)\r\n adding: node_modules/string.prototype.trimleft/index.js (deflated 52%)\r\n adding: node_modules/string.prototype.trimleft/.editorconfig"]
+[5.559683, "o", " (deflated 40%)\r\n adding: node_modules/string.prototype.trimleft/README.md"]
+[5.559794, "o", " (deflated 64%)\r\n adding: node_modules/string.prototype.trimleft/polyfill.js"]
+[5.559868, "o", " (deflated 45%)\r\n adding: node_modules/string.prototype.trimleft/package.json"]
+[5.559955, "o", " (deflated 57%)\r\n adding: node_modules/string.prototype.trimleft/auto.js"]
+[5.560022, "o", " (stored 0%)\r\n adding: node_modules/string.prototype.trimleft/shim.js"]
+[5.560127, "o", " (deflated 44%)\r\n adding: node_modules/string.prototype.trimleft/.travis.yml"]
+[5.560309, "o", " (deflated 91%)\r\n adding: node_modules/string.prototype.trimleft/implementation.js"]
+[5.560388, "o", " (deflated 39%)\r\n adding: node_modules/es-to-primitive/ (stored 0%)\r\n adding: node_modules/es-to-primitive/es2015.js"]
+[5.561797, "o", " (deflated 62%)\r\n adding: node_modules/es-to-primitive/es5.js"]
+[5.561882, "o", " (deflated 57%)\r\n adding: node_modules/es-to-primitive/LICENSE"]
+[5.562022, "o", " (deflated 41%)\r\n adding: node_modules/es-to-primitive/test/"]
+[5.562112, "o", " (stored 0%)\r\n adding: node_modules/es-to-primitive/test/es2015.js"]
+[5.562276, "o", " (deflated 82%)\r\n adding: node_modules/es-to-primitive/test/es5.js"]
+[5.562443, "o", " (deflated 80%)\r\n adding: node_modules/es-to-primitive/test/index.js"]
+[5.562522, "o", " (deflated 61%)\r\n adding: node_modules/es-to-primitive/test/es6.js"]
+[5.562727, "o", " (deflated 82%)\r\n adding: node_modules/es-to-primitive/CHANGELOG.md"]
+[5.562831, "o", " (deflated 64%)\r\n adding: node_modules/es-to-primitive/Makefile"]
+[5.562981, "o", " (deflated 54%)\r\n adding: node_modules/es-to-primitive/.eslintrc"]
+[5.563053, "o", " (deflated 37%)\r\n adding: node_modules/es-to-primitive/index.js"]
+[5.563709, "o", " (deflated 57%)\r\n adding: node_modules/es-to-primitive/README.md"]
+[5.564493, "o", " (deflated 61%)\r\n adding: node_modules/es-to-primitive/package.json"]
+[5.564607, "o", " (deflated 56%)\r\n adding: node_modules/es-to-primitive/.github/"]
+[5.564671, "o", " (stored 0%)\r\n adding: node_modules/es-to-primitive/.github/FUNDING.yml"]
+[5.56473, "o", " (deflated 52%)\r\n adding: node_modules/es-to-primitive/es6.js"]
+[5.564813, "o", " (stored 0%)\r\n adding: node_modules/es-to-primitive/.travis.yml (deflated 43%)\r\n adding: node_modules/es-to-primitive/helpers/"]
+[5.564901, "o", " (stored 0%)\r\n adding: node_modules/es-to-primitive/helpers/isPrimitive.js (deflated 23%)\r\n adding: node_modules/.yarn-integrity"]
+[5.566162, "o", " (deflated 71%)\r\n adding: node_modules/es-abstract/"]
+[5.566241, "o", " (stored 0%)\r\n adding: node_modules/es-abstract/es2015.js"]
+[5.568174, "o", " (deflated 79%)\r\n adding: node_modules/es-abstract/es5.js"]
+[5.569623, "o", " (deflated 78%)\r\n adding: node_modules/es-abstract/LICENSE"]
+[5.569719, "o", " (deflated 41%)\r\n adding: node_modules/es-abstract/test/ (stored 0%)\r\n adding: node_modules/es-abstract/test/es2015.js"]
+[5.569815, "o", " (deflated 34%)\r\n adding: node_modules/es-abstract/test/es5.js"]
+[5.570703, "o", " (deflated 84%)\r\n adding: node_modules/es-abstract/test/.eslintrc"]
+[5.570778, "o", " (deflated 42%)\r\n adding: node_modules/es-abstract/test/index.js"]
+[5.570874, "o", " (deflated 57%)\r\n adding: node_modules/es-abstract/test/tests.js"]
+[5.576857, "o", " (deflated 84%)\r\n adding: node_modules/es-abstract/test/diffOps.js"]
+[5.576959, "o", " (deflated 55%)\r\n adding: node_modules/es-abstract/test/es2019.js"]
+[5.577165, "o", " (deflated 66%)\r\n adding: node_modules/es-abstract/test/es2018.js"]
+[5.577389, "o", " (deflated 65%)\r\n adding: node_modules/es-abstract/test/es6.js"]
+[5.577483, "o", " (deflated 52%)\r\n adding: node_modules/es-abstract/test/es2017.js"]
+[5.577702, "o", " (deflated 65%)\r\n adding: node_modules/es-abstract/test/GetIntrinsic.js"]
+[5.577813, "o", " (deflated 65%)\r\n adding: node_modules/es-abstract/test/helpers/ (stored 0%)\r\n adding: node_modules/es-abstract/test/helpers/assertRecord.js"]
+[5.577922, "o", " (deflated 72%)\r\n adding: node_modules/es-abstract/test/helpers/getSymbolDescription.js"]
+[5.578002, "o", " (deflated 60%)\r\n adding: node_modules/es-abstract/test/helpers/values.js"]
+[5.57815, "o", " (deflated 76%)\r\n adding: node_modules/es-abstract/test/es7.js"]
+[5.578214, "o", " (deflated 52%)\r\n adding: node_modules/es-abstract/test/es2016.js"]
+[5.57841, "o", " (deflated 64%)\r\n adding: node_modules/es-abstract/CHANGELOG.md"]
+[5.578794, "o", " (deflated 68%)\r\n adding: node_modules/es-abstract/Makefile"]
+[5.578949, "o", " (deflated 54%)\r\n adding: node_modules/es-abstract/.eslintrc"]
+[5.579037, "o", " (deflated 61%)\r\n adding: node_modules/es-abstract/index.js"]
+[5.579111, "o", " (deflated 58%)\r\n adding: node_modules/es-abstract/operations/ (stored 0%)\r\n adding: node_modules/es-abstract/operations/.eslintrc"]
+[5.579198, "o", " (stored 0%)\r\n adding: node_modules/es-abstract/.editorconfig"]
+[5.579288, "o", " (deflated 42%)\r\n adding: node_modules/es-abstract/README.md"]
+[5.579422, "o", " (deflated 61%)\r\n adding: node_modules/es-abstract/es2019.js"]
+[5.579568, "o", " (deflated 64%)\r\n adding: node_modules/es-abstract/package.json"]
+[5.579701, "o", " (deflated 59%)\r\n adding: node_modules/es-abstract/es2018.js"]
+[5.58004, "o", " (deflated 71%)\r\n adding: node_modules/es-abstract/.github/ (stored 0%)\r\n adding: node_modules/es-abstract/.github/FUNDING.yml"]
+[5.580127, "o", " (deflated 55%)\r\n adding: node_modules/es-abstract/es6.js"]
+[5.580206, "o", " (stored 0%)\r\n adding: node_modules/es-abstract/es2017.js"]
+[5.580289, "o", " (deflated 61%)\r\n adding: node_modules/es-abstract/.nycrc"]
+[5.580391, "o", " (deflated 32%)\r\n adding: node_modules/es-abstract/GetIntrinsic.js"]
+[5.580643, "o", " (deflated 76%)\r\n adding: node_modules/es-abstract/.travis.yml"]
+[5.580851, "o", " (deflated 90%)\r\n adding: node_modules/es-abstract/helpers/"]
+[5.580875, "o", " (stored 0%)\r\n adding: node_modules/es-abstract/helpers/regexTester.js"]
+[5.580954, "o", " (deflated 36%)\r\n adding: node_modules/es-abstract/helpers/every.js"]
+[5.581061, "o", " (deflated 27%)\r\n adding: node_modules/es-abstract/helpers/isSamePropertyDescriptor.js"]
+[5.581109, "o", " (deflated 40%)\r\n adding: node_modules/es-abstract/helpers/isPropertyDescriptor.js"]
+[5.581224, "o", " (deflated 49%)\r\n adding: node_modules/es-abstract/helpers/maxSafeInteger.js"]
+[5.581316, "o", " (deflated 31%)\r\n adding: node_modules/es-abstract/helpers/assertRecord.js"]
+[5.581355, "o", " (deflated 55%)\r\n adding: node_modules/es-abstract/helpers/callBind.js"]
+[5.581432, "o", " (deflated 53%)\r\n adding: node_modules/es-abstract/helpers/getInferredName.js"]
+[5.581519, "o", " (deflated 37%)\r\n adding: node_modules/es-abstract/helpers/getSymbolDescription.js"]
+[5.581601, "o", " (deflated 54%)\r\n adding: node_modules/es-abstract/helpers/isNaN.js"]
+[5.581716, "o", " (deflated 5%)\r\n adding: node_modules/es-abstract/helpers/isPrimitive.js (deflated 23%)\r\n adding: node_modules/es-abstract/helpers/sign.js"]
+[5.581791, "o", " (deflated 3%)\r\n adding: node_modules/es-abstract/helpers/isPrefixOf.js"]
+[5.581884, "o", " (deflated 39%)\r\n adding: node_modules/es-abstract/helpers/getIteratorMethod.js"]
+[5.581973, "o", " (deflated 60%)\r\n adding: node_modules/es-abstract/helpers/setProto.js"]
+[5.582046, "o", " (deflated 43%)\r\n adding: node_modules/es-abstract/helpers/callBound.js (deflated 50%)\r\n"]
+[5.58207, "o", " adding: node_modules/es-abstract/helpers/mod.js"]
+[5.582146, "o", " (deflated 25%)\r\n adding: node_modules/es-abstract/helpers/getProto.js"]
+[5.582274, "o", " (deflated 43%)\r\n adding: node_modules/es-abstract/helpers/forEach.js (deflated 23%)\r\n adding: node_modules/es-abstract/helpers/assign.js"]
+[5.582391, "o", " (deflated 42%)\r\n adding: node_modules/es-abstract/helpers/isFinite.js"]
+[5.582467, "o", " (deflated 35%)\r\n adding: node_modules/es-abstract/es7.js"]
+[5.582532, "o", " (stored 0%)\r\n adding: node_modules/es-abstract/es2016.js"]
+[5.582607, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/"]
+[5.582684, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/clients/ (stored 0%)\r\n adding: node_modules/aws-sdk/clients/iam.d.ts"]
+[5.594964, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/ioteventsdata.js"]
+[5.595086, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/sagemakerruntime.d.ts"]
+[5.595226, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/clients/macie.js"]
+[5.595334, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/lightsail.js"]
+[5.595457, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/mediastoredata.js"]
+[5.59556, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/directconnect.js"]
+[5.595678, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/importexport.js (deflated 52%)\r\n"]
+[5.595782, "o", " adding: node_modules/aws-sdk/clients/stepfunctions.js (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/fsx.js"]
+[5.595916, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/machinelearning.d.ts"]
+[5.599682, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/efs.d.ts"]
+[5.601355, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/apigatewayv2.js"]
+[5.601429, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/configservice.js"]
+[5.601515, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/cognitosync.js"]
+[5.601592, "o", " (deflated 46%)\r\n adding: node_modules/aws-sdk/clients/mobile.js"]
+[5.60167, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/lexruntime.d.ts"]
+[5.603085, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/personalizeevents.js"]
+[5.603251, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/cloudwatchlogs.d.ts"]
+[5.606033, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/translate.d.ts"]
+[5.606448, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/savingsplans.js"]
+[5.606541, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/guardduty.d.ts"]
+[5.608829, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/batch.js"]
+[5.608896, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/dynamodbstreams.js"]
+[5.609095, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/cloud9.d.ts"]
+[5.609651, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/mediastore.d.ts"]
+[5.610519, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/elasticache.d.ts"]
+[5.616877, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/athena.d.ts"]
+[5.618401, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/macie.d.ts"]
+[5.618653, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/wafregional.js"]
+[5.61872, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/workmailmessageflow.d.ts"]
+[5.61896, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/clients/lambda.js"]
+[5.619173, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/clients/cloudformation.js"]
+[5.619311, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/clients/iot1clickprojects.js"]
+[5.619531, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/workmail.d.ts"]
+[5.62094, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/glacier.js"]
+[5.621006, "o", " (deflated 56%)\r\n adding: node_modules/aws-sdk/clients/robomaker.js"]
+[5.621162, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/datasync.d.ts"]
+[5.623565, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/dms.d.ts"]
+[5.628596, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/dynamodbstreams.d.ts"]
+[5.629202, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/clients/ssooidc.js"]
+[5.629228, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/connect.d.ts"]
+[5.630762, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/licensemanager.js"]
+[5.630789, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/marketplacecommerceanalytics.js"]
+[5.630905, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/clients/kafka.d.ts"]
+[5.632621, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/alexaforbusiness.js"]
+[5.632647, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/mediastore.js"]
+[5.632764, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/iotjobsdataplane.d.ts"]
+[5.6332, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/appstream.d.ts"]
+[5.636285, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/autoscalingplans.d.ts"]
+[5.637418, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/clients/cloudhsmv2.js"]
+[5.637444, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/servicecatalog.js"]
+[5.637554, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/mobileanalytics.js"]
+[5.637806, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/cognitoidentityserviceprovider.js"]
+[5.637881, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/docdb.js"]
+[5.638094, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/applicationautoscaling.js"]
+[5.638287, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/health.js (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/shield.js"]
+[5.63848, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/eventbridge.d.ts"]
+[5.641318, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/quicksight.js"]
+[5.641385, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/iotanalytics.d.ts"]
+[5.644968, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/mediatailor.d.ts"]
+[5.645449, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/lexmodelbuildingservice.js"]
+[5.645478, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/glacier.d.ts"]
+[5.649466, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/opsworks.js"]
+[5.64958, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/autoscaling.d.ts"]
+[5.655165, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/fms.d.ts"]
+[5.656093, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/cognitoidentity.d.ts"]
+[5.657513, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/codedeploy.js"]
+[5.657678, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/codebuild.js"]
+[5.657815, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/waf.d.ts"]
+[5.664225, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/rdsdataservice.d.ts"]
+[5.664669, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/resourcegroups.d.ts"]
+[5.665223, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/lakeformation.js"]
+[5.665288, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/pi.js"]
+[5.665384, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/cloudwatchevents.js"]
+[5.665512, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/all.js"]
+[5.665997, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/clients/cloudformation.d.ts"]
+[5.674437, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/apigatewaymanagementapi.js"]
+[5.674582, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/comprehend.js"]
+[5.67475, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/codedeploy.d.ts"]
+[5.680321, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/apigateway.js"]
+[5.680496, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/personalizeruntime.js"]
+[5.680706, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/iotanalytics.js (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/directconnect.d.ts"]
+[5.684301, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/clients/mediatailor.js"]
+[5.684365, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/fsx.d.ts"]
+[5.686119, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/pinpoint.d.ts"]
+[5.696387, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/secretsmanager.d.ts"]
+[5.699891, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/mediaconvert.js"]
+[5.700008, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/dlm.d.ts"]
+[5.700475, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/pinpointemail.js"]
+[5.700726, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/route53.d.ts"]
+[5.709617, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/marketplaceentitlementservice.js"]
+[5.709715, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/clients/appsync.d.ts"]
+[5.711456, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/elbv2.js"]
+[5.711522, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/backup.d.ts"]
+[5.714052, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/clients/kinesis.js"]
+[5.714236, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/medialive.js"]
+[5.714383, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/managedblockchain.js"]
+[5.714468, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/mediaconnect.d.ts"]
+[5.715577, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/inspector.js"]
+[5.715641, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/kinesisanalyticsv2.js"]
+[5.715773, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/applicationinsights.js"]
+[5.715938, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/personalize.d.ts"]
+[5.718472, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/mediaconvert.d.ts"]
+[5.729985, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/clients/cloudwatch.d.ts"]
+[5.733449, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/ec2instanceconnect.d.ts"]
+[5.733538, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/clients/translate.js"]
+[5.73373, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/savingsplans.d.ts"]
+[5.734514, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/backup.js"]
+[5.734669, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/health.d.ts"]
+[5.735425, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/rds.js"]
+[5.735492, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/textract.js"]
+[5.735643, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/secretsmanager.js"]
+[5.735815, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/securityhub.js"]
+[5.735905, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/transfer.d.ts"]
+[5.737593, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/elasticache.js"]
+[5.73762, "o", " (deflated 56%)\r\n adding: node_modules/aws-sdk/clients/mediapackagevod.js"]
+[5.737734, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/iotdata.d.ts"]
+[5.737986, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/cloudsearchdomain.js"]
+[5.738093, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/mediastoredata.d.ts"]
+[5.738502, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/clients/servicequotas.js"]
+[5.738529, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/forecastqueryservice.d.ts"]
+[5.738712, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/clients/kinesisanalytics.d.ts"]
+[5.741472, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/codebuild.d.ts"]
+[5.744528, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/elb.d.ts"]
+[5.746685, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/servicediscovery.d.ts"]
+[5.748914, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/cognitosync.d.ts"]
+[5.749788, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/signer.d.ts"]
+[5.750758, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/rdsdataservice.js"]
+[5.750816, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/marketplacemetering.js"]
+[5.75096, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/acmpca.d.ts"]
+[5.752858, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/redshift.js"]
+[5.752884, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/sts.js"]
+[5.752967, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/configservice.d.ts"]
+[5.760154, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/ecr.d.ts"]
+[5.762002, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/worklink.d.ts"]
+[5.762879, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/kinesisanalytics.js"]
+[5.762908, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/cloudtrail.js"]
+[5.763051, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/pinpointemail.d.ts"]
+[5.766654, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/cloudsearchdomain.d.ts"]
+[5.767778, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/clients/costexplorer.js"]
+[5.767845, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/kinesisvideoarchivedmedia.d.ts"]
+[5.769684, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/mediaconnect.js"]
+[5.769798, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/cloudsearch.js"]
+[5.769883, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/clients/iotevents.d.ts"]
+[5.770875, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/mediapackagevod.d.ts"]
+[5.771383, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/pinpointsmsvoice.d.ts"]
+[5.771724, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/eks.js"]
+[5.771902, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/sqs.js"]
+[5.772016, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/route53resolver.d.ts"]
+[5.773592, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/organizations.d.ts"]
+[5.77799, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/sso.js"]
+[5.778152, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/qldb.d.ts"]
+[5.778974, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/mediapackage.js"]
+[5.779135, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/comprehendmedical.d.ts"]
+[5.780408, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/sagemaker.d.ts"]
+[5.797204, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/directoryservice.d.ts"]
+[5.801844, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/sso.d.ts"]
+[5.80218, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/discovery.js"]
+[5.802306, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/s3control.d.ts"]
+[5.803388, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/connect.js"]
+[5.803605, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/servicediscovery.js"]
+[5.803724, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/waf.js"]
+[5.803838, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/iotthingsgraph.js"]
+[5.803956, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/ecs.d.ts"]
+[5.816302, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/guardduty.js"]
+[5.816474, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/codecommit.js (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/discovery.d.ts"]
+[5.81881, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/clients/cloudhsm.d.ts"]
+[5.819777, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/shield.d.ts"]
+[5.820849, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/appstream.js"]
+[5.820973, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/amplify.js"]
+[5.821101, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/iam.js"]
+[5.821195, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/codestarnotifications.d.ts"]
+[5.822262, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/emr.js"]
+[5.822394, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/opsworks.d.ts"]
+[5.830489, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/ses.d.ts"]
+[5.836974, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/ses.js"]
+[5.837066, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/apigateway.d.ts"]
+[5.846677, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/greengrass.d.ts"]
+[5.851477, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/clients/polly.d.ts"]
+[5.852298, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/machinelearning.js"]
+[5.852438, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/clients/workspaces.d.ts"]
+[5.855048, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/appmesh.d.ts"]
+[5.859268, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/mobile.d.ts"]
+[5.859883, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/inspector.d.ts"]
+[5.86271, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/acm.d.ts"]
+[5.86426, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/dynamodb.js"]
+[5.864288, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/clients/iotjobsdataplane.js"]
+[5.864407, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/clouddirectory.d.ts"]
+[5.869018, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/kinesisanalyticsv2.d.ts"]
+[5.873464, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/rekognition.js"]
+[5.873634, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/marketplacecatalog.d.ts"]
+[5.874175, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/support.js"]
+[5.874267, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/cloudwatchlogs.js"]
+[5.874375, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/securityhub.d.ts"]
+[5.877536, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/ec2instanceconnect.js"]
+[5.877666, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/dms.js"]
+[5.877784, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/cognitoidentityserviceprovider.d.ts"]
+[5.888842, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/cloudsearch.d.ts"]
+[5.890992, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/signer.js"]
+[5.891103, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/wafregional.d.ts"]
+[5.900332, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/kinesisvideomedia.d.ts"]
+[5.900729, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/clients/s3.js"]
+[5.900842, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/apigatewaymanagementapi.d.ts"]
+[5.90103, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/clients/codepipeline.js"]
+[5.90117, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/autoscalingplans.js"]
+[5.901291, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/ec2.d.ts"]
+[5.94759, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/route53domains.d.ts"]
+[5.950308, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/opsworkscm.js"]
+[5.950482, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/glue.d.ts"]
+[5.962546, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/serverlessapplicationrepository.d.ts"]
+[5.963561, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/cloud9.js"]
+[5.963674, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/clouddirectory.js"]
+[5.963785, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/clients/globalaccelerator.js"]
+[5.963905, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/resourcegroups.js"]
+[5.964025, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/transcribeservice.d.ts"]
+[5.964975, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/clients/athena.js"]
+[5.96509, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/codestarnotifications.js"]
+[5.965202, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/dax.d.ts"]
+[5.966777, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/workdocs.js"]
+[5.966883, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/iot1clickdevicesservice.js"]
+[5.966982, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/snowball.js"]
+[5.967098, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/xray.js"]
+[5.967244, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/s3.d.ts"]
+[5.977437, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/iotthingsgraph.d.ts"]
+[5.98039, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/cloudhsm.js"]
+[5.980555, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/stepfunctions.d.ts"]
+[5.982583, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/migrationhub.js"]
+[5.982745, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/batch.d.ts"]
+[5.986344, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/gamelift.js"]
+[5.986603, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/serverlessapplicationrepository.js"]
+[5.986734, "o", " (deflated 56%)\r\n adding: node_modules/aws-sdk/clients/marketplacecatalog.js (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/snowball.d.ts"]
+[5.989075, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/personalizeruntime.d.ts"]
+[5.989338, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/clients/costexplorer.d.ts"]
+[5.993549, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/lakeformation.d.ts"]
+[5.994632, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/ecr.js"]
+[5.994777, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/codestar.d.ts"]
+[5.995955, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/xray.d.ts"]
+[5.998385, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/cognitoidentity.js"]
+[5.998429, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/efs.js"]
+[5.998558, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/kms.js"]
+[5.998648, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/lexruntime.js"]
+[5.998757, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/ram.d.ts"]
+[6.001951, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/apigatewayv2.d.ts"]
+[6.006035, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/clients/workdocs.d.ts"]
+[6.008333, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/neptune.d.ts"]
+[6.015579, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/cur.d.ts"]
+[6.015755, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/clients/workspaces.js"]
+[6.015861, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/managedblockchain.d.ts"]
+[6.017315, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/directoryservice.js"]
+[6.017399, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/iot1clickprojects.d.ts"]
+[6.017973, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/applicationautoscaling.d.ts"]
+[6.019759, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/clients/resourcegroupstaggingapi.js"]
+[6.019841, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/qldb.js"]
+[6.019941, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/neptune.js (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/ssm.d.ts"]
+[6.038731, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/route53resolver.js"]
+[6.038876, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/sts.d.ts"]
+[6.041303, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/sns.js"]
+[6.04142, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/ecs.js"]
+[6.041528, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/eks.d.ts"]
+[6.042395, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/applicationinsights.d.ts"]
+[6.043132, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/fms.js"]
+[6.043238, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/budgets.d.ts"]
+[6.044305, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/mediapackage.d.ts"]
+[6.045593, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/ssm.js"]
+[6.04572, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/iotdata.js"]
+[6.045849, "o", " (deflated 47%)\r\n adding: node_modules/aws-sdk/clients/simpledb.js"]
+[6.045954, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/alexaforbusiness.d.ts"]
+[6.051446, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/sms.d.ts"]
+[6.053465, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/acmpca.js"]
+[6.053645, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/emr.d.ts"]
+[6.059902, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/marketplacecommerceanalytics.d.ts"]
+[6.060302, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/kms.d.ts"]
+[6.065179, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/globalaccelerator.d.ts"]
+[6.066133, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/chime.d.ts"]
+[6.068951, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/clients/support.d.ts"]
+[6.070479, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/personalize.js"]
+[6.070591, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/mturk.js"]
+[6.070699, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/iot.js"]
+[6.070801, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/codestar.js"]
+[6.070915, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/appmesh.js"]
+[6.071017, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/clients/ram.js"]
+[6.071122, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/marketplacemetering.d.ts"]
+[6.071564, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/clients/sms.js"]
+[6.071663, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/opsworkscm.d.ts"]
+[6.074026, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/autoscaling.js"]
+[6.074184, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/dlm.js"]
+[6.074343, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/rds.d.ts"]
+[6.093099, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/elastictranscoder.js"]
+[6.093244, "o", " (deflated 58%)\r\n adding: node_modules/aws-sdk/clients/pricing.d.ts"]
+[6.093501, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/clients/mobileanalytics.d.ts"]
+[6.093737, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/clients/rekognition.d.ts"]
+[6.099089, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/cur.js"]
+[6.099198, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/elasticbeanstalk.d.ts"]
+[6.104487, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/elastictranscoder.d.ts"]
+[6.110993, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/elbv2.d.ts"]
+[6.114779, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/kinesisvideoarchivedmedia.js"]
+[6.114885, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/sqs.d.ts"]
+[6.118017, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/gamelift.d.ts"]
+[6.129698, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/browser_default.js"]
+[6.129847, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/clients/importexport.d.ts"]
+[6.130163, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/servicecatalog.d.ts"]
+[6.136874, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/appsync.js"]
+[6.137019, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/firehose.d.ts"]
+[6.140175, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/amplify.d.ts"]
+[6.141939, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/storagegateway.d.ts"]
+[6.14927, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/groundstation.d.ts"]
+[6.150504, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/groundstation.js"]
+[6.150601, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/datapipeline.js"]
+[6.15072, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/codepipeline.d.ts"]
+[6.155244, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/glue.js"]
+[6.155407, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/quicksight.d.ts"]
+[6.156357, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/lambda.d.ts"]
+[6.159625, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/eventbridge.js"]
+[6.15979, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/greengrass.js"]
+[6.159904, "o", " (deflated 47%)\r\n adding: node_modules/aws-sdk/clients/cloudhsmv2.d.ts"]
+[6.160706, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/transfer.js"]
+[6.160806, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/lexmodelbuildingservice.d.ts"]
+[6.165079, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/polly.js"]
+[6.165192, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/iot1clickdevicesservice.d.ts"]
+[6.165616, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/licensemanager.d.ts"]
+[6.166441, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/redshift.d.ts"]
+[6.17681, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/sagemakerruntime.js"]
+[6.176946, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/comprehend.d.ts"]
+[6.181222, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/clients/marketplaceentitlementservice.d.ts"]
+[6.181472, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/clients/resourcegroupstaggingapi.d.ts"]
+[6.182031, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/storagegateway.js"]
+[6.182133, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/forecastqueryservice.js"]
+[6.182274, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/lightsail.d.ts"]
+[6.192282, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/ssooidc.d.ts"]
+[6.192647, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/clients/cloudwatchevents.d.ts"]
+[6.195827, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/chime.js"]
+[6.19592, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/iotevents.js"]
+[6.196036, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/cloudfront.d.ts"]
+[6.203368, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/ioteventsdata.d.ts"]
+[6.203779, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/firehose.js"]
+[6.203885, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/datasync.js"]
+[6.203992, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/devicefarm.d.ts"]
+[6.21111, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/pinpointsmsvoice.js"]
+[6.211155, "o", " (deflated 47%)\r\n adding: node_modules/aws-sdk/clients/pi.d.ts"]
+[6.211674, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/clients/docdb.d.ts"]
+[6.21613, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/mq.d.ts"]
+[6.217171, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/kinesis.d.ts"]
+[6.22121, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/robomaker.d.ts"]
+[6.224445, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/clients/elb.js"]
+[6.224582, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/budgets.js (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/transcribeservice.js"]
+[6.224791, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/kinesisvideo.js"]
+[6.224905, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/mturk.d.ts"]
+[6.230188, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/forecastservice.js"]
+[6.230332, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/es.d.ts"]
+[6.232617, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/swf.d.ts"]
+[6.239607, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/clients/devicefarm.js"]
+[6.239704, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/qldbsession.d.ts"]
+[6.239873, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/clients/es.js"]
+[6.239963, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/migrationhub.d.ts"]
+[6.240945, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/clients/mq.js"]
+[6.241059, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/personalizeevents.d.ts"]
+[6.241193, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/clients/cloudtrail.d.ts"]
+[6.242932, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/simpledb.d.ts"]
+[6.243769, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/workmail.js"]
+[6.243892, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/kinesisvideo.d.ts"]
+[6.244649, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/clients/kafka.js"]
+[6.244732, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/clients/cloudfront.js"]
+[6.244886, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/pricing.js"]
+[6.244979, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/route53domains.js"]
+[6.245063, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/s3control.js"]
+[6.24515, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/medialive.d.ts"]
+[6.254979, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/clients/browser_default.d.ts"]
+[6.255178, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/clients/worklink.js"]
+[6.255318, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/organizations.js"]
+[6.255426, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/codecommit.d.ts"]
+[6.260741, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/sagemaker.js"]
+[6.260857, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/clients/swf.js"]
+[6.26097, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/clients/servicequotas.d.ts"]
+[6.262119, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/clients/dynamodb.d.ts"]
+[6.272194, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/datapipeline.d.ts"]
+[6.273693, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/clients/workmailmessageflow.js"]
+[6.273727, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/forecastservice.d.ts"]
+[6.276644, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/clients/dax.js"]
+[6.276767, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/clients/iot.d.ts"]
+[6.290885, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/ec2.js"]
+[6.290933, "o", " (deflated 58%)\r\n adding: node_modules/aws-sdk/clients/elasticbeanstalk.js"]
+[6.291052, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/comprehendmedical.js"]
+[6.291162, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/route53.js"]
+[6.291282, "o", " (deflated 56%)\r\n adding: node_modules/aws-sdk/clients/sns.d.ts"]
+[6.293596, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/clients/cloudwatch.js"]
+[6.293699, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/clients/all.d.ts"]
+[6.294021, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/clients/textract.d.ts"]
+[6.295109, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/clients/acm.js"]
+[6.295248, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/clients/qldbsession.js"]
+[6.295361, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/clients/kinesisvideomedia.js"]
+[6.295461, "o", " (deflated 53%)\r\n adding: node_modules/aws-sdk/clients/pinpoint.js"]
+[6.295584, "o", " (deflated 46%)\r\n adding: node_modules/aws-sdk/apis/"]
+[6.295686, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-06-18.waiters2.json"]
+[6.295808, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/cognito-identity-2014-06-30.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/states-2016-11-23.min.json"]
+[6.297057, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/translate-2017-07-01.examples.json"]
+[6.297146, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/kinesisanalyticsv2-2018-05-23.examples.json"]
+[6.297268, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/transfer-2018-11-05.min.json"]
+[6.297699, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/cloudtrail-2013-11-01.paginators.json"]
+[6.297782, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/apis/rekognition-2016-06-27.min.json"]
+[6.299418, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-03-25.paginators.json"]
+[6.299518, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/waf-2015-08-24.paginators.json"]
+[6.299617, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/comprehendmedical-2018-10-30.min.json"]
+[6.299846, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/sts-2011-06-15.paginators.json"]
+[6.299943, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/appstream-2016-12-01.examples.json"]
+[6.30004, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/iot-2015-05-28.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloud9-2017-09-23.min.json"]
+[6.300322, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/lightsail-2016-11-28.min.json"]
+[6.305293, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancingv2-2015-12-01.paginators.json"]
+[6.305414, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/apis/organizations-2016-11-28.paginators.json"]
+[6.305529, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/resource-groups-2017-11-27.paginators.json (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-01-10.paginators.json"]
+[6.305609, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/datapipeline-2012-10-29.min.json"]
+[6.306348, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/opsworks-2013-02-18.examples.json"]
+[6.306422, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/docdb-2014-10-31.paginators.json"]
+[6.306513, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/autoscaling-plans-2018-01-06.min.json"]
+[6.306894, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/support-2013-04-15.paginators.json"]
+[6.306983, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/apis/eks-2017-11-01.examples.json"]
+[6.307129, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/apis/waf-2015-08-24.min.json"]
+[6.310133, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/elasticache-2015-02-02.waiters2.json"]
+[6.310247, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/dlm-2018-01-12.min.json"]
+[6.310609, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/mobileanalytics-2014-06-05.min.json"]
+[6.310737, "o", " (deflated 74%)\r\n adding: node_modules/aws-sdk/apis/devicefarm-2015-06-23.paginators.json"]
+[6.31086, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/organizations-2016-11-28.examples.json"]
+[6.312539, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.paginators.json"]
+[6.312571, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/apis/iam-2010-05-08.paginators.json"]
+[6.312701, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-11-05.min.json"]
+[6.317416, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/mediatailor-2018-04-23.paginators.json"]
+[6.317447, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-02-12.min.json"]
+[6.320569, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/monitoring-2010-08-01.waiters2.json"]
+[6.320696, "o", " (deflated 44%)\r\n adding: node_modules/aws-sdk/apis/pinpoint-email-2018-07-26.min.json"]
+[6.322881, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/mq-2017-11-27.min.json"]
+[6.324911, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/glacier-2012-06-01.paginators.json"]
+[6.324968, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/apis/s3control-2018-08-20.examples.json"]
+[6.325092, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ecr-2015-09-21.paginators.json (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/clouddirectory-2016-05-10.examples.json"]
+[6.325199, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/comprehendmedical-2018-10-30.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/clouddirectory-2017-01-11.min.json"]
+[6.329112, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/cloudformation-2010-05-15.paginators.json"]
+[6.329188, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-03-25.waiters2.json"]
+[6.329265, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/transfer-2018-11-05.examples.json"]
+[6.3293, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2011-12-05.min.json"]
+[6.330018, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/kinesis-video-archived-media-2017-09-30.min.json"]
+[6.330243, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/cognito-sync-2014-06-30.min.json"]
+[6.330938, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/personalize-2018-05-22.paginators.json"]
+[6.331041, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/worklink-2018-09-25.examples.json"]
+[6.331148, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/mturk-requester-2017-01-17.paginators.json (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/email-2010-12-01.examples.json"]
+[6.332253, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancingv2-2015-12-01.waiters2.json"]
+[6.332324, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/ram-2018-01-04.examples.json"]
+[6.332411, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/rekognition-2016-06-27.examples.json"]
+[6.333106, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/es-2015-01-01.min.json"]
+[6.334823, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/comprehendmedical-2018-10-30.examples.json"]
+[6.334849, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-09-09.waiters2.json"]
+[6.335035, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/eks-2017-11-01.paginators.json"]
+[6.335079, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/apis/apigateway-2015-07-09.min.json"]
+[6.339581, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/elasticbeanstalk-2010-12-01.min.json"]
+[6.342229, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/route53domains-2014-05-15.min.json"]
+[6.342971, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/iot-data-2015-05-28.min.json"]
+[6.343037, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/macie-2017-12-19.min.json"]
+[6.343476, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/states-2016-11-23.examples.json"]
+[6.343597, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/inspector-2016-02-16.paginators.json"]
+[6.343706, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/greengrass-2017-06-07.min.json"]
+[6.347481, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/kms-2014-11-01.examples.json"]
+[6.34891, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/alexaforbusiness-2017-11-09.min.json"]
+[6.352881, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/quicksight-2018-04-01.min.json"]
+[6.35333, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/clouddirectory-2016-05-10.paginators.json"]
+[6.353427, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/acm-pca-2017-08-22.paginators.json"]
+[6.353625, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/fsx-2018-03-01.paginators.json"]
+[6.353818, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/apis/entitlement.marketplace-2017-01-11.paginators.json"]
+[6.354006, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/directconnect-2012-10-25.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ec2-instance-connect-2018-04-02.min.json"]
+[6.354148, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2019-03-26.examples.json"]
+[6.354317, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/iot1click-devices-2018-05-14.min.json"]
+[6.354946, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/ssm-2014-11-06.examples.json"]
+[6.355013, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/resourcegroupstaggingapi-2017-01-26.min.json"]
+[6.355347, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/robomaker-2018-06-29.examples.json"]
+[6.355444, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/shield-2016-06-02.min.json"]
+[6.356039, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/kinesis-2013-12-02.min.json"]
+[6.356847, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/email-2010-12-01.paginators.json"]
+[6.356996, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/apis/elasticmapreduce-2009-03-31.waiters2.json"]
+[6.357158, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/events-2015-10-07.examples.json"]
+[6.357304, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/kinesis-video-media-2017-09-30.paginators.json"]
+[6.357348, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/logs-2014-03-28.examples.json"]
+[6.357508, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/personalize-2018-05-22.examples.json"]
+[6.357724, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2012-08-10.examples.json"]
+[6.358486, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/mediastore-2017-09-01.min.json"]
+[6.358746, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/inspector-2016-02-16.min.json"]
+[6.360803, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/opsworkscm-2016-11-01.waiters2.json"]
+[6.360893, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/apis/quicksight-2018-04-01.examples.json"]
+[6.361052, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/snowball-2016-06-30.paginators.json"]
+[6.361308, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/apis/iot1click-projects-2018-05-14.paginators.json (deflated 65%)\r\n adding: node_modules/aws-sdk/apis/pi-2018-02-27.paginators.json"]
+[6.361554, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/sts-2011-06-15.examples.json"]
+[6.361969, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/apigatewaymanagementapi-2018-11-29.paginators.json"]
+[6.362013, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/servicediscovery-2017-03-14.examples.json"]
+[6.362244, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/marketplacecommerceanalytics-2015-07-01.min.json"]
+[6.362357, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/apis/ec2-2016-11-15.waiters2.json"]
+[6.362775, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/cloudhsmv2-2017-04-28.examples.json"]
+[6.362801, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/codestar-notifications-2019-10-15.min.json"]
+[6.363165, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/organizations-2016-11-28.min.json"]
+[6.364102, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/firehose-2015-08-04.paginators.json"]
+[6.364128, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/lambda-2015-03-31.min.json"]
+[6.366027, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/amplify-2017-07-25.min.json"]
+[6.368841, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/datasync-2018-11-09.min.json"]
+[6.37037, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/signer-2017-08-25.waiters2.json"]
+[6.37051, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/apis/firehose-2015-08-04.examples.json"]
+[6.370617, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloudhsmv2-2017-04-28.min.json"]
+[6.37096, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/pricing-2017-10-15.min.json"]
+[6.371159, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/fms-2018-01-01.examples.json"]
+[6.371293, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/discovery-2015-11-01.paginators.json (deflated 59%)\r\n adding: node_modules/aws-sdk/apis/xray-2016-04-12.min.json"]
+[6.374042, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/appsync-2017-07-25.paginators.json"]
+[6.374219, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/service-quotas-2019-06-24.paginators.json (deflated 82%)\r\n"]
+[6.374376, "o", " adding: node_modules/aws-sdk/apis/devicefarm-2015-06-23.min.json"]
+[6.378105, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/serverlessrepo-2017-09-08.min.json"]
+[6.379542, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/codestar-notifications-2019-10-15.paginators.json"]
+[6.379617, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/apis/iot-jobs-data-2017-09-29.min.json"]
+[6.379903, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/discovery-2015-11-01.examples.json"]
+[6.379969, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/runtime.sagemaker-2017-05-13.paginators.json"]
+[6.380166, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/mobile-2017-07-01.paginators.json"]
+[6.380219, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/apis/kinesisvideo-2017-09-30.min.json"]
+[6.380627, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/codecommit-2015-04-13.min.json"]
+[6.3831, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/iotevents-data-2018-10-23.paginators.json"]
+[6.383185, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancing-2012-06-01.examples.json"]
+[6.384777, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/s3-2006-03-01.waiters2.json"]
+[6.384969, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/events-2015-10-07.min.json"]
+[6.386513, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/qldb-session-2019-07-11.min.json"]
+[6.386797, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/config-2014-11-12.min.json"]
+[6.390668, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/devicefarm-2015-06-23.examples.json"]
+[6.39233, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/marketplacecommerceanalytics-2015-07-01.paginators.json"]
+[6.392531, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/gamelift-2015-10-01.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/translate-2017-07-01.paginators.json"]
+[6.392666, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/resourcegroupstaggingapi-2017-01-26.paginators.json"]
+[6.392763, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/apis/resource-groups-2017-11-27.min.json"]
+[6.393152, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/mediapackage-vod-2018-11-07.paginators.json"]
+[6.39327, "o", " (deflated 74%)\r\n adding: node_modules/aws-sdk/apis/fms-2018-01-01.paginators.json"]
+[6.393414, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/lightsail-2016-11-28.examples.json"]
+[6.393589, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/mediaconnect-2018-11-14.min.json"]
+[6.394763, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/signer-2017-08-25.paginators.json"]
+[6.394789, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/codedeploy-2014-10-06.waiters2.json"]
+[6.394853, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/apis/qldb-session-2019-07-11.examples.json"]
+[6.395006, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloud9-2017-09-23.paginators.json"]
+[6.395156, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/apis/logs-2014-03-28.min.json"]
+[6.396477, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/athena-2017-05-18.paginators.json"]
+[6.396503, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-10-30.waiters2.json"]
+[6.396626, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/kinesis-video-media-2017-09-30.examples.json"]
+[6.396821, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/application-insights-2018-11-25.min.json"]
+[6.397198, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/rds-2014-09-01.min.json"]
+[6.400318, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/codebuild-2016-10-06.min.json"]
+[6.401581, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/guardduty-2017-11-28.min.json"]
+[6.405318, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/comprehend-2017-11-27.examples.json"]
+[6.405373, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/pinpoint-2016-12-01.examples.json"]
+[6.405535, "o", " (deflated 7%)\r\n"]
+[6.405676, "o", " adding: node_modules/aws-sdk/apis/rekognition-2016-06-27.paginators.json (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2019-03-26.waiters2.json (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/sns-2010-03-31.min.json"]
+[6.406436, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2011-12-05.paginators.json"]
+[6.406463, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/apis/ec2-2016-11-15.paginators.json"]
+[6.406801, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/robomaker-2018-06-29.paginators.json"]
+[6.406828, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/lakeformation-2017-03-31.examples.json"]
+[6.406895, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/personalize-events-2018-03-22.examples.json"]
+[6.40706, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-09-09.paginators.json"]
+[6.407207, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/kinesis-video-archived-media-2017-09-30.examples.json (deflated 7%)\r\n"]
+[6.407381, "o", " adding: node_modules/aws-sdk/apis/mediastore-data-2017-09-01.paginators.json (deflated 38%)\r\n adding: node_modules/aws-sdk/apis/email-2010-12-01.waiters2.json"]
+[6.407558, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/apis/iot-2015-05-28.min.json"]
+[6.41693, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2016-11-25.paginators.json"]
+[6.416964, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/xray-2016-04-12.examples.json"]
+[6.417085, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancingv2-2015-12-01.examples.json"]
+[6.418565, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-09-09.examples.json"]
+[6.418591, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/clouddirectory-2017-01-11.paginators.json"]
+[6.418665, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/transcribe-2017-10-26.min.json"]
+[6.419063, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/comprehend-2017-11-27.min.json"]
+[6.420674, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/lakeformation-2017-03-31.paginators.json"]
+[6.4207, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/apis/pricing-2017-10-15.examples.json"]
+[6.420905, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/apis/kms-2014-11-01.min.json"]
+[6.421954, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/mediastore-data-2017-09-01.examples.json"]
+[6.421983, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/dax-2017-04-19.examples.json"]
+[6.422171, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/pinpoint-email-2018-07-26.paginators.json (deflated 80%)\r\n"]
+[6.422252, "o", " adding: node_modules/aws-sdk/apis/cur-2017-01-06.examples.json"]
+[6.422477, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/ec2-2016-11-15.min.json"]
+[6.460623, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/eventbridge-2015-10-07.paginators.json"]
+[6.460688, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/servicecatalog-2015-12-10.examples.json"]
+[6.460887, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/workmailmessageflow-2019-05-01.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/textract-2018-06-27.min.json"]
+[6.461244, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/machinelearning-2014-12-12.paginators.json"]
+[6.461351, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/kms-2014-11-01.paginators.json"]
+[6.461535, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/ds-2015-04-16.min.json"]
+[6.463248, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/runtime.sagemaker-2017-05-13.examples.json"]
+[6.463296, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/codestar-2017-04-19.min.json"]
+[6.464148, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/kinesisanalytics-2015-08-14.paginators.json"]
+[6.464169, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/sms-2016-10-24.paginators.json"]
+[6.464317, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/ecr-2015-09-21.min.json"]
+[6.465615, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/cloudhsm-2014-05-30.paginators.json"]
+[6.465664, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/apigateway-2015-07-09.examples.json"]
+[6.465786, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/sns-2010-03-31.paginators.json (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/sdb-2009-04-15.paginators.json"]
+[6.465913, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/apis/sms-2016-10-24.min.json"]
+[6.466928, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/importexport-2010-06-01.paginators.json"]
+[6.466971, "o", " (deflated 39%)\r\n adding: node_modules/aws-sdk/apis/monitoring-2010-08-01.examples.json"]
+[6.467133, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/mturk-requester-2017-01-17.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/personalize-events-2018-03-22.paginators.json"]
+[6.467222, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/polly-2016-06-10.paginators.json (deflated 34%)\r\n adding: node_modules/aws-sdk/apis/gamelift-2015-10-01.min.json"]
+[6.471309, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/alexaforbusiness-2017-11-09.examples.json"]
+[6.471461, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/lex-models-2017-04-19.min.json"]
+[6.474329, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/cloudhsm-2014-05-30.examples.json"]
+[6.474454, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/eks-2017-11-01.waiters2.json"]
+[6.474584, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/translate-2017-07-01.min.json"]
+[6.474807, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/codebuild-2016-10-06.paginators.json"]
+[6.474952, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/mediaconvert-2017-08-29.min.json"]
+[6.48468, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/glue-2017-03-31.paginators.json"]
+[6.484854, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/acm-pca-2017-08-22.min.json"]
+[6.48547, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/batch-2016-08-10.examples.json"]
+[6.486429, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/appstream-2016-12-01.waiters2.json"]
+[6.486536, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/pricing-2017-10-15.paginators.json"]
+[6.486673, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/apis/sso-oidc-2019-06-10.examples.json"]
+[6.48676, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/iotanalytics-2017-11-27.min.json"]
+[6.490617, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/appmesh-2019-01-25.min.json"]
+[6.493703, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/opsworks-2013-02-18.waiters2.json"]
+[6.493922, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/backup-2018-11-15.paginators.json"]
+[6.494038, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-06-18.examples.json"]
+[6.494133, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/guardduty-2017-11-28.paginators.json"]
+[6.494242, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/mediastore-2017-09-01.examples.json"]
+[6.494457, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/worklink-2018-09-25.min.json"]
+[6.495258, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/quicksight-2018-04-01.paginators.json"]
+[6.495406, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/sms-voice-2018-09-05.min.json"]
+[6.495655, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/fsx-2018-03-01.min.json"]
+[6.496239, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/metadata.json"]
+[6.496943, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-10-30.examples.json"]
+[6.497084, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/workdocs-2016-05-01.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/workdocs-2016-05-01.paginators.json"]
+[6.497196, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/license-manager-2018-08-01.examples.json"]
+[6.497298, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/support-2013-04-15.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/marketplacecommerceanalytics-2015-07-01.examples.json"]
+[6.497416, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/directconnect-2012-10-25.paginators.json (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/forecastquery-2018-06-26.min.json"]
+[6.497542, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/runtime.lex-2016-11-28.min.json"]
+[6.49818, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/states-2016-11-23.paginators.json"]
+[6.498288, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/apis/storagegateway-2013-06-30.min.json"]
+[6.501165, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/cloudtrail-2013-11-01.examples.json"]
+[6.501315, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/swf-2012-01-25.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/s3-2006-03-01.paginators.json"]
+[6.501423, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/rds-2014-10-31.waiters2.json"]
+[6.501571, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/neptune-2014-10-31.paginators.json"]
+[6.501661, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/ce-2017-10-25.min.json"]
+[6.504276, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/codedeploy-2014-10-06.examples.json"]
+[6.504375, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ec2-instance-connect-2018-04-02.examples.json"]
+[6.504472, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/apis/managedblockchain-2018-09-24.min.json"]
+[6.505894, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/sms-2016-10-24.examples.json"]
+[6.506014, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/license-manager-2018-08-01.min.json"]
+[6.506585, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancing-2012-06-01.paginators.json"]
+[6.506708, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/apis/resourcegroupstaggingapi-2017-01-26.examples.json"]
+[6.506807, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/forecast-2018-06-26.examples.json"]
+[6.506904, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/comprehend-2017-11-27.paginators.json"]
+[6.507053, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/batch-2016-08-10.paginators.json"]
+[6.507142, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/apis/machinelearning-2014-12-12.waiters2.json"]
+[6.507235, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/route53-2013-04-01.paginators.json"]
+[6.507339, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/apis/cloudtrail-2013-11-01.min.json"]
+[6.508267, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/importexport-2010-06-01.min.json"]
+[6.508694, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/iotanalytics-2017-11-27.paginators.json"]
+[6.508865, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/elasticbeanstalk-2010-12-01.paginators.json"]
+[6.509012, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/apis/autoscaling-2011-01-01.examples.json"]
+[6.510633, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/medialive-2017-10-14.min.json"]
+[6.519911, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/s3control-2018-08-20.min.json"]
+[6.5211, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/mq-2017-11-27.paginators.json"]
+[6.521289, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancing-2012-06-01.waiters2.json"]
+[6.521478, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/s3-2006-03-01.examples.json"]
+[6.525257, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/AWSMigrationHub-2017-05-31.examples.json"]
+[6.525318, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/athena-2017-05-18.examples.json"]
+[6.525486, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/route53domains-2014-05-15.paginators.json"]
+[6.525589, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/apis/streams.dynamodb-2012-08-10.min.json"]
+[6.526007, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/health-2016-08-04.paginators.json"]
+[6.526144, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/machinelearning-2014-12-12.min.json"]
+[6.527408, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/sts-2011-06-15.min.json"]
+[6.527739, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/elasticfilesystem-2015-02-01.examples.json"]
+[6.528143, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/sagemaker-2017-07-24.min.json"]
+[6.535752, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/runtime.lex-2016-11-28.paginators.json"]
+[6.535925, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/medialive-2017-10-14.waiters2.json"]
+[6.536098, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/securityhub-2018-10-26.min.json"]
+[6.539491, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/logs-2014-03-28.paginators.json"]
+[6.539686, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/signer-2017-08-25.examples.json"]
+[6.539784, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/connect-2017-08-08.min.json"]
+[6.54101, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-03-25.min.json"]
+[6.545429, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/sso-2019-06-10.paginators.json"]
+[6.545683, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/apis/gamelift-2015-10-01.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/lambda-2014-11-11.min.json"]
+[6.546171, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/sqs-2012-11-05.paginators.json"]
+[6.546334, "o", " (deflated 23%)\r\n adding: node_modules/aws-sdk/apis/sso-oidc-2019-06-10.paginators.json"]
+[6.546442, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/sso-2019-06-10.min.json"]
+[6.546622, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/workmailmessageflow-2019-05-01.examples.json"]
+[6.546714, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/opsworkscm-2016-11-01.examples.json"]
+[6.546898, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/servicediscovery-2017-03-14.paginators.json"]
+[6.547042, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/iotanalytics-2017-11-27.examples.json"]
+[6.547179, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ds-2015-04-16.examples.json"]
+[6.547365, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ram-2018-01-04.min.json"]
+[6.548175, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/medialive-2017-10-14.paginators.json"]
+[6.548325, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/snowball-2016-06-30.examples.json"]
+[6.548866, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/ec2-2016-11-15.examples.json"]
+[6.558431, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/workmail-2017-10-01.paginators.json"]
+[6.558603, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/ec2-instance-connect-2018-04-02.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/cognito-identity-2014-06-30.min.json"]
+[6.559335, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/iot1click-projects-2018-05-14.examples.json"]
+[6.559444, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/elasticmapreduce-2009-03-31.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/fsx-2018-03-01.examples.json"]
+[6.559745, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/secretsmanager-2017-10-17.min.json"]
+[6.560375, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/guardduty-2017-11-28.examples.json"]
+[6.560496, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/managedblockchain-2018-09-24.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/lambda-2015-03-31.paginators.json"]
+[6.560614, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/elasticfilesystem-2015-02-01.min.json"]
+[6.561143, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2012-08-10.waiters2.json"]
+[6.561244, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/apis/route53resolver-2018-04-01.paginators.json"]
+[6.561372, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/apis/codedeploy-2014-10-06.paginators.json"]
+[6.561468, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/kafka-2018-11-14.paginators.json (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/dms-2016-01-01.paginators.json"]
+[6.561561, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/dms-2016-01-01.examples.json"]
+[6.562473, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/docdb-2014-10-31.waiters2.json"]
+[6.56261, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/route53-2013-04-01.examples.json"]
+[6.563213, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/meteringmarketplace-2016-01-14.min.json"]
+[6.563358, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/apis/serverlessrepo-2017-09-08.paginators.json"]
+[6.563464, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/apis/iotevents-2018-07-27.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/cloud9-2017-09-23.examples.json"]
+[6.563712, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/codepipeline-2015-07-09.paginators.json"]
+[6.563817, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/kinesisanalytics-2015-08-14.examples.json"]
+[6.563935, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/glue-2017-03-31.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-09-09.min.json"]
+[6.567182, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/globalaccelerator-2018-08-08.examples.json"]
+[6.567266, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/meteringmarketplace-2016-01-14.examples.json"]
+[6.567355, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ram-2018-01-04.paginators.json"]
+[6.567416, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/sso-oidc-2019-06-10.min.json"]
+[6.567533, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/robomaker-2018-06-29.min.json"]
+[6.569575, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/textract-2018-06-27.examples.json"]
+[6.569655, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/eventbridge-2015-10-07.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.waiters2.json"]
+[6.56973, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/apis/config-2014-11-12.examples.json"]
+[6.569821, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/codestar-notifications-2019-10-15.examples.json"]
+[6.569898, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2012-08-10.min.json"]
+[6.573577, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-10-30.paginators.json"]
+[6.573696, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/glacier-2012-06-01.examples.json"]
+[6.574614, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/rds-2014-09-01.paginators.json"]
+[6.574722, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/iotthingsgraph-2018-09-06.paginators.json (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/workspaces-2015-04-08.paginators.json"]
+[6.574824, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/mediaconnect-2018-11-14.paginators.json"]
+[6.574927, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/apis/iotevents-data-2018-10-23.min.json"]
+[6.575556, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/cloudformation-2010-05-15.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/streams.dynamodb-2012-08-10.examples.json"]
+[6.575934, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/ce-2017-10-25.paginators.json"]
+[6.576107, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/apis/codedeploy-2014-10-06.min.json"]
+[6.578593, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/opsworkscm-2016-11-01.min.json"]
+[6.579202, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/budgets-2016-10-20.paginators.json"]
+[6.579354, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/sagemaker-2017-07-24.paginators.json"]
+[6.57946, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/acm-2015-12-08.paginators.json"]
+[6.579574, "o", " (deflated 41%)\r\n adding: node_modules/aws-sdk/apis/iot1click-projects-2018-05-14.min.json"]
+[6.580311, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/directconnect-2012-10-25.min.json"]
+[6.582225, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/kinesisvideo-2017-09-30.paginators.json"]
+[6.582336, "o", " (deflated 42%)\r\n adding: node_modules/aws-sdk/apis/chime-2018-05-01.examples.json"]
+[6.582433, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/mobile-2017-07-01.examples.json"]
+[6.582537, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/personalize-events-2018-03-22.min.json"]
+[6.582633, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/apis/elasticfilesystem-2015-02-01.paginators.json"]
+[6.582737, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/codebuild-2016-10-06.examples.json"]
+[6.583055, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/alexaforbusiness-2017-11-09.paginators.json"]
+[6.583165, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/worklink-2018-09-25.paginators.json"]
+[6.583253, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/polly-2016-06-10.examples.json"]
+[6.58355, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/savingsplans-2019-06-28.paginators.json"]
+[6.583678, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/sso-2019-06-10.examples.json"]
+[6.583778, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2011-12-05.examples.json"]
+[6.58383, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/redshift-2012-12-01.waiters2.json"]
+[6.583966, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/sagemaker-2017-07-24.waiters2.json"]
+[6.584142, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/connect-2017-08-08.examples.json"]
+[6.58425, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/apigatewayv2-2018-11-29.min.json"]
+[6.593524, "o", " (deflated 95%)\r\n adding: node_modules/aws-sdk/apis/secretsmanager-2017-10-17.paginators.json"]
+[6.593672, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/apis/eventbridge-2015-10-07.min.json"]
+[6.595138, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/apigateway-2015-07-09.paginators.json"]
+[6.595223, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/iotevents-2018-07-27.examples.json"]
+[6.595339, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/appstream-2016-12-01.min.json"]
+[6.598691, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/iam-2010-05-08.waiters2.json"]
+[6.598787, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/codestar-2017-04-19.paginators.json"]
+[6.598876, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/marketplace-catalog-2018-09-17.paginators.json"]
+[6.598973, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/apis/config-2014-11-12.paginators.json"]
+[6.599086, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/apis/eks-2017-11-01.min.json"]
+[6.599607, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/cur-2017-01-06.min.json"]
+[6.599734, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/ecs-2014-11-13.min.json"]
+[6.605384, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/transcribe-2017-10-26.paginators.json"]
+[6.605484, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/apis/securityhub-2018-10-26.paginators.json"]
+[6.605579, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/apis/acm-2015-12-08.waiters2.json"]
+[6.605686, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/apis/groundstation-2019-05-23.examples.json"]
+[6.605774, "o", " (deflated 5%)\r\n adding: node_modules/aws-sdk/apis/forecast-2018-06-26.min.json"]
+[6.607903, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/ds-2015-04-16.paginators.json"]
+[6.607997, "o", " (deflated 37%)\r\n adding: node_modules/aws-sdk/apis/autoscaling-2011-01-01.min.json"]
+[6.611123, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/elasticache-2015-02-02.paginators.json"]
+[6.611256, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/sdb-2009-04-15.min.json"]
+[6.611657, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/transfer-2018-11-05.paginators.json"]
+[6.611794, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/appmesh-2019-01-25.examples.json"]
+[6.61192, "o", " (deflated 5%)\r\n adding: node_modules/aws-sdk/apis/appmesh-2019-01-25.paginators.json (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/mobile-2017-07-01.min.json"]
+[6.612347, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2016-11-25.min.json"]
+[6.61601, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/health-2016-08-04.examples.json"]
+[6.616182, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancingv2-2015-12-01.min.json"]
+[6.617565, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/ecs-2014-11-13.paginators.json"]
+[6.617722, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/application-autoscaling-2016-02-06.examples.json"]
+[6.618279, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/dax-2017-04-19.min.json"]
+[6.619106, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/AWSMigrationHub-2017-05-31.paginators.json"]
+[6.619132, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/globalaccelerator-2018-08-08.paginators.json"]
+[6.619242, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/qldb-2019-01-02.examples.json"]
+[6.619367, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ecs-2014-11-13.waiters2.json"]
+[6.619609, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/savingsplans-2019-06-28.min.json"]
+[6.620098, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/acm-pca-2017-08-22.examples.json"]
+[6.620124, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2016-11-25.waiters2.json"]
+[6.620209, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/clouddirectory-2016-05-10.min.json"]
+[6.623785, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/codecommit-2015-04-13.paginators.json"]
+[6.623831, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/neptune-2014-10-31.waiters2.json"]
+[6.624101, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/health-2016-08-04.min.json"]
+[6.624547, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/sqs-2012-11-05.min.json"]
+[6.625254, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/macie-2017-12-19.examples.json"]
+[6.62528, "o", " (deflated 5%)\r\n adding: node_modules/aws-sdk/apis/appmesh-2018-10-01.min.json"]
+[6.626325, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/lambda-2014-11-11.paginators.json"]
+[6.62635, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/apis/autoscaling-2011-01-01.paginators.json"]
+[6.626422, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/email-2010-12-01.min.json"]
+[6.629494, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/lambda-2015-03-31.examples.json"]
+[6.630165, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/apigatewaymanagementapi-2018-11-29.min.json"]
+[6.630307, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/lex-models-2017-04-19.examples.json"]
+[6.631228, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/opsworkscm-2016-11-01.paginators.json"]
+[6.631359, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/kafka-2018-11-14.min.json"]
+[6.634232, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/elasticmapreduce-2009-03-31.min.json"]
+[6.63885, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/kinesis-2013-12-02.examples.json"]
+[6.639003, "o", " (deflated 5%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-11-05.waiters2.json"]
+[6.639143, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/application-insights-2018-11-25.paginators.json"]
+[6.639278, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/dlm-2018-01-12.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/iotthingsgraph-2018-09-06.examples.json"]
+[6.639433, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/service-quotas-2019-06-24.min.json"]
+[6.639861, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/glue-2017-03-31.min.json"]
+[6.650539, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/license-manager-2018-08-01.paginators.json"]
+[6.650699, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-06-18.paginators.json (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/managedblockchain-2018-09-24.paginators.json"]
+[6.650806, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/mediastore-2017-09-01.paginators.json (deflated 37%)\r\n adding: node_modules/aws-sdk/apis/sqs-2012-11-05.examples.json"]
+[6.650912, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/lex-models-2017-04-19.paginators.json"]
+[6.650988, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/datasync-2018-11-09.paginators.json"]
+[6.651086, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/apis/transcribe-2017-10-26.examples.json"]
+[6.651184, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2017-10-30.min.json"]
+[6.657788, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/codepipeline-2015-07-09.examples.json"]
+[6.657958, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/waf-regional-2016-11-28.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/textract-2018-06-27.paginators.json"]
+[6.658085, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/s3-2006-03-01.min.json"]
+[6.665777, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/securityhub-2018-10-26.examples.json"]
+[6.665808, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/backup-2018-11-15.min.json"]
+[6.667811, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/cloudsearchdomain-2013-01-01.min.json"]
+[6.668214, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-11-05.paginators.json"]
+[6.668419, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/groundstation-2019-05-23.paginators.json"]
+[6.668652, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/iam-2010-05-08.min.json"]
+[6.674604, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/runtime.lex-2016-11-28.examples.json"]
+[6.674732, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/monitoring-2010-08-01.paginators.json"]
+[6.674818, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/apis/appmesh-2018-10-01.examples.json (deflated 5%)\r\n adding: node_modules/aws-sdk/apis/kinesis-video-media-2017-09-30.min.json"]
+[6.675103, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/apis/mediapackage-2017-10-12.min.json"]
+[6.677918, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/opsworks-2013-02-18.min.json"]
+[6.683311, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/qldb-session-2019-07-11.paginators.json"]
+[6.683464, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/codestar-2017-04-19.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/acm-2015-12-08.min.json"]
+[6.683871, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/xray-2016-04-12.paginators.json"]
+[6.683998, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/apis/budgets-2016-10-20.min.json"]
+[6.684674, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/amplify-2017-07-25.paginators.json"]
+[6.684779, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/waf-regional-2016-11-28.examples.json"]
+[6.686113, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/personalize-runtime-2018-05-22.examples.json"]
+[6.686321, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/workmailmessageflow-2019-05-01.min.json"]
+[6.686471, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/apis/iam-2010-05-08.examples.json"]
+[6.689789, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/events-2015-10-07.paginators.json"]
+[6.689975, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/waf-2015-08-24.examples.json"]
+[6.691302, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/rds-data-2018-08-01.paginators.json"]
+[6.691417, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-01-10.min.json"]
+[6.695687, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2019-03-26.paginators.json"]
+[6.69588, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/runtime.sagemaker-2017-05-13.min.json"]
+[6.695994, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/apis/ce-2017-10-25.examples.json"]
+[6.696087, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/forecastquery-2018-06-26.examples.json"]
+[6.696231, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/streams.dynamodb-2012-08-10.paginators.json (stored 0%)\r\n adding: node_modules/aws-sdk/apis/cloudhsmv2-2017-04-28.paginators.json"]
+[6.696361, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2011-12-05.waiters2.json"]
+[6.696462, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/apis/elasticache-2015-02-02.min.json"]
+[6.701723, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/redshift-2012-12-01.examples.json"]
+[6.701823, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/sagemaker-2017-07-24.examples.json"]
+[6.701954, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/redshift-2012-12-01.min.json"]
+[6.709467, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/dax-2017-04-19.paginators.json"]
+[6.709664, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/route53resolver-2018-04-01.min.json"]
+[6.710275, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/rds-2014-10-31.min.json"]
+[6.717073, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/iot-jobs-data-2017-09-29.examples.json"]
+[6.717105, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/pi-2018-02-27.examples.json"]
+[6.71716, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/entitlement.marketplace-2017-01-11.examples.json"]
+[6.71744, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/sns-2010-03-31.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/neptune-2014-10-31.min.json"]
+[6.72073, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/forecast-2018-06-26.paginators.json"]
+[6.720763, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/groundstation-2019-05-23.min.json"]
+[6.722466, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/signer-2017-08-25.min.json"]
+[6.723249, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/pinpoint-2016-12-01.min.json"]
+[6.736095, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/firehose-2015-08-04.min.json"]
+[6.739144, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/qldb-2019-01-02.min.json"]
+[6.73994, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/iotevents-2018-07-27.min.json"]
+[6.741571, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/cloudformation-2010-05-15.waiters2.json"]
+[6.741735, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/cognito-idp-2016-04-18.min.json"]
+[6.748778, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/connect-2017-08-08.paginators.json"]
+[6.748982, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/support-2013-04-15.min.json"]
+[6.750114, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/iotthingsgraph-2018-09-06.min.json"]
+[6.7519, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/personalize-runtime-2018-05-22.min.json"]
+[6.752011, "o", " (deflated 74%)\r\n adding: node_modules/aws-sdk/apis/clouddirectory-2017-01-11.examples.json"]
+[6.752108, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/es-2015-01-01.paginators.json"]
+[6.752216, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/apis/shield-2016-06-02.paginators.json"]
+[6.752305, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/lightsail-2016-11-28.paginators.json"]
+[6.752392, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/codepipeline-2015-07-09.min.json"]
+[6.757421, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/opsworks-2013-02-18.paginators.json"]
+[6.75767, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.min.json"]
+[6.759321, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/redshift-2012-12-01.paginators.json"]
+[6.759478, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/appsync-2017-07-25.min.json"]
+[6.761016, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/personalize-2018-05-22.min.json"]
+[6.762428, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/backup-2018-11-15.examples.json"]
+[6.762454, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/kinesisanalyticsv2-2018-05-23.min.json"]
+[6.764918, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/glacier-2012-06-01.waiters2.json"]
+[6.764944, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/storagegateway-2013-06-30.examples.json"]
+[6.766541, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/dynamodb-2012-08-10.paginators.json"]
+[6.766727, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/apis/swf-2012-01-25.paginators.json"]
+[6.766905, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/lakeformation-2017-03-31.min.json"]
+[6.767276, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/mediatailor-2018-04-23.min.json"]
+[6.767627, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/waf-regional-2016-11-28.min.json"]
+[6.770365, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/batch-2016-08-10.min.json"]
+[6.771779, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.examples.json"]
+[6.771806, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/route53domains-2014-05-15.examples.json"]
+[6.771856, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/athena-2017-05-18.min.json"]
+[6.772808, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/s3control-2018-08-20.paginators.json"]
+[6.772834, "o", " (deflated 38%)\r\n adding: node_modules/aws-sdk/apis/service-quotas-2019-06-24.examples.json"]
+[6.772901, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/swf-2012-01-25.min.json"]
+[6.775275, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/kinesis-2013-12-02.paginators.json"]
+[6.775301, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/apis/amplify-2017-07-25.examples.json"]
+[6.775371, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/personalize-runtime-2018-05-22.paginators.json"]
+[6.775519, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/codecommit-2015-04-13.examples.json"]
+[6.7757, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/pi-2018-02-27.min.json"]
+[6.77616, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/rds-data-2018-08-01.examples.json"]
+[6.776296, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/datapipeline-2012-10-29.paginators.json"]
+[6.776479, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/apis/appmesh-2018-10-01.paginators.json"]
+[6.776624, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/mediaconvert-2017-08-29.paginators.json"]
+[6.776781, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/apis/secretsmanager-2017-10-17.examples.json"]
+[6.77748, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/apigatewayv2-2018-11-29.paginators.json"]
+[6.777506, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/rds-2014-09-01.examples.json"]
+[6.777604, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloudhsm-2014-05-30.min.json"]
+[6.778117, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/rds-data-2018-08-01.min.json"]
+[6.778832, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/meteringmarketplace-2016-01-14.paginators.json"]
+[6.779006, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/entitlement.marketplace-2017-01-11.min.json"]
+[6.779182, "o", " (deflated 74%)\r\n adding: node_modules/aws-sdk/apis/workdocs-2016-05-01.min.json"]
+[6.782733, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/dms-2016-01-01.waiters2.json"]
+[6.782986, "o", " (deflated 94%)\r\n adding: node_modules/aws-sdk/apis/chime-2018-05-01.min.json"]
+[6.787712, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/iot-jobs-data-2017-09-29.paginators.json"]
+[6.787949, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/route53-2013-04-01.waiters2.json (deflated 44%)\r\n adding: node_modules/aws-sdk/apis/mturk-requester-2017-01-17.min.json"]
+[6.790757, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/docdb-2014-10-31.examples.json"]
+[6.790976, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/workmail-2017-10-01.min.json"]
+[6.792069, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/autoscaling-plans-2018-01-06.examples.json"]
+[6.792254, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/route53-2013-04-01.min.json"]
+[6.797544, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/application-insights-2018-11-25.examples.json"]
+[6.797641, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/marketplace-catalog-2018-09-17.examples.json"]
+[6.797746, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2019-03-26.min.json"]
+[6.804364, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/elasticmapreduce-2009-03-31.paginators.json"]
+[6.804466, "o", " (deflated 81%)\r\n adding: node_modules/aws-sdk/apis/savingsplans-2019-06-28.examples.json"]
+[6.804563, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/forecastquery-2018-06-26.paginators.json"]
+[6.804657, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/mediastore-data-2017-09-01.min.json"]
+[6.804915, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-06-18.min.json"]
+[6.809333, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/kinesisvideo-2017-09-30.examples.json"]
+[6.809435, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/servicediscovery-2017-03-14.min.json"]
+[6.81021, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/fms-2018-01-01.min.json"]
+[6.810671, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/servicecatalog-2015-12-10.min.json"]
+[6.814144, "o", " (deflated 93%)\r\n adding: node_modules/aws-sdk/apis/cloudsearch-2013-01-01.paginators.json"]
+[6.814271, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/apis/globalaccelerator-2018-08-08.min.json"]
+[6.814914, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/iotevents-data-2018-10-23.examples.json"]
+[6.81494, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/shield-2016-06-02.examples.json"]
+[6.815055, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/ecr-2015-09-21.examples.json"]
+[6.815338, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/apis/dms-2016-01-01.min.json"]
+[6.817502, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/chime-2018-05-01.paginators.json"]
+[6.817528, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/apis/kinesisanalytics-2015-08-14.min.json"]
+[6.81904, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/route53resolver-2018-04-01.examples.json"]
+[6.819227, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/mediapackage-2017-10-12.paginators.json"]
+[6.819274, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/apis/servicecatalog-2015-12-10.paginators.json"]
+[6.819508, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/kinesis-2013-12-02.waiters2.json"]
+[6.819716, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/apis/appstream-2016-12-01.paginators.json"]
+[6.819939, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/apis/ssm-2014-11-06.paginators.json"]
+[6.82012, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/cloudfront-2018-11-05.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cognito-idp-2016-04-18.examples.json"]
+[6.82033, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/datasync-2018-11-09.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/workmail-2017-10-01.examples.json"]
+[6.820641, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/application-autoscaling-2016-02-06.paginators.json (deflated 78%)\r\n adding: node_modules/aws-sdk/apis/cur-2017-01-06.paginators.json"]
+[6.820808, "o", " (deflated 36%)\r\n adding: node_modules/aws-sdk/apis/polly-2016-06-10.min.json"]
+[6.821339, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/iot-2015-05-28.paginators.json"]
+[6.821365, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/cognito-idp-2016-04-18.paginators.json"]
+[6.821431, "o", " (deflated 85%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-02-12.examples.json"]
+[6.821602, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/lambda-2015-03-31.waiters2.json"]
+[6.821628, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/apis/macie-2017-12-19.paginators.json"]
+[6.821868, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/apis/autoscaling-plans-2018-01-06.paginators.json"]
+[6.821889, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/elasticbeanstalk-2010-12-01.examples.json"]
+[6.823626, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/dlm-2018-01-12.examples.json"]
+[6.823667, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/rds-2014-10-31.paginators.json"]
+[6.823793, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/mediapackage-vod-2018-11-07.min.json"]
+[6.825069, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/neptune-2014-10-31.examples.json (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/application-autoscaling-2016-02-06.min.json"]
+[6.825836, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/cloudformation-2010-05-15.min.json"]
+[6.828961, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-02-12.paginators.json"]
+[6.829093, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/appsync-2017-07-25.examples.json"]
+[6.829179, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/inspector-2016-02-16.examples.json"]
+[6.831523, "o", " (deflated 88%)\r\n adding: node_modules/aws-sdk/apis/es-2015-01-01.examples.json"]
+[6.831646, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/resource-groups-2017-11-27.examples.json"]
+[6.83175, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/glacier-2012-06-01.min.json"]
+[6.83387, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/workspaces-2015-04-08.min.json"]
+[6.835764, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/snowball-2016-06-30.min.json"]
+[6.836792, "o", " (deflated 89%)\r\n adding: node_modules/aws-sdk/apis/cloudsearch-2013-01-01.min.json"]
+[6.837716, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/docdb-2014-10-31.min.json"]
+[6.840332, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/budgets-2016-10-20.examples.json"]
+[6.84045, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cognito-identity-2014-06-30.paginators.json"]
+[6.840554, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/kinesisanalyticsv2-2018-05-23.paginators.json"]
+[6.840648, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/apis/monitoring-2010-08-01.min.json"]
+[6.842351, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/ssm-2014-11-06.min.json"]
+[6.851925, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/discovery-2015-11-01.min.json"]
+[6.853228, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/apis/marketplace-catalog-2018-09-17.min.json"]
+[6.853648, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/apis/ecs-2014-11-13.examples.json"]
+[6.855354, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/apis/storagegateway-2013-06-30.paginators.json"]
+[6.85552, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/apis/cloudsearch-2011-02-01.paginators.json"]
+[6.855645, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/apis/acm-pca-2017-08-22.waiters2.json"]
+[6.855742, "o", " (deflated 82%)\r\n adding: node_modules/aws-sdk/apis/workspaces-2015-04-08.examples.json"]
+[6.855838, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/acm-2015-12-08.examples.json"]
+[6.855916, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/kinesis-video-archived-media-2017-09-30.paginators.json"]
+[6.856016, "o", " (deflated 44%)\r\n adding: node_modules/aws-sdk/apis/pinpoint-email-2018-07-26.examples.json"]
+[6.856112, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/cloudsearch-2011-02-01.min.json"]
+[6.857123, "o", " (deflated 91%)\r\n adding: node_modules/aws-sdk/apis/rds-2013-01-10.examples.json"]
+[6.857248, "o", " (deflated 7%)\r\n adding: node_modules/aws-sdk/apis/elasticloadbalancing-2012-06-01.min.json"]
+[6.858916, "o", " (deflated 92%)\r\n adding: node_modules/aws-sdk/apis/qldb-2019-01-02.paginators.json"]
+[6.859011, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/apis/AWSMigrationHub-2017-05-31.min.json"]
+[6.859399, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/CHANGELOG.md"]
+[6.880856, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/dist/"]
+[6.880944, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/dist/BUNDLE_LICENSE.txt"]
+[6.881106, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/dist/aws-sdk.js"]
+[7.246793, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/dist/xml2js.js"]
+[7.279061, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/dist/aws-sdk-core-react-native.js"]
+[7.309424, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/dist/aws-sdk.min.js"]
+[7.381336, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/dist/aws-sdk-react-native.js"]
+[7.689384, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/node_modules/"]
+[7.689449, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/node_modules/.bin/ (stored 0%)\r\n adding: node_modules/aws-sdk/node_modules/.bin/uuid"]
+[7.689593, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/global.js"]
+[7.689696, "o", " (deflated 16%)\r\n adding: node_modules/aws-sdk/index.js"]
+[7.689805, "o", " (deflated 12%)\r\n adding: node_modules/aws-sdk/dist-tools/ (stored 0%)\r\n adding: node_modules/aws-sdk/dist-tools/webpack.config.rn.js"]
+[7.689924, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/dist-tools/client-creator.js"]
+[7.690245, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/dist-tools/service-collector.js"]
+[7.690499, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/dist-tools/webpack.config.rn-core.js"]
+[7.690631, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/dist-tools/webpack.config.rn-dep.js"]
+[7.690754, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/dist-tools/create-all-services.js"]
+[7.690856, "o", " (deflated 26%)\r\n adding: node_modules/aws-sdk/dist-tools/browser-builder.js"]
+[7.690975, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/dist-tools/transform.js"]
+[7.691113, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/README.md"]
+[7.692511, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/NOTICE.txt"]
+[7.692619, "o", " (deflated 19%)\r\n adding: node_modules/aws-sdk/package.json"]
+[7.693847, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/scripts/ (stored 0%)\r\n adding: node_modules/aws-sdk/scripts/region-checker/"]
+[7.693957, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/scripts/region-checker/whitelist.js"]
+[7.694082, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/scripts/region-checker/index.js"]
+[7.694182, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/scripts/changelog/ (stored 0%)\r\n adding: node_modules/aws-sdk/scripts/changelog/util.js"]
+[7.694453, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/scripts/changelog/add-change.js"]
+[7.694844, "o", " (deflated 78%)\r\n adding: node_modules/aws-sdk/scripts/changelog/release"]
+[7.694961, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/scripts/changelog/README.md"]
+[7.695216, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/scripts/changelog/create-changelog"]
+[7.695306, "o", " (deflated 33%)\r\n adding: node_modules/aws-sdk/scripts/changelog/change-creator.js"]
+[7.695643, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/scripts/composite-test.js"]
+[7.695747, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/scripts/translate-api"]
+[7.695897, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/scripts/services-table-generator.ts"]
+[7.696009, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/scripts/README.md"]
+[7.69613, "o", " (deflated 42%)\r\n adding: node_modules/aws-sdk/scripts/lib/"]
+[7.69623, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/scripts/lib/test-helper.js"]
+[7.696326, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/scripts/lib/foo-2018-03-30.normal.json"]
+[7.696433, "o", " (deflated 86%)\r\n adding: node_modules/aws-sdk/scripts/lib/translator.js"]
+[7.696931, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/scripts/lib/prune-shapes.js"]
+[7.697052, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/scripts/lib/visit-related-shape-names.js"]
+[7.697129, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/scripts/lib/ts-generator.js"]
+[7.698308, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/scripts/lib/get-operation-shape-names.js"]
+[7.698334, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/scripts/lib/ts-customizations.json"]
+[7.698449, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/scripts/lib/remove-event-stream-ops.js"]
+[7.698534, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/scripts/lib/extra-2018-08-02.normal.json"]
+[7.69885, "o", " (deflated 87%)\r\n adding: node_modules/aws-sdk/scripts/services-table-generator.js"]
+[7.699002, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/scripts/typings-generator.js"]
+[7.699182, "o", " (deflated 43%)\r\n adding: node_modules/aws-sdk/scripts/console"]
+[7.699364, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/"]
+[7.699426, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/request.d.ts"]
+[7.699744, "o", " (deflated 90%)\r\n adding: node_modules/aws-sdk/lib/config_service_placeholders.d.ts"]
+[7.700414, "o", " (deflated 84%)\r\n adding: node_modules/aws-sdk/lib/empty.js"]
+[7.70054, "o", " (deflated 18%)\r\n adding: node_modules/aws-sdk/lib/resource_waiter.js"]
+[7.700788, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/shared-ini/"]
+[7.70089, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/shared-ini/ini-loader.d.ts"]
+[7.700986, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/lib/shared-ini/index.js"]
+[7.701083, "o", " (deflated 28%)\r\n adding: node_modules/aws-sdk/lib/shared-ini/index.d.ts"]
+[7.701183, "o", " (deflated 23%)\r\n adding: node_modules/aws-sdk/lib/shared-ini/ini-loader.js"]
+[7.701344, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/lib/s3/"]
+[7.701449, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/s3/managed_upload.d.ts"]
+[7.701572, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/lib/s3/managed_upload.js"]
+[7.702836, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/lib/s3/presigned_post.d.ts"]
+[7.702995, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/util.js"]
+[7.705589, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/error.d.ts"]
+[7.705694, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/lib/browserSha1.js"]
+[7.705937, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/lib/event_listeners.d.ts"]
+[7.706076, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/aws.js"]
+[7.706185, "o", " (deflated 24%)\r\n adding: node_modules/aws-sdk/lib/browserCryptoLib.js"]
+[7.706306, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/lib/state_machine.js"]
+[7.706435, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/event_listeners.js"]
+[7.708004, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/lib/react-native-loader.js"]
+[7.708142, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/lib/core.js"]
+[7.708316, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/lib/react-native/"]
+[7.70842, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/react-native/add-content-type.js"]
+[7.70852, "o", " (deflated 44%)\r\n adding: node_modules/aws-sdk/lib/response.js"]
+[7.708772, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/request.js"]
+[7.710292, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/lib/publisher/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/publisher/configuration.js"]
+[7.710375, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/publisher/index.js"]
+[7.710776, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/service.js"]
+[7.712574, "o", " (deflated 77%)\r\n adding: node_modules/aws-sdk/lib/cloudfront/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/cloudfront/signer.d.ts"]
+[7.712738, "o", " (deflated 74%)\r\n adding: node_modules/aws-sdk/lib/cloudfront/signer.js"]
+[7.713087, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/config.d.ts"]
+[7.7136, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/endpoint.d.ts"]
+[7.713627, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/http_response.d.ts"]
+[7.713831, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/lib/service.d.ts"]
+[7.714032, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/region_config_data.json"]
+[7.714202, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/lib/credentials.js"]
+[7.71459, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/types.js"]
+[7.714685, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/converter.js"]
+[7.715185, "o", " (deflated 80%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/numberValue.d.ts"]
+[7.715211, "o", " (deflated 36%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/converter.d.ts"]
+[7.715368, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/document_client.js"]
+[7.716263, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/set.js"]
+[7.716328, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/translator.js"]
+[7.716495, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/numberValue.js"]
+[7.71663, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/lib/dynamodb/document_client.d.ts"]
+[7.724015, "o", " (deflated 83%)\r\n adding: node_modules/aws-sdk/lib/api_loader.js"]
+[7.724059, "o", " (deflated 39%)\r\n adding: node_modules/aws-sdk/lib/browserMd5.js"]
+[7.724432, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/lib/config.js"]
+[7.725677, "o", " (deflated 74%)\r\n adding: node_modules/aws-sdk/lib/protocol/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/protocol/rest.js"]
+[7.725854, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/protocol/rest_json.js"]
+[7.726044, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/lib/protocol/rest_xml.js"]
+[7.726274, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/protocol/query.js"]
+[7.726374, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/protocol/helpers.js"]
+[7.726589, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/lib/protocol/json.js"]
+[7.726784, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/lib/realclock/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/realclock/nodeClock.js"]
+[7.726886, "o", " (deflated 26%)\r\n adding: node_modules/aws-sdk/lib/realclock/browserClock.js"]
+[7.727104, "o", " (deflated 40%)\r\n adding: node_modules/aws-sdk/lib/xml/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/xml/escape-element.js"]
+[7.727263, "o", " (deflated 37%)\r\n adding: node_modules/aws-sdk/lib/xml/xml-text.js (deflated 42%)\r\n adding: node_modules/aws-sdk/lib/xml/xml-node.js"]
+[7.727411, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/xml/browser_parser.js"]
+[7.727612, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/xml/builder.js"]
+[7.727893, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/xml/escape-attribute.js"]
+[7.728061, "o", " (deflated 42%)\r\n adding: node_modules/aws-sdk/lib/xml/node_parser.js"]
+[7.728325, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/discover_endpoint.js"]
+[7.728836, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/lib/metadata_service.js"]
+[7.729091, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/lib/core.d.ts"]
+[7.729217, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/lib/browserHmac.js"]
+[7.729371, "o", " (deflated 64%)\r\n adding: node_modules/aws-sdk/lib/json/"]
+[7.729468, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/json/builder.js"]
+[7.729569, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/json/parser.js"]
+[7.729682, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/browser_loader.js"]
+[7.729807, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/lib/param_validator.js"]
+[7.730237, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/lib/http_request.d.ts"]
+[7.730366, "o", " (deflated 58%)\r\n adding: node_modules/aws-sdk/lib/http/"]
+[7.730467, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/http/node.js"]
+[7.730737, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/http/xhr.js"]
+[7.730994, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/browserHashUtils.js"]
+[7.731095, "o", " (deflated 62%)\r\n"]
+[7.731191, "o", " adding: node_modules/aws-sdk/lib/metadata_service.d.ts"]
+[7.731283, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/region_config.js"]
+[7.7314, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/model/"]
+[7.731516, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/model/resource_waiter.js"]
+[7.731617, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/lib/model/operation.js"]
+[7.731711, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/model/paginator.js"]
+[7.73181, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/lib/model/api.js"]
+[7.731975, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/lib/model/shape.js"]
+[7.732466, "o", " (deflated 76%)\r\n adding: node_modules/aws-sdk/lib/model/collection.js"]
+[7.732587, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/lib/credentials.d.ts"]
+[7.732752, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/node_loader.js"]
+[7.732958, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/response.d.ts"]
+[7.733099, "o", " (deflated 55%)\r\n adding: node_modules/aws-sdk/lib/config_use_dualstack.d.ts"]
+[7.733218, "o", " (deflated 41%)\r\n adding: node_modules/aws-sdk/lib/browserSha256.js"]
+[7.733554, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/lib/query/"]
+[7.733669, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/query/query_param_serializer.js"]
+[7.733758, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/browser.js"]
+[7.733867, "o", " (deflated 43%)\r\n adding: node_modules/aws-sdk/lib/polly/ (stored 0%)\r\n adding: node_modules/aws-sdk/lib/polly/presigner.js"]
+[7.734214, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/polly/presigner.d.ts"]
+[7.73434, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/lib/rds/"]
+[7.734435, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/rds/signer.d.ts"]
+[7.734543, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/lib/rds/signer.js"]
+[7.734957, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/sequential_executor.js"]
+[7.735394, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/signers/"]
+[7.735564, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/signers/v4_credentials.js"]
+[7.735676, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/signers/presign.js"]
+[7.735846, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/signers/v4.js"]
+[7.736144, "o", " (deflated 72%)\r\n adding: node_modules/aws-sdk/lib/signers/s3.js"]
+[7.736423, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/signers/v2.js"]
+[7.736571, "o", " (deflated 58%)\r\n adding: node_modules/aws-sdk/lib/signers/v3.js"]
+[7.736721, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/signers/request_signer.js"]
+[7.736838, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/lib/signers/v3https.js"]
+[7.736964, "o", " (deflated 45%)\r\n adding: node_modules/aws-sdk/lib/services/"]
+[7.737068, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/services/lambda.js"]
+[7.737168, "o", " (deflated 34%)\r\n adding: node_modules/aws-sdk/lib/services/glacier.js"]
+[7.737292, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/services/glacier.d.ts"]
+[7.737416, "o", " (deflated 46%)\r\n adding: node_modules/aws-sdk/lib/services/apigateway.js"]
+[7.737543, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/lib/services/rds.js"]
+[7.737702, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/lib/services/cloudsearchdomain.js"]
+[7.737927, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/lib/services/sts.js"]
+[7.738188, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/services/sqs.js"]
+[7.7384, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/lib/services/polly.d.ts"]
+[7.738521, "o", " (deflated 32%)\r\n adding: node_modules/aws-sdk/lib/services/machinelearning.js"]
+[7.738619, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/lib/services/dynamodb.js"]
+[7.740006, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/lib/services/s3.js"]
+[7.74401, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/lib/services/s3.d.ts"]
+[7.744178, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/services/cognitoidentity.js"]
+[7.744273, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/lib/services/iotdata.js"]
+[7.744468, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/services/polly.js"]
+[7.744576, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/services/cloudfront.d.ts"]
+[7.74467, "o", " (deflated 30%)\r\n adding: node_modules/aws-sdk/lib/services/cloudfront.js"]
+[7.74477, "o", " (deflated 36%)\r\n adding: node_modules/aws-sdk/lib/services/s3control.js"]
+[7.744895, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/services/swf.js"]
+[7.744994, "o", " (deflated 24%)\r\n adding: node_modules/aws-sdk/lib/services/dynamodb.d.ts"]
+[7.745093, "o", " (deflated 46%)\r\n adding: node_modules/aws-sdk/lib/services/ec2.js"]
+[7.745243, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/services/route53.js"]
+[7.745365, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/lib/http.js"]
+[7.745678, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/event-stream/"]
+[7.745771, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/event-stream/buffered-create-event-stream.js"]
+[7.745869, "o", " (deflated 51%)\r\n adding: node_modules/aws-sdk/lib/event-stream/event-message-chunker.js"]
+[7.745977, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/lib/event-stream/int64.js"]
+[7.746121, "o", " (deflated 57%)\r\n adding: node_modules/aws-sdk/lib/event-stream/parse-event.js"]
+[7.746259, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/event-stream/split-message.js"]
+[7.746387, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/event-stream/parse-message.js"]
+[7.746624, "o", " (deflated 79%)\r\n adding: node_modules/aws-sdk/lib/event-stream/event-message-chunker-stream.js"]
+[7.746858, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/lib/event-stream/build-message.js"]
+[7.74715, "o", " (deflated 73%)\r\n adding: node_modules/aws-sdk/lib/event-stream/event-message-unmarshaller-stream.js"]
+[7.747312, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/lib/event-stream/event-stream.d.ts"]
+[7.747439, "o", " (deflated 42%)\r\n adding: node_modules/aws-sdk/lib/event-stream/streaming-create-event-stream.js"]
+[7.747553, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/credentials/"]
+[7.747655, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/lib/credentials/token_file_web_identity_credentials.js"]
+[7.747897, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/credentials/ecs_credentials.d.ts"]
+[7.748035, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/lib/credentials/cognito_identity_credentials.d.ts"]
+[7.748196, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/credentials/temporary_credentials.d.ts"]
+[7.748339, "o", " (deflated 68%)\r\n adding: node_modules/aws-sdk/lib/credentials/chainable_temporary_credentials.js"]
+[7.748688, "o", " (deflated 70%)\r\n adding: node_modules/aws-sdk/lib/credentials/environment_credentials.d.ts"]
+[7.748803, "o", " (deflated 45%)\r\n adding: node_modules/aws-sdk/lib/credentials/credential_provider_chain.js"]
+[7.749132, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/lib/credentials/token_file_web_identity_credentials.d.ts"]
+[7.749266, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/lib/credentials/process_credentials.js"]
+[7.749584, "o", " (deflated 66%)\r\n adding: node_modules/aws-sdk/lib/credentials/saml_credentials.js"]
+[7.74983, "o", " (deflated 60%)\r\n adding: node_modules/aws-sdk/lib/credentials/file_system_credentials.d.ts"]
+[7.749926, "o", " (deflated 49%)\r\n adding: node_modules/aws-sdk/lib/credentials/credential_provider_chain.d.ts"]
+[7.750047, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/lib/credentials/environment_credentials.js"]
+[7.750254, "o", " (deflated 61%)\r\n adding: node_modules/aws-sdk/lib/credentials/ec2_metadata_credentials.d.ts"]
+[7.750406, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/lib/credentials/ecs_credentials.js"]
+[7.750567, "o", " (deflated 48%)\r\n adding: node_modules/aws-sdk/lib/credentials/shared_ini_file_credentials.d.ts"]
+[7.750706, "o", " (deflated 52%)\r\n adding: node_modules/aws-sdk/lib/credentials/temporary_credentials.js"]
+[7.750975, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/credentials/remote_credentials.js"]
+[7.751262, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/credentials/web_identity_credentials.js"]
+[7.751443, "o", " (deflated 63%)\r\n adding: node_modules/aws-sdk/lib/credentials/web_identity_credentials.d.ts"]
+[7.751577, "o", " (deflated 67%)\r\n adding: node_modules/aws-sdk/lib/credentials/chainable_temporary_credentials.d.ts"]
+[7.751688, "o", " (deflated 59%)\r\n adding: node_modules/aws-sdk/lib/credentials/process_credentials.d.ts"]
+[7.7518, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/lib/credentials/shared_ini_file_credentials.js"]
+[7.752306, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/lib/credentials/saml_credentials.d.ts"]
+[7.752486, "o", " (deflated 58%)\r\n adding: node_modules/aws-sdk/lib/credentials/cognito_identity_credentials.js"]
+[7.753027, "o", " (deflated 71%)\r\n adding: node_modules/aws-sdk/lib/credentials/ec2_metadata_credentials.js"]
+[7.753226, "o", " (deflated 62%)\r\n adding: node_modules/aws-sdk/lib/credentials/remote_credentials.d.ts"]
+[7.753405, "o", " (deflated 54%)\r\n adding: node_modules/aws-sdk/lib/credentials/file_system_credentials.js"]
+[7.753624, "o", " (deflated 58%)\r\n adding: node_modules/aws-sdk/global.d.ts (deflated 38%)\r\n adding: node_modules/aws-sdk/.eslintignore"]
+[7.753794, "o", " (deflated 13%)\r\n adding: node_modules/aws-sdk/LICENSE.txt"]
+[7.754297, "o", " (deflated 65%)\r\n adding: node_modules/aws-sdk/.vscode/ (stored 0%)\r\n adding: node_modules/aws-sdk/.vscode/settings.json"]
+[7.754457, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/.vscode/launch.json (deflated 43%)\r\n"]
+[7.754643, "o", " adding: node_modules/aws-sdk/index.d.ts (deflated 40%)\r\n adding: node_modules/aws-sdk/browser.js"]
+[7.754671, "o", " (deflated 44%)\r\n adding: node_modules/aws-sdk/react-native.js"]
+[7.754766, "o", " (deflated 11%)\r\n adding: node_modules/aws-sdk/vendor/ (stored 0%)\r\n adding: node_modules/aws-sdk/vendor/endpoint-cache/"]
+[7.754796, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/vendor/endpoint-cache/index.js"]
+[7.754952, "o", " (deflated 69%)\r\n adding: node_modules/aws-sdk/vendor/endpoint-cache/utils/"]
+[7.755045, "o", " (stored 0%)\r\n adding: node_modules/aws-sdk/vendor/endpoint-cache/utils/LRU.d.ts"]
+[7.755155, "o", " (deflated 50%)\r\n adding: node_modules/aws-sdk/vendor/endpoint-cache/utils/LRU.js"]
+[7.755328, "o", " (deflated 75%)\r\n adding: node_modules/aws-sdk/vendor/endpoint-cache/index.d.ts"]
+[7.755476, "o", " (deflated 57%)\r\n adding: node_modules/url/ (stored 0%)\r\n adding: node_modules/url/.npmignore"]
+[7.755579, "o", " (stored 0%)\r\n adding: node_modules/url/test.js"]
+[7.758257, "o", " (deflated 82%)\r\n adding: node_modules/url/LICENSE"]
+[7.758428, "o", " (deflated 42%)\r\n adding: node_modules/url/README.md"]
+[7.758589, "o", " (deflated 63%)\r\n adding: node_modules/url/package.json"]
+[7.758717, "o", " (deflated 46%)\r\n adding: node_modules/url/url.js"]
+[7.759824, "o", " (deflated 69%)\r\n adding: node_modules/url/.travis.yml"]
+[7.759963, "o", " (deflated 17%)\r\n adding: node_modules/url/.zuul.yml"]
+[7.760131, "o", " (deflated 64%)\r\n adding: node_modules/object.getownpropertydescriptors/"]
+[7.760172, "o", " (stored 0%)\r\n adding: node_modules/object.getownpropertydescriptors/.npmignore"]
+[7.760412, "o", " (deflated 39%)\r\n adding: node_modules/object.getownpropertydescriptors/LICENSE"]
+[7.760554, "o", " (deflated 41%)\r\n adding: node_modules/object.getownpropertydescriptors/test/ (stored 0%)\r\n adding: node_modules/object.getownpropertydescriptors/test/.eslintrc"]
+[7.760706, "o", " (deflated 30%)\r\n adding: node_modules/object.getownpropertydescriptors/test/index.js"]
+[7.760865, "o", " (deflated 54%)\r\n adding: node_modules/object.getownpropertydescriptors/test/tests.js"]
+[7.761142, "o", " (deflated 71%)\r\n adding: node_modules/object.getownpropertydescriptors/test/shimmed.js"]
+[7.761323, "o", " (deflated 66%)\r\n adding: node_modules/object.getownpropertydescriptors/CHANGELOG.md"]
+[7.761491, "o", " (deflated 61%)\r\n adding: node_modules/object.getownpropertydescriptors/Makefile"]
+[7.761723, "o", " (deflated 54%)\r\n adding: node_modules/object.getownpropertydescriptors/.eslintrc"]
+[7.761787, "o", " (deflated 22%)\r\n adding: node_modules/object.getownpropertydescriptors/index.js"]
+[7.761975, "o", " (deflated 52%)\r\n adding: node_modules/object.getownpropertydescriptors/.editorconfig"]
+[7.762089, "o", " (deflated 42%)\r\n adding: node_modules/object.getownpropertydescriptors/README.md"]
+[7.762321, "o", " (deflated 72%)\r\n adding: node_modules/object.getownpropertydescriptors/polyfill.js"]
+[7.762479, "o", " (deflated 37%)\r\n adding: node_modules/object.getownpropertydescriptors/package.json"]
+[7.762621, "o", " (deflated 60%)\r\n adding: node_modules/object.getownpropertydescriptors/.jscs.json"]
+[7.762823, "o", " (deflated 70%)\r\n adding: node_modules/object.getownpropertydescriptors/shim.js"]
+[7.763001, "o", " (deflated 50%)\r\n adding: node_modules/object.getownpropertydescriptors/.travis.yml"]
+[7.763177, "o", " (deflated 75%)\r\n adding: node_modules/object.getownpropertydescriptors/implementation.js"]
+[7.763376, "o", " (deflated 57%)\r\n adding: node_modules/has-symbols/ (stored 0%)\r\n adding: node_modules/has-symbols/.npmignore"]
+[7.763519, "o", " (deflated 40%)\r\n adding: node_modules/has-symbols/LICENSE"]
+[7.763704, "o", " (deflated 41%)\r\n adding: node_modules/has-symbols/test/ (stored 0%)\r\n adding: node_modules/has-symbols/test/shams/"]
+[7.763752, "o", " (stored 0%)\r\n adding: node_modules/has-symbols/test/shams/get-own-property-symbols.js"]
+[7.763935, "o", " (deflated 56%)\r\n adding: node_modules/has-symbols/test/shams/core-js.js"]
+[7.7641, "o", " (deflated 57%)\r\n adding: node_modules/has-symbols/test/index.js"]
+[7.764219, "o", " (deflated 60%)\r\n adding: node_modules/has-symbols/test/tests.js (deflated 66%)\r\n adding: node_modules/has-symbols/CHANGELOG.md"]
+[7.764347, "o", " (deflated 22%)\r\n adding: node_modules/has-symbols/.eslintrc"]
+[7.764488, "o", " (deflated 16%)\r\n adding: node_modules/has-symbols/index.js"]
+[7.764665, "o", " (deflated 55%)\r\n adding: node_modules/has-symbols/shams.js"]
+[7.764773, "o", " (deflated 65%)\r\n adding: node_modules/has-symbols/README.md"]
+[7.765007, "o", " (deflated 61%)\r\n adding: node_modules/has-symbols/package.json"]
+[7.76513, "o", " (deflated 61%)\r\n adding: node_modules/has-symbols/.travis.yml"]
+[7.765332, "o", " (deflated 75%)\r\n adding: node_modules/ieee754/ (stored 0%)\r\n adding: node_modules/ieee754/LICENSE"]
+[7.765504, "o", " (deflated 49%)\r\n adding: node_modules/ieee754/index.js"]
+[7.765675, "o", " (deflated 67%)\r\n adding: node_modules/ieee754/README.md"]
+[7.765759, "o", " (deflated 56%)\r\n adding: node_modules/ieee754/package.json"]
+[7.76595, "o", " (deflated 51%)\r\n adding: node_modules/define-properties/ (stored 0%)\r\n adding: node_modules/define-properties/LICENSE"]
+[7.766126, "o", " (deflated 41%)\r\n adding: node_modules/define-properties/test/ (stored 0%)\r\n adding: node_modules/define-properties/test/index.js"]
+[7.76639, "o", " (deflated 72%)\r\n adding: node_modules/define-properties/CHANGELOG.md"]
+[7.766534, "o", " (deflated 59%)\r\n adding: node_modules/define-properties/.eslintrc"]
+[7.766636, "o", " (deflated 29%)\r\n adding: node_modules/define-properties/index.js"]
+[7.766825, "o", " (deflated 57%)\r\n adding: node_modules/define-properties/.editorconfig"]
+[7.766941, "o", " (deflated 42%)\r\n adding: node_modules/define-properties/README.md"]
+[7.767096, "o", " (deflated 66%)\r\n adding: node_modules/define-properties/package.json"]
+[7.767293, "o", " (deflated 58%)\r\n adding: node_modules/define-properties/.jscs.json"]
+[7.767582, "o", " (deflated 70%)\r\n adding: node_modules/define-properties/.travis.yml"]
+[7.7678, "o", " (deflated 89%)\r\n adding: node_modules/querystring/"]
+[7.767906, "o", " (stored 0%)\r\n adding: node_modules/querystring/License.md"]
+[7.768067, "o", " (deflated 42%)\r\n adding: node_modules/querystring/test/ (stored 0%)\r\n adding: node_modules/querystring/test/index.js"]
+[7.768408, "o", " (deflated 67%)\r\n adding: node_modules/querystring/test/tap-index.js"]
+[7.76851, "o", " (deflated 10%)\r\n adding: node_modules/querystring/test/common-index.js"]
+[7.768577, "o", " (deflated 9%)\r\n adding: node_modules/querystring/test/.index.js.un~"]
+[7.768694, "o", " (deflated 84%)\r\n adding: node_modules/querystring/History.md"]
+[7.768757, "o", " (deflated 39%)\r\n adding: node_modules/querystring/index.js"]
+[7.76883, "o", " (deflated 39%)\r\n adding: node_modules/querystring/encode.js"]
+[7.768943, "o", " (deflated 51%)\r\n adding: node_modules/querystring/.Readme.md.un~"]
+[7.769248, "o", " (deflated 87%)\r\n adding: node_modules/querystring/Readme.md"]
+[7.769394, "o", " (deflated 50%)\r\n adding: node_modules/querystring/decode.js"]
+[7.769651, "o", " (deflated 48%)\r\n adding: node_modules/querystring/.History.md.un~"]
+[7.770552, "o", " (deflated 92%)\r\n adding: node_modules/querystring/package.json"]
+[7.770729, "o", " (deflated 61%)\r\n adding: node_modules/querystring/.package.json.un~"]
+[7.77134, "o", " (deflated 85%)\r\n adding: node_modules/querystring/.travis.yml"]
+[7.771421, "o", " (deflated 21%)\r\n adding: node_modules/jmespath/"]
+[7.771505, "o", " (stored 0%)\r\n adding: node_modules/jmespath/.npmignore"]
+[7.77164, "o", " (stored 0%)\r\n adding: node_modules/jmespath/Gruntfile.js"]
+[7.771791, "o", " (deflated 51%)\r\n adding: node_modules/jmespath/artifacts/ (stored 0%)\r\n"]
+[7.771947, "o", " adding: node_modules/jmespath/artifacts/jmespath.min.js"]
+[7.772563, "o", " (deflated 69%)\r\n adding: node_modules/jmespath/g.sh"]
+[7.77267, "o", " (deflated 58%)\r\n adding: node_modules/jmespath/index.html"]
+[7.772941, "o", " (deflated 58%)\r\n adding: node_modules/jmespath/LICENSE"]
+[7.77303, "o", " (deflated 36%)\r\n adding: node_modules/jmespath/test/"]
+[7.773184, "o", " (stored 0%)\r\n adding: node_modules/jmespath/test/jmespath.js"]
+[7.773384, "o", " (deflated 85%)\r\n adding: node_modules/jmespath/test/compliance.js"]
+[7.773525, "o", " (deflated 69%)\r\n adding: node_modules/jmespath/test/compliance/"]
+[7.773605, "o", " (stored 0%)\r\n adding: node_modules/jmespath/test/compliance/boolean.json"]
+[7.773705, "o", " (deflated 89%)\r\n adding: node_modules/jmespath/test/compliance/escape.json"]
+[7.773799, "o", " (deflated 77%)\r\n adding: node_modules/jmespath/test/compliance/wildcard.json"]
+[7.774155, "o", " (deflated 89%)\r\n adding: node_modules/jmespath/test/compliance/literal.json"]
+[7.774399, "o", " (deflated 84%)\r\n adding: node_modules/jmespath/test/compliance/slice.json"]
+[7.774571, "o", " (deflated 88%)\r\n adding: node_modules/jmespath/test/compliance/pipe.json"]
+[7.774768, "o", " (deflated 85%)\r\n adding: node_modules/jmespath/test/compliance/unicode.json"]
+[7.774846, "o", " (deflated 78%)\r\n adding: node_modules/jmespath/test/compliance/indices.json"]
+[7.775204, "o", " (deflated 88%)\r\n adding: node_modules/jmespath/test/compliance/multiselect.json"]
+[7.775619, "o", " (deflated 87%)\r\n adding: node_modules/jmespath/test/compliance/current.json"]
+[7.775685, "o", " (deflated 74%)\r\n adding: node_modules/jmespath/test/compliance/filters.json"]
+[7.776041, "o", " (deflated 89%)\r\n adding: node_modules/jmespath/test/compliance/functions.json"]
+[7.776601, "o", " (deflated 88%)\r\n adding: node_modules/jmespath/test/compliance/syntax.json"]
+[7.77692, "o", " (deflated 90%)\r\n adding: node_modules/jmespath/test/compliance/identifiers.json"]
+[7.777414, "o", " (deflated 95%)\r\n adding: node_modules/jmespath/test/compliance/basic.json"]
+[7.777529, "o", " (deflated 87%)\r\n adding: node_modules/jmespath/jmespath.js"]
+[7.782736, "o", " (deflated 82%)\r\n adding: node_modules/jmespath/perf.js"]
+[7.78291, "o", " (deflated 56%)\r\n adding: node_modules/jmespath/.eslintrc"]
+[7.78302, "o", " (deflated 34%)\r\n adding: node_modules/jmespath/BASELINE"]
+[7.783122, "o", " (deflated 68%)\r\n adding: node_modules/jmespath/bower.json"]
+[7.783207, "o", " (deflated 45%)\r\n adding: node_modules/jmespath/reservedWords.json"]
+[7.783302, "o", " (deflated 27%)\r\n adding: node_modules/jmespath/README.md"]
+[7.783471, "o", " (deflated 56%)\r\n adding: node_modules/jmespath/package.json"]
+[7.7836, "o", " (deflated 59%)\r\n adding: node_modules/jmespath/james.html"]
+[7.783701, "o", " (deflated 27%)\r\n adding: node_modules/jmespath/l.js"]
+[7.783932, "o", " (deflated 69%)\r\n adding: node_modules/jmespath/.travis.yml"]
+[7.784052, "o", " (deflated 34%)\r\n adding: node_modules/jmespath/jp.js"]
+[7.784164, "o", " (deflated 46%)\r\n adding: node_modules/is-regex/"]
+[7.784287, "o", " (stored 0%)\r\n adding: node_modules/is-regex/.npmignore"]
+[7.784405, "o", " (deflated 21%)\r\n adding: node_modules/is-regex/test.js"]
+[7.784501, "o", " (deflated 71%)\r\n adding: node_modules/is-regex/LICENSE"]
+[7.784597, "o", " (deflated 41%)\r\n adding: node_modules/is-regex/CHANGELOG.md"]
+[7.784698, "o", " (deflated 49%)\r\n adding: node_modules/is-regex/Makefile"]
+[7.784915, "o", " (deflated 54%)\r\n adding: node_modules/is-regex/.eslintrc"]
+[7.785016, "o", " (deflated 9%)\r\n adding: node_modules/is-regex/index.js"]
+[7.78514, "o", " (deflated 57%)\r\n adding: node_modules/is-regex/README.md"]
+[7.7853, "o", " (deflated 60%)\r\n adding: node_modules/is-regex/package.json"]
+[7.785449, "o", " (deflated 57%)\r\n adding: node_modules/is-regex/.jscs.json"]
+[7.785703, "o", " (deflated 70%)\r\n adding: node_modules/is-regex/.travis.yml"]
+[7.785881, "o", " (deflated 87%)\r\n adding: node_modules/has/"]
+[7.78598, "o", " (stored 0%)\r\n adding: node_modules/has/test/ (stored 0%)\r\n adding: node_modules/has/test/index.js"]
+[7.786082, "o", " (deflated 47%)\r\n adding: node_modules/has/README.md"]
+[7.786234, "o", " (deflated 35%)\r\n adding: node_modules/has/package.json"]
+[7.786419, "o", " (deflated 55%)\r\n adding: node_modules/has/LICENSE-MIT"]
+[7.786576, "o", " (deflated 41%)\r\n adding: node_modules/has/src/"]
+[7.786775, "o", " (stored 0%)\r\n adding: node_modules/has/src/index.js (deflated 14%)\r\n adding: node_modules/object-keys/ (stored 0%)\r\n adding: node_modules/object-keys/LICENSE"]
+[7.786854, "o", " (deflated 41%)\r\n adding: node_modules/object-keys/test/"]
+[7.786928, "o", " (stored 0%)\r\n adding: node_modules/object-keys/test/index.js"]
+[7.787114, "o", " (deflated 20%)\r\n adding: node_modules/object-keys/CHANGELOG.md"]
+[7.787441, "o", " (deflated 64%)\r\n adding: node_modules/object-keys/.eslintrc"]
+[7.787546, "o", " (deflated 46%)\r\n adding: node_modules/object-keys/index.js"]
+[7.787653, "o", " (deflated 55%)\r\n adding: node_modules/object-keys/.editorconfig"]
+[7.787747, "o", " (deflated 42%)\r\n adding: node_modules/object-keys/README.md"]
+[7.787867, "o", " (deflated 66%)\r\n adding: node_modules/object-keys/package.json"]
+[7.787977, "o", " (deflated 60%)\r\n adding: node_modules/object-keys/isArguments.js"]
+[7.788168, "o", " (deflated 47%)\r\n adding: node_modules/object-keys/.travis.yml"]
+[7.788309, "o", " (deflated 90%)\r\n adding: node_modules/object-keys/implementation.js"]
+[7.788586, "o", " (deflated 66%)\r\n adding: node_modules/events/"]
+[7.788664, "o", " (stored 0%)\r\n adding: node_modules/events/.npmignore"]
+[7.78873, "o", " (stored 0%)\r\n adding: node_modules/events/events.js"]
+[7.789143, "o", " (deflated 68%)\r\n adding: node_modules/events/LICENSE"]
+[7.789261, "o", " (deflated 42%)\r\n adding: node_modules/events/History.md"]
+[7.790881, "o", " (deflated 45%)\r\n adding: node_modules/events/tests/"]
+[7.791021, "o", " (stored 0%)\r\n adding: node_modules/events/tests/add-listeners.js"]
+[7.79112, "o", " (deflated 52%)\r\n adding: node_modules/events/tests/listeners-side-effects.js"]
+[7.791218, "o", " (deflated 54%)\r\n adding: node_modules/events/tests/check-listener-leaks.js"]
+[7.791286, "o", " (deflated 65%)\r\n adding: node_modules/events/tests/remove-listeners.js"]
+[7.791524, "o", " (deflated 61%)\r\n adding: node_modules/events/tests/listener-count.js"]
+[7.791673, "o", " (deflated 51%)\r\n adding: node_modules/events/tests/index.js"]
+[7.791756, "o", " (deflated 60%)\r\n adding: node_modules/events/tests/listeners.js"]
+[7.791857, "o", " (deflated 58%)\r\n adding: node_modules/events/tests/max-listeners.js"]
+[7.791966, "o", " (deflated 48%)\r\n adding: node_modules/events/tests/modify-in-emit.js"]
+[7.792095, "o", " (deflated 62%)\r\n adding: node_modules/events/tests/subclass.js"]
+[7.792191, "o", " (deflated 46%)\r\n adding: node_modules/events/tests/remove-all-listeners.js"]
+[7.792312, "o", " (deflated 59%)\r\n adding: node_modules/events/tests/legacy-compat.js"]
+[7.792443, "o", " (deflated 42%)\r\n adding: node_modules/events/tests/num-args.js"]
+[7.792617, "o", " (deflated 49%)\r\n adding: node_modules/events/tests/common.js"]
+[7.792735, "o", " (deflated 54%)\r\n adding: node_modules/events/tests/once.js"]
+[7.792926, "o", " (deflated 51%)\r\n adding: node_modules/events/tests/set-max-listeners-side-effects.js"]
+[7.793067, "o", " (deflated 43%)\r\n adding: node_modules/events/Readme.md"]
+[7.793199, "o", " (deflated 42%)\r\n adding: node_modules/events/package.json"]
+[7.793299, "o", " (deflated 51%)\r\n adding: node_modules/events/.travis.yml"]
+[7.793408, "o", " (deflated 16%)\r\n adding: node_modules/events/.zuul.yml"]
+[7.793503, "o", " (deflated 58%)\r\n adding: node_modules/is-callable/ (stored 0%)\r\n adding: node_modules/is-callable/test.js"]
+[7.793694, "o", " (deflated 73%)\r\n adding: node_modules/is-callable/LICENSE"]
+[7.793802, "o", " (deflated 41%)\r\n adding: node_modules/is-callable/CHANGELOG.md"]
+[7.793935, "o", " (deflated 57%)\r\n adding: node_modules/is-callable/Makefile"]
+[7.794127, "o", " (deflated 54%)\r\n adding: node_modules/is-callable/.eslintrc"]
+[7.79422, "o", " (deflated 26%)\r\n adding: node_modules/is-callable/index.js"]
+[7.794328, "o", " (deflated 65%)\r\n adding: node_modules/is-callable/.editorconfig"]
+[7.79444, "o", " (deflated 40%)\r\n adding: node_modules/is-callable/README.md"]
+[7.794544, "o", " (deflated 64%)\r\n adding: node_modules/is-callable/package.json"]
+[7.794703, "o", " (deflated 64%)\r\n adding: node_modules/is-callable/.jscs.json"]
+[7.794901, "o", " (deflated 70%)\r\n adding: node_modules/is-callable/.istanbul.yml"]
+[7.794997, "o", " (deflated 62%)\r\n adding: node_modules/is-callable/.travis.yml"]
+[7.795178, "o", " (deflated 89%)\r\n adding: node_modules/follow-redirects/"]
+[7.795274, "o", " (stored 0%)\r\n adding: node_modules/follow-redirects/LICENSE"]
+[7.795325, "o", " (deflated 40%)\r\n adding: node_modules/follow-redirects/node_modules/"]
+[7.795472, "o", " (stored 0%)\r\n adding: node_modules/follow-redirects/node_modules/ms/ (stored 0%)\r\n adding: node_modules/follow-redirects/node_modules/ms/license.md (deflated 41%)\r\n"]
+[7.795562, "o", " adding: node_modules/follow-redirects/node_modules/ms/index.js"]
+[7.79566, "o", " (deflated 66%)\r\n adding: node_modules/follow-redirects/node_modules/ms/readme.md"]
+[7.795775, "o", " (deflated 53%)\r\n adding: node_modules/follow-redirects/node_modules/ms/package.json"]
+[7.795873, "o", " (deflated 51%)\r\n adding: node_modules/follow-redirects/node_modules/debug/"]
+[7.795969, "o", " (stored 0%)\r\n adding: node_modules/follow-redirects/node_modules/debug/.npmignore (deflated 11%)\r\n adding: node_modules/follow-redirects/node_modules/debug/LICENSE"]
+[7.796094, "o", " (deflated 41%)\r\n adding: node_modules/follow-redirects/node_modules/debug/CHANGELOG.md"]
+[7.796687, "o", " (deflated 63%)\r\n adding: node_modules/follow-redirects/node_modules/debug/Makefile"]
+[7.796838, "o", " (deflated 50%)\r\n adding: node_modules/follow-redirects/node_modules/debug/.eslintrc"]
+[7.796939, "o", " (deflated 38%)\r\n adding: node_modules/follow-redirects/node_modules/debug/README.md"]
+[7.797565, "o", " (deflated 73%)\r\n adding: node_modules/follow-redirects/node_modules/debug/node.js"]
+[7.797653, "o", " (stored 0%)\r\n adding: node_modules/follow-redirects/node_modules/debug/package.json"]
+[7.797746, "o", " (deflated 51%)\r\n adding: node_modules/follow-redirects/node_modules/debug/karma.conf.js"]
+[7.797907, "o", " (deflated 56%)\r\n adding: node_modules/follow-redirects/node_modules/debug/.coveralls.yml"]
+[7.798041, "o", " (stored 0%)\r\n adding: node_modules/follow-redirects/node_modules/debug/.travis.yml"]
+[7.798142, "o", " (deflated 31%)\r\n adding: node_modules/follow-redirects/node_modules/debug/src/ (stored 0%)\r\n adding: node_modules/follow-redirects/node_modules/debug/src/index.js"]
+[7.798241, "o", " (deflated 38%)\r\n adding: node_modules/follow-redirects/node_modules/debug/src/node.js"]
+[7.798457, "o", " (deflated 58%)\r\n adding: node_modules/follow-redirects/node_modules/debug/src/browser.js"]
+[7.798753, "o", " (deflated 61%)\r\n adding: node_modules/follow-redirects/node_modules/debug/src/debug.js"]
+[7.798925, "o", " (deflated 63%)\r\n adding: node_modules/follow-redirects/https.js"]
+[7.799025, "o", " (stored 0%)\r\n adding: node_modules/follow-redirects/index.js"]
+[7.799576, "o", " (deflated 68%)\r\n adding: node_modules/follow-redirects/README.md"]
+[7.799891, "o", " (deflated 65%)\r\n adding: node_modules/follow-redirects/package.json"]
+[7.800002, "o", " (deflated 56%)\r\n adding: node_modules/follow-redirects/http.js"]
+[7.800102, "o", " (stored 0%)\r\n adding: node_modules/isarray/ (stored 0%)\r\n adding: node_modules/isarray/.npmignore"]
+[7.800211, "o", " (stored 0%)\r\n adding: node_modules/isarray/test.js"]
+[7.800312, "o", " (deflated 48%)\r\n adding: node_modules/isarray/Makefile (deflated 7%)\r\n adding: node_modules/isarray/index.js"]
+[7.800403, "o", " (deflated 18%)\r\n adding: node_modules/isarray/README.md"]
+[7.800542, "o", " (deflated 47%)\r\n adding: node_modules/isarray/component.json"]
+[7.800642, "o", " (deflated 47%)\r\n adding: node_modules/isarray/package.json"]
+[7.800758, "o", " (deflated 58%)\r\n adding: node_modules/isarray/.travis.yml (deflated 21%)\r\n adding: node_modules/is-buffer/"]
+[7.800908, "o", " (stored 0%)\r\n adding: node_modules/is-buffer/LICENSE"]
+[7.80099, "o", " (deflated 41%)\r\n adding: node_modules/is-buffer/index.js"]
+[7.801115, "o", " (deflated 36%)\r\n adding: node_modules/is-buffer/README.md"]
+[7.80121, "o", " (deflated 61%)\r\n adding: node_modules/is-buffer/package.json"]
+[7.801353, "o", " (deflated 60%)\r\n adding: node_modules/is-buffer/index.d.ts"]
+[7.801447, "o", " (deflated 8%)\r\n adding: node_modules/uuid/ (stored 0%)\r\n adding: node_modules/uuid/LICENSE.md"]
+[7.80155, "o", " (deflated 41%)\r\n adding: node_modules/uuid/bin/ (stored 0%)\r\n adding: node_modules/uuid/bin/uuid"]
+[7.801679, "o", " (deflated 69%)\r\n adding: node_modules/uuid/CHANGELOG.md"]
+[7.801842, "o", " (deflated 68%)\r\n adding: node_modules/uuid/AUTHORS"]
+[7.801938, "o", " (deflated 24%)\r\n adding: node_modules/uuid/v4.js"]
+[7.802039, "o", " (deflated 45%)\r\n adding: node_modules/uuid/v1.js"]
+[7.804963, "o", " (deflated 57%)\r\n adding: node_modules/uuid/index.js"]
+[7.805126, "o", " (deflated 33%)\r\n adding: node_modules/uuid/v5.js"]
+[7.806412, "o", " (deflated 24%)\r\n adding: node_modules/uuid/README.md"]
+[7.80905, "o", " (deflated 66%)\r\n adding: node_modules/uuid/package.json"]
+[7.809183, "o", " (deflated 55%)\r\n adding: node_modules/uuid/v3.js"]
+[7.809338, "o", " (deflated 23%)\r\n adding: node_modules/uuid/lib/ (stored 0%)\r\n adding: node_modules/uuid/lib/sha1.js"]
+[7.809602, "o", " (deflated 57%)\r\n adding: node_modules/uuid/lib/bytesToUuid.js"]
+[7.809767, "o", " (deflated 54%)\r\n adding: node_modules/uuid/lib/rng.js"]
+[7.80999, "o", " (deflated 25%)\r\n adding: node_modules/uuid/lib/sha1-browser.js"]
+[7.810236, "o", " (deflated 61%)\r\n adding: node_modules/uuid/lib/md5-browser.js"]
+[7.810632, "o", " (deflated 66%)\r\n adding: node_modules/uuid/lib/v35.js"]
+[7.810697, "o", " (deflated 53%)\r\n adding: node_modules/uuid/lib/md5.js"]
+[7.810899, "o", " (deflated 57%)\r\n adding: node_modules/uuid/lib/rng-browser.js"]
+[7.811092, "o", " (deflated 51%)\r\n adding: node_modules/axios/ (stored 0%)\r\n adding: node_modules/axios/LICENSE"]
+[7.811279, "o", " (deflated 41%)\r\n adding: node_modules/axios/CHANGELOG.md"]
+[7.812742, "o", " (deflated 70%)\r\n adding: node_modules/axios/dist/"]
+[7.812988, "o", " (stored 0%)\r\n adding: node_modules/axios/dist/axios.js"]
+[7.815281, "o", " (deflated 75%)\r\n adding: node_modules/axios/dist/axios.min.map"]
+[7.82272, "o", " (deflated 75%)\r\n adding: node_modules/axios/dist/axios.map"]
+[7.825693, "o", " (deflated 78%)\r\n adding: node_modules/axios/dist/axios.min.js"]
+[7.826098, "o", " (deflated 66%)\r\n adding: node_modules/axios/index.js"]
+[7.826124, "o", " (stored 0%)\r\n adding: node_modules/axios/README.md"]
+[7.826798, "o", " (deflated 67%)\r\n adding: node_modules/axios/package.json"]
+[7.826896, "o", " (deflated 61%)\r\n adding: node_modules/axios/lib/ (stored 0%)\r\n adding: node_modules/axios/lib/cancel/"]
+[7.827091, "o", " (stored 0%)\r\n adding: node_modules/axios/lib/cancel/CancelToken.js (deflated 59%)\r\n adding: node_modules/axios/lib/cancel/Cancel.js"]
+[7.827252, "o", " (deflated 41%)\r\n adding: node_modules/axios/lib/cancel/isCancel.js"]
+[7.827336, "o", " (deflated 6%)\r\n adding: node_modules/axios/lib/axios.js"]
+[7.827478, "o", " (deflated 64%)\r\n adding: node_modules/axios/lib/core/ (stored 0%)\r\n adding: node_modules/axios/lib/core/settle.js"]
+[7.827601, "o", " (deflated 56%)\r\n adding: node_modules/axios/lib/core/Axios.js"]
+[7.827768, "o", " (deflated 64%)\r\n adding: node_modules/axios/lib/core/enhanceError.js"]
+[7.828016, "o", " (deflated 58%)\r\n adding: node_modules/axios/lib/core/InterceptorManager.js"]
+[7.828148, "o", " (deflated 58%)\r\n adding: node_modules/axios/lib/core/README.md"]
+[7.82831, "o", " (deflated 38%)\r\n adding: node_modules/axios/lib/core/createError.js"]
+[7.828477, "o", " (deflated 53%)\r\n adding: node_modules/axios/lib/core/dispatchRequest.js"]
+[7.828569, "o", " (deflated 67%)\r\n adding: node_modules/axios/lib/core/transformData.js"]
+[7.828667, "o", " (deflated 47%)\r\n adding: node_modules/axios/lib/core/mergeConfig.js"]
+[7.828802, "o", " (deflated 63%)\r\n adding: node_modules/axios/lib/adapters/"]
+[7.828914, "o", " (stored 0%)\r\n adding: node_modules/axios/lib/adapters/README.md (deflated 53%)\r\n adding: node_modules/axios/lib/adapters/xhr.js"]
+[7.829108, "o", " (deflated 67%)\r\n adding: node_modules/axios/lib/adapters/http.js"]
+[7.829714, "o", " (deflated 70%)\r\n adding: node_modules/axios/lib/utils.js"]
+[7.830106, "o", " (deflated 75%)\r\n adding: node_modules/axios/lib/defaults.js"]
+[7.830339, "o", " (deflated 61%)\r\n adding: node_modules/axios/lib/helpers/ (stored 0%)\r\n adding: node_modules/axios/lib/helpers/combineURLs.js"]
+[7.830426, "o", " (deflated 45%)\r\n adding: node_modules/axios/lib/helpers/deprecatedMethod.js"]
+[7.830526, "o", " (deflated 44%)\r\n adding: node_modules/axios/lib/helpers/buildURL.js"]
+[7.830622, "o", " (deflated 57%)\r\n adding: node_modules/axios/lib/helpers/isURLSameOrigin.js"]
+[7.830731, "o", " (deflated 63%)\r\n adding: node_modules/axios/lib/helpers/isAbsoluteURL.js"]
+[7.830824, "o", " (deflated 36%)\r\n adding: node_modules/axios/lib/helpers/cookies.js"]
+[7.830961, "o", " (deflated 62%)\r\n adding: node_modules/axios/lib/helpers/README.md"]
+[7.831048, "o", " (deflated 37%)\r\n adding: node_modules/axios/lib/helpers/bind.js (deflated 35%)\r\n"]
+[7.831182, "o", " adding: node_modules/axios/lib/helpers/spread.js (deflated 46%)\r\n adding: node_modules/axios/lib/helpers/normalizeHeaderName.js"]
+[7.831288, "o", " (deflated 45%)\r\n adding: node_modules/axios/lib/helpers/parseHeaders.js"]
+[7.831389, "o", " (deflated 50%)\r\n adding: node_modules/axios/UPGRADE_GUIDE.md"]
+[7.831581, "o", " (deflated 60%)\r\n adding: node_modules/axios/index.d.ts"]
+[7.831796, "o", " (deflated 72%)\r\n adding: node_modules/object-inspect/"]
+[7.831901, "o", " (stored 0%)\r\n adding: node_modules/object-inspect/LICENSE (deflated 41%)\r\n adding: node_modules/object-inspect/test/"]
+[7.832042, "o", " (stored 0%)\r\n adding: node_modules/object-inspect/test/number.js (deflated 58%)\r\n adding: node_modules/object-inspect/test/element.js"]
+[7.832179, "o", " (deflated 73%)\r\n adding: node_modules/object-inspect/test/bigint.js"]
+[7.832295, "o", " (deflated 69%)\r\n adding: node_modules/object-inspect/test/holes.js"]
+[7.83239, "o", " (deflated 36%)\r\n adding: node_modules/object-inspect/test/values.js"]
+[7.832574, "o", " (deflated 77%)\r\n adding: node_modules/object-inspect/test/browser/"]
+[7.832709, "o", " (stored 0%)\r\n adding: node_modules/object-inspect/test/browser/dom.js (deflated 36%)\r\n adding: node_modules/object-inspect/test/has.js"]
+[7.8328, "o", " (deflated 60%)\r\n adding: node_modules/object-inspect/test/deep.js"]
+[7.832878, "o", " (deflated 41%)\r\n adding: node_modules/object-inspect/test/err.js"]
+[7.83295, "o", " (deflated 56%)\r\n adding: node_modules/object-inspect/test/undef.js"]
+[7.833039, "o", " (deflated 46%)\r\n adding: node_modules/object-inspect/test/fn.js"]
+[7.833095, "o", " (deflated 67%)\r\n adding: node_modules/object-inspect/test/circular.js"]
+[7.833215, "o", " (deflated 34%)\r\n adding: node_modules/object-inspect/test/inspect.js"]
+[7.833323, "o", " (deflated 57%)\r\n adding: node_modules/object-inspect/test/quoteStyle.js"]
+[7.833425, "o", " (deflated 77%)\r\n adding: node_modules/object-inspect/test/lowbyte.js (deflated 37%)\r\n adding: node_modules/object-inspect/example/ (stored 0%)\r\n adding: node_modules/object-inspect/example/all.js"]
+[7.833511, "o", " (deflated 41%)\r\n adding: node_modules/object-inspect/example/fn.js"]
+[7.833602, "o", " (deflated 13%)\r\n adding: node_modules/object-inspect/example/circular.js (deflated 13%)\r\n adding: node_modules/object-inspect/example/inspect.js"]
+[7.833693, "o", " (deflated 21%)\r\n adding: node_modules/object-inspect/.eslintrc"]
+[7.833902, "o", " (deflated 68%)\r\n adding: node_modules/object-inspect/index.js"]
+[7.834392, "o", " (deflated 75%)\r\n adding: node_modules/object-inspect/readme.markdown"]
+[7.834528, "o", " (deflated 51%)\r\n adding: node_modules/object-inspect/util.inspect.js"]
+[7.834641, "o", " (stored 0%)\r\n adding: node_modules/object-inspect/package.json"]
+[7.834749, "o", " (deflated 60%)\r\n adding: node_modules/object-inspect/.eslintignore"]
+[7.834844, "o", " (stored 0%)\r\n adding: node_modules/object-inspect/test-core-js.js"]
+[7.834993, "o", " (deflated 48%)\r\n adding: node_modules/object-inspect/.nycrc"]
+[7.835085, "o", " (deflated 41%)\r\n adding: node_modules/object-inspect/.travis.yml (deflated 47%)\r\n adding: node_modules/buffer/ (stored 0%)\r\n adding: node_modules/buffer/AUTHORS.md"]
+[7.835221, "o", " (deflated 49%)\r\n adding: node_modules/buffer/LICENSE"]
+[7.835339, "o", " (deflated 41%)\r\n adding: node_modules/buffer/test/"]
+[7.835493, "o", " (stored 0%)\r\n adding: node_modules/buffer/test/methods.js"]
+[7.835587, "o", " (deflated 66%)\r\n adding: node_modules/buffer/test/constructor.js"]
+[7.835731, "o", " (deflated 82%)\r\n adding: node_modules/buffer/test/write.js"]
+[7.835863, "o", " (deflated 67%)\r\n adding: node_modules/buffer/test/slice.js"]
+[7.835997, "o", " (deflated 62%)\r\n adding: node_modules/buffer/test/base64.js"]
+[7.836109, "o", " (deflated 64%)\r\n adding: node_modules/buffer/test/compare.js"]
+[7.836248, "o", " (deflated 69%)\r\n adding: node_modules/buffer/test/_polyfill.js"]
+[7.836389, "o", " (deflated 74%)\r\n adding: node_modules/buffer/test/to-string.js"]
+[7.836701, "o", " (deflated 76%)\r\n adding: node_modules/buffer/test/basic.js"]
+[7.836853, "o", " (deflated 65%)\r\n adding: node_modules/buffer/test/node/"]
+[7.836985, "o", " (stored 0%)\r\n adding: node_modules/buffer/test/node/test-buffer-badhex.js (deflated 75%)\r\n"]
+[7.837096, "o", " adding: node_modules/buffer/test/node/test-buffer-fill.js"]
+[7.837326, "o", " (deflated 78%)\r\n adding: node_modules/buffer/test/node/test-buffer-concat.js"]
+[7.837531, "o", " (deflated 57%)\r\n adding: node_modules/buffer/test/node/test-buffer-bytelength.js"]
+[7.837687, "o", " (deflated 71%)\r\n adding: node_modules/buffer/test/node/test-buffer-includes.js"]
+[7.838016, "o", " (deflated 80%)\r\n adding: node_modules/buffer/test/node/test-buffer.js"]
+[7.841691, "o", " (deflated 79%)\r\n adding: node_modules/buffer/test/node/test-buffer-ascii.js"]
+[7.841862, "o", " (deflated 49%)\r\n adding: node_modules/buffer/test/node/test-buffer-arraybuffer.js"]
+[7.842004, "o", " (deflated 69%)\r\n adding: node_modules/buffer/test/node/test-buffer-zero-fill-reset.js"]
+[7.842149, "o", " (deflated 42%)\r\n adding: node_modules/buffer/test/node/test-buffer-swap.js"]
+[7.842416, "o", " (deflated 78%)\r\n adding: node_modules/buffer/test/node/test-buffer-zero-fill-cli.js"]
+[7.842534, "o", " (deflated 48%)\r\n adding: node_modules/buffer/test/node/test-buffer-bad-overload.js"]
+[7.842615, "o", " (deflated 47%)\r\n adding: node_modules/buffer/test/node/test-buffer-compare-offset.js"]
+[7.842773, "o", " (deflated 74%)\r\n adding: node_modules/buffer/test/node/test-buffer-iterator.js"]
+[7.84286, "o", " (deflated 70%)\r\n adding: node_modules/buffer/test/node/test-buffer-indexof.js"]
+[7.843734, "o", " (deflated 81%)\r\n adding: node_modules/buffer/test/node/test-buffer-slow.js"]
+[7.843867, "o", " (deflated 69%)\r\n adding: node_modules/buffer/test/node/test-buffer-safe-unsafe.js"]
+[7.843957, "o", " (deflated 52%)\r\n adding: node_modules/buffer/test/node/test-buffer-inspect.js"]
+[7.84406, "o", " (deflated 65%)\r\n adding: node_modules/buffer/test/node/test-buffer-alloc.js"]
+[7.847521, "o", " (deflated 80%)\r\n adding: node_modules/buffer/test/node/test-buffer-inheritance.js"]
+[7.847683, "o", " (deflated 57%)\r\n adding: node_modules/buffer/test/from-string.js"]
+[7.84781, "o", " (deflated 81%)\r\n adding: node_modules/buffer/test/static.js"]
+[7.847926, "o", " (deflated 53%)\r\n adding: node_modules/buffer/test/write_infinity.js"]
+[7.848048, "o", " (deflated 74%)\r\n adding: node_modules/buffer/test/is-buffer.js"]
+[7.848142, "o", " (deflated 58%)\r\n adding: node_modules/buffer/bin/"]
+[7.848226, "o", " (stored 0%)\r\n adding: node_modules/buffer/bin/update-authors.sh (deflated 39%)\r\n adding: node_modules/buffer/bin/download-node-tests.js"]
+[7.848415, "o", " (deflated 59%)\r\n adding: node_modules/buffer/bin/test.js"]
+[7.848545, "o", " (deflated 63%)\r\n adding: node_modules/buffer/bin/zuul-es5.yml"]
+[7.848646, "o", " (deflated 51%)\r\n adding: node_modules/buffer/bin/zuul-es6.yml (deflated 32%)\r\n adding: node_modules/buffer/index.js"]
+[7.852754, "o", " (deflated 78%)\r\n adding: node_modules/buffer/README.md"]
+[7.853939, "o", " (deflated 71%)\r\n adding: node_modules/buffer/package.json"]
+[7.85405, "o", " (deflated 63%)\r\n adding: node_modules/buffer/.travis.yml"]
+[7.854158, "o", " (deflated 17%)\r\n"]
+[7.859873, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[7.86002, "o", "\u001b]2;niek@Nieks-MacBook-Pro: ~/projects/swat/aws-ecr-scanning-slack-notifications\u0007\u001b]1;..notifications\u0007"]
+[7.89475, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36maws-ecr-scanning-slack-notifications\u001b[00m \u001b[01;34mgit:(\u001b[31mdevelop\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[7.894895, "o", "\u001b[?1h\u001b="]
+[7.895019, "o", "\u001b[?2004h"]
+[9.228724, "o", "c"]
+[9.481203, "o", "\bcd"]
+[9.626768, "o", " "]
+[9.7881, "o", "t"]
+[9.930161, "o", "e"]
+[10.041449, "o", "r"]
+[10.234958, "o", "raform\u001b[1m/\u001b[0m"]
+[10.719859, "o", "\b\u001b[0m \b"]
+[10.719997, "o", "\u001b[?1l\u001b>\u001b[?2004l\r\r\n"]
+[10.720698, "o", "\u001b]2;cd terraform\u0007\u001b]1;cd\u0007"]
+[10.720797, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[10.720906, "o", "\u001b]2;niek@Nieks-MacBook-Pro: ~/projects/swat/aws-ecr-scanning-slack-notifications/terraform\u0007\u001b]1;..ons/terraform\u0007"]
+[10.764008, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mterraform\u001b[00m \u001b[01;34mgit:(\u001b[31mdevelop\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[10.764124, "o", "\u001b[?1h\u001b="]
+[10.764151, "o", "\u001b[?2004h"]
+[11.186386, "o", "t"]
+[11.309134, "o", "\bte"]
+[11.441939, "o", "r"]
+[11.562958, "o", "r"]
+[11.731922, "o", "aform"]
+[12.044198, "o", " "]
+[12.245728, "o", "a"]
+[12.385269, "o", "p"]
+[12.579027, "o", "p"]
+[12.797598, "o", "l"]
+[13.049503, "o", "y"]
+[13.263735, "o", "\u001b[?1l\u001b>"]
+[13.263924, "o", "\u001b[?2004l\r\r\n"]
+[13.264623, "o", "\u001b]2;terraform apply\u0007\u001b]1;terraform\u0007"]
+[19.025162, "o", "\u001b[0m\u001b[1mmodule.infra.data.aws_caller_identity.current: Refreshing state...\u001b[0m\r\n"]
+[19.025366, "o", "\u001b[0m\u001b[1mmodule.infra.data.aws_iam_policy_document.lambda_assume_role_policy: Refreshing state...\u001b[0m\r\n"]
+[21.332431, "o", "\r\n"]
+[21.332571, "o", "An execution plan has been generated and is shown below.\r\nResource actions are indicated with the following symbols:\r\n \u001b[32m+\u001b[0m create\r\n"]
+[21.332667, "o", " \u001b[36m<=\u001b[0m read (data resources)\r\n\u001b[0m\r\n"]
+[21.332777, "o", "Terraform will perform the following actions:\r\n\r\n"]
+[21.333452, "o", "\u001b[1m # module.infra.data.aws_s3_bucket_object.ecr_scanning_analysis_object\u001b[0m will be read during apply\r\n # (config refers to values not yet known)\u001b[0m\u001b[0m\r\n"]
+[21.333568, "o", "\u001b[0m \u001b[36m<=\u001b[0m\u001b[0m data \"aws_s3_bucket_object\" \"ecr_scanning_analysis_object\" {\r\n"]
+[21.333679, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbody\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.333816, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.333954, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcache_control\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334086, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_disposition\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334191, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_encoding\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334308, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_language\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334438, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_length\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334566, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_type\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334687, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0metag\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.33484, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mexpiration\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.334991, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mexpires\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335151, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335272, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mkey\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.335367, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335509, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmetadata\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335619, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_legal_hold_status\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335727, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_mode\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335813, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_retain_until_date\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.335925, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mserver_side_encryption\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.33602, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msse_kms_key_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.336144, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstorage_class\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.336248, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtags\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.33662, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.337076, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mwebsite_redirect_location\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.337211, "o", " }\r\n\r\n"]
+[21.337327, "o", "\u001b[1m # module.infra.data.aws_s3_bucket_object.ecr_scanning_object\u001b[0m will be read during apply\r\n # (config refers to values not yet known)\u001b[0m\u001b[0m\r\n"]
+[21.337442, "o", "\u001b[0m \u001b[36m<=\u001b[0m\u001b[0m data \"aws_s3_bucket_object\" \"ecr_scanning_object\" {\r\n"]
+[21.337548, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbody\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.337692, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.337776, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcache_control\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.337869, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_disposition\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.337962, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_encoding\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338024, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_language\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338131, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_length\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338213, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_type\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338287, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0metag\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338375, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mexpiration\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338466, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mexpires\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338577, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338672, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mkey\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.338755, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338847, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmetadata\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.338957, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_legal_hold_status\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339052, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_mode\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339159, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_retain_until_date\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339263, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mserver_side_encryption\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339366, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msse_kms_key_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.33949, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstorage_class\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339565, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtags\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339657, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339757, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mwebsite_redirect_location\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.339842, "o", " }\r\n\r\n"]
+[21.33993, "o", "\u001b[1m # module.infra.data.aws_s3_bucket_object.ecr_vulnerabilities_notifier_object\u001b[0m will be read during apply\r\n # (config refers to values not yet known)\u001b[0m\u001b[0m\r\n"]
+[21.340038, "o", "\u001b[0m \u001b[36m<=\u001b[0m\u001b[0m data \"aws_s3_bucket_object\" \"ecr_vulnerabilities_notifier_object\" {\r\n"]
+[21.340146, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbody\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340262, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.340379, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcache_control\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340504, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_disposition\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340594, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_encoding\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340681, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_language\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340771, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_length\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340882, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_type\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.340971, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0metag\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341076, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mexpiration\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341164, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mexpires\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341259, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341386, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mkey\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.341498, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341585, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmetadata\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.34167, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_legal_hold_status\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341819, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_mode\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.341955, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mobject_lock_retain_until_date\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342066, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mserver_side_encryption\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342155, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msse_kms_key_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342271, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstorage_class\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342347, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtags\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342446, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342574, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mwebsite_redirect_location\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.342663, "o", "\u001b[1m # module.infra.aws_cloudwatch_event_rule.every_hour\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.342756, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_cloudwatch_event_rule\" \"every_hour\" {\r\n"]
+[21.342862, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.342983, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Trigger the lambda to initiate ECR container scanning.\"\r\n"]
+[21.343089, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.343188, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mis_enabled\u001b[0m\u001b[0m = true\r\n"]
+[21.343289, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-lambda-container-scanning\"\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mschedule_expression\u001b[0m\u001b[0m = \"rate(1 minute)\"\r\n"]
+[21.343373, "o", " }\r\n\r\n"]
+[21.343515, "o", "\u001b[1m # module.infra.aws_cloudwatch_event_target.every_hour_ecr_scanning_analysis_target\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.343622, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_cloudwatch_event_target\" \"every_hour_ecr_scanning_analysis_target\" {\r\n"]
+[21.343704, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.343777, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.343891, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrule\u001b[0m\u001b[0m = \"blog-lambda-container-scanning\"\r\n"]
+[21.344011, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtarget_id\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.344099, "o", "\u001b[1m # module.infra.aws_cloudwatch_event_target.every_hour_ecr_scanning_target\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.344209, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_cloudwatch_event_target\" \"every_hour_ecr_scanning_target\" {\r\n"]
+[21.344297, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.344398, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.34448, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrule\u001b[0m\u001b[0m = \"blog-lambda-container-scanning\"\r\n"]
+[21.344609, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtarget_id\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.344707, "o", "\u001b[1m # module.infra.aws_dynamodb_table.docker_images_vulnerabilities\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.344807, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_dynamodb_table\" \"docker_images_vulnerabilities\" {\r\n"]
+[21.344905, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.344989, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbilling_mode\u001b[0m\u001b[0m = \"PAY_PER_REQUEST\"\r\n"]
+[21.345093, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mhash_key\u001b[0m\u001b[0m = \"sha_digest\"\r\n"]
+[21.345182, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.345278, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-docker-images-vulnerabilities\"\r\n"]
+[21.345358, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrange_key\u001b[0m\u001b[0m = \"tag\"\r\n"]
+[21.345446, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstream_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.345494, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstream_enabled\u001b[0m\u001b[0m = true\r\n"]
+[21.345593, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstream_label\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.34569, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstream_view_type\u001b[0m\u001b[0m = \"NEW_AND_OLD_IMAGES\"\r\n"]
+[21.345804, "o", "\r\n \u001b[32m+\u001b[0m \u001b[0mattribute {\r\n"]
+[21.345854, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"sha_digest\"\r\n"]
+[21.345989, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtype\u001b[0m\u001b[0m = \"S\"\r\n }\r\n \u001b[32m+\u001b[0m \u001b[0mattribute {\r\n"]
+[21.346147, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"tag\"\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtype\u001b[0m\u001b[0m = \"S\"\r\n }\r\n\r\n"]
+[21.346235, "o", " \u001b[32m+\u001b[0m \u001b[0mpoint_in_time_recovery {\r\n"]
+[21.346334, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0menabled\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.346549, "o", " }\r\n"]
+[21.34694, "o", "\r\n \u001b[32m+\u001b[0m \u001b[0mserver_side_encryption {\r\n"]
+[21.347282, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0menabled\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.347459, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mkms_key_arn\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n }\r\n"]
+[21.347589, "o", "\r\n"]
+[21.347696, "o", "\u001b[1m # module.infra.aws_iam_policy.ecr_scanning_analysis_policy\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.347816, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_policy\" \"ecr_scanning_analysis_policy\" {\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.347917, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Policy to scan ECR images\"\r\n"]
+[21.348023, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.348117, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-scanning-analysis-policy\"\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpath\u001b[0m\u001b[0m = \"/\"\r\n"]
+[21.348224, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpolicy\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n"]
+[21.348331, "o", "\r\n\u001b[1m # module.infra.aws_iam_policy.ecr_scanning_policy\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.348424, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_policy\" \"ecr_scanning_policy\" {\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.348566, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Policy to scan ECR images\"\r\n"]
+[21.348705, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.348819, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-scanning-policy\"\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpath\u001b[0m\u001b[0m = \"/\"\r\n"]
+[21.348948, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpolicy\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.349028, "o", " }\r\n\r\n"]
+[21.349134, "o", "\u001b[1m # module.infra.aws_iam_policy.ecr_vulnerabilities_notifier_policy\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.349295, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_policy\" \"ecr_vulnerabilities_notifier_policy\" {\r\n"]
+[21.349414, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.349546, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Policy to scan ECR images\"\r\n"]
+[21.349677, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.349813, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-vulnerabilities-notifier-policy\"\r\n"]
+[21.349915, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpath\u001b[0m\u001b[0m = \"/\"\r\n"]
+[21.350021, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpolicy\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.350111, "o", "\u001b[1m # module.infra.aws_iam_policy_attachment.ecr_scanning\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.3502, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_policy_attachment\" \"ecr_scanning\" {\r\n"]
+[21.350274, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.350356, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-scanning-iam-role\"\r\n"]
+[21.350489, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpolicy_arn\u001b[0m\u001b[0m = (known after apply)\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mroles\u001b[0m\u001b[0m = [\r\n"]
+[21.35064, "o", " \u001b[32m+\u001b[0m \u001b[0m\"blog-ecr-scanning-role\",\r\n ]\r\n }\r\n\r\n"]
+[21.350772, "o", "\u001b[1m # module.infra.aws_iam_policy_attachment.ecr_scanning_analysis\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.350911, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_policy_attachment\" \"ecr_scanning_analysis\" {\r\n"]
+[21.351045, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.351135, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-scanning-analysis\"\r\n"]
+[21.351227, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpolicy_arn\u001b[0m\u001b[0m = (known after apply)\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mroles\u001b[0m\u001b[0m = [\r\n"]
+[21.351319, "o", " \u001b[32m+\u001b[0m \u001b[0m\"blog-ecr-scanning-analysis-role\",\r\n ]\r\n }\r\n\r\n"]
+[21.351447, "o", "\u001b[1m # module.infra.aws_iam_policy_attachment.ecr_vulnerabilities_notifier\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.351622, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_policy_attachment\" \"ecr_vulnerabilities_notifier\" {\r\n"]
+[21.351792, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.351926, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-vulnerabilities-notifier\"\r\n"]
+[21.352011, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpolicy_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.352133, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mroles\u001b[0m\u001b[0m = [\r\n"]
+[21.352216, "o", " \u001b[32m+\u001b[0m \u001b[0m\"blog-ecr-vulnerabilities-notifier-role\",\r\n ]\r\n }\r\n\r\n"]
+[21.352348, "o", "\u001b[1m # module.infra.aws_iam_role.ecr_scanning_analysis_role\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.352498, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_role\" \"ecr_scanning_analysis_role\" {\r\n"]
+[21.352568, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.352839, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0massume_role_policy\u001b[0m\u001b[0m = jsonencode(\r\n {\r\n"]
+[21.352994, "o", " \u001b[32m+\u001b[0m \u001b[0mStatement = [\r\n \u001b[32m+\u001b[0m \u001b[0m{\r\n"]
+[21.353148, "o", " \u001b[32m+\u001b[0m \u001b[0mAction = \"sts:AssumeRole\"\r\n"]
+[21.353286, "o", " \u001b[32m+\u001b[0m \u001b[0mEffect = \"Allow\"\r\n \u001b[32m+\u001b[0m \u001b[0mPrincipal = {\r\n"]
+[21.353414, "o", " \u001b[32m+\u001b[0m \u001b[0mService = \"lambda.amazonaws.com\"\r\n }\r\n"]
+[21.353511, "o", " \u001b[32m+\u001b[0m \u001b[0mSid = \"\"\r\n },\r\n ]\r\n"]
+[21.353598, "o", " \u001b[32m+\u001b[0m \u001b[0mVersion = \"2012-10-17\"\r\n }\r\n )\r\n"]
+[21.353684, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcreate_date\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.353757, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mforce_detach_policies\u001b[0m\u001b[0m = false\r\n"]
+[21.353842, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.353947, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmax_session_duration\u001b[0m\u001b[0m = 3600\r\n"]
+[21.354037, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-scanning-analysis-role\"\r\n"]
+[21.354097, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpath\u001b[0m\u001b[0m = \"/\"\r\n"]
+[21.354237, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0munique_id\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.354372, "o", "\u001b[1m # module.infra.aws_iam_role.ecr_scanning_role\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.354473, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_role\" \"ecr_scanning_role\" {\r\n"]
+[21.35465, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.354743, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0massume_role_policy\u001b[0m\u001b[0m = jsonencode(\r\n"]
+[21.354878, "o", " {\r\n \u001b[32m+\u001b[0m \u001b[0mStatement = [\r\n"]
+[21.354939, "o", " \u001b[32m+\u001b[0m \u001b[0m{\r\n"]
+[21.355058, "o", " \u001b[32m+\u001b[0m \u001b[0mAction = \"sts:AssumeRole\"\r\n \u001b[32m+\u001b[0m \u001b[0mEffect = \"Allow\"\r\n"]
+[21.355195, "o", " \u001b[32m+\u001b[0m \u001b[0mPrincipal = {\r\n"]
+[21.355283, "o", " \u001b[32m+\u001b[0m \u001b[0mService = \"lambda.amazonaws.com\"\r\n"]
+[21.355407, "o", " }\r\n \u001b[32m+\u001b[0m \u001b[0mSid = \"\"\r\n"]
+[21.355497, "o", " },\r\n ]\r\n"]
+[21.355619, "o", " \u001b[32m+\u001b[0m \u001b[0mVersion = \"2012-10-17\"\r\n }\r\n"]
+[21.355758, "o", " )\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcreate_date\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.355888, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mforce_detach_policies\u001b[0m\u001b[0m = false\r\n"]
+[21.355981, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmax_session_duration\u001b[0m\u001b[0m = 3600\r\n"]
+[21.356077, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-scanning-role\"\r\n"]
+[21.35623, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpath\u001b[0m\u001b[0m = \"/\"\r\n"]
+[21.356385, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0munique_id\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.356597, "o", "\u001b[1m # module.infra.aws_iam_role.ecr_vulnerabilities_notifier_role\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.356679, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_iam_role\" \"ecr_vulnerabilities_notifier_role\" {\r\n"]
+[21.356801, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.356912, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0massume_role_policy\u001b[0m\u001b[0m = jsonencode(\r\n {\r\n \u001b[32m+\u001b[0m \u001b[0mStatement = [\r\n"]
+[21.357043, "o", " \u001b[32m+\u001b[0m \u001b[0m{\r\n"]
+[21.3572, "o", " \u001b[32m+\u001b[0m \u001b[0mAction = \"sts:AssumeRole\"\r\n \u001b[32m+\u001b[0m \u001b[0mEffect = \"Allow\"\r\n"]
+[21.357314, "o", " \u001b[32m+\u001b[0m \u001b[0mPrincipal = {\r\n"]
+[21.35745, "o", " \u001b[32m+\u001b[0m \u001b[0mService = \"lambda.amazonaws.com\"\r\n }\r\n"]
+[21.357588, "o", " \u001b[32m+\u001b[0m \u001b[0mSid = \"\"\r\n },\r\n ]\r\n"]
+[21.357672, "o", " \u001b[32m+\u001b[0m \u001b[0mVersion = \"2012-10-17\"\r\n }\r\n )\r\n"]
+[21.357765, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcreate_date\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.357818, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mforce_detach_policies\u001b[0m\u001b[0m = false\r\n"]
+[21.357953, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.358088, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmax_session_duration\u001b[0m\u001b[0m = 3600\r\n"]
+[21.358201, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mname\u001b[0m\u001b[0m = \"blog-ecr-vulnerabilities-notifier-role\"\r\n"]
+[21.358288, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpath\u001b[0m\u001b[0m = \"/\"\r\n"]
+[21.358376, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0munique_id\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.358497, "o", "\u001b[1m # module.infra.aws_lambda_event_source_mapping.dynamo_db_stream_trigger\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.358667, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_lambda_event_source_mapping\" \"dynamo_db_stream_trigger\" {\r\n"]
+[21.358836, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0menabled\u001b[0m\u001b[0m = true\r\n"]
+[21.358975, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mevent_source_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.359125, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.359307, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_name\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.359453, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.359589, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_processing_result\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.359733, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstarting_position\u001b[0m\u001b[0m = \"LATEST\"\r\n"]
+[21.359952, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstate\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.360171, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstate_transition_reason\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.360302, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0muuid\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n\r\n"]
+[21.360443, "o", "\u001b[1m # module.infra.aws_lambda_function.ecr_scanning\u001b[0m will be created\u001b[0m\u001b[0m\r\n\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_lambda_function\" \"ecr_scanning\" {\r\n"]
+[21.360604, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.360809, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Lambda that scans ECR images every hour(1.0.0)\"\r\n"]
+[21.361036, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_name\u001b[0m\u001b[0m = \"blog-ecr-scanning\"\r\n"]
+[21.361168, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mhandler\u001b[0m\u001b[0m = \"index.startImageScan\"\r\n"]
+[21.361339, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.36149, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0minvoke_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.361613, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.361723, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmemory_size\u001b[0m\u001b[0m = 256\r\n"]
+[21.361893, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpublish\u001b[0m\u001b[0m = false\r\n"]
+[21.362036, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mqualified_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.362134, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mreserved_concurrent_executions\u001b[0m\u001b[0m = -1\r\n"]
+[21.362262, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrole\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.362431, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mruntime\u001b[0m\u001b[0m = \"nodejs12.x\"\r\n"]
+[21.362637, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0ms3_bucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.362754, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0ms3_key\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.362911, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_code_hash\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.363048, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_code_size\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.363139, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtimeout\u001b[0m\u001b[0m = 60\r\n"]
+[21.363279, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.3634, "o", "\r\n \u001b[32m+\u001b[0m \u001b[0menvironment {\r\n"]
+[21.363523, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mvariables\u001b[0m\u001b[0m = {\r\n \u001b[32m+\u001b[0m \u001b[0m\"BUCKET\" = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.363706, "o", " \u001b[32m+\u001b[0m \u001b[0m\"KEY\" = \"repositories.json\"\r\n"]
+[21.363831, "o", " \u001b[32m+\u001b[0m \u001b[0m\"REGISTRY_ID\" = \"111111111111\"\r\n }\r\n }\r\n\r\n"]
+[21.363995, "o", " \u001b[32m+\u001b[0m \u001b[0mtracing_config {\r\n"]
+[21.3642, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmode\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n }\r\n\r\n\u001b[1m # module.infra.aws_lambda_function.ecr_scanning_analysis\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.364354, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_lambda_function\" \"ecr_scanning_analysis\" {\r\n"]
+[21.364502, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.364695, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Lambda that analyses ECR images scans and outputs the results do DynamoDB (1.0.0)\"\r\n"]
+[21.364845, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_name\u001b[0m\u001b[0m = \"blog-ecr-scanning-analysis\"\r\n"]
+[21.365018, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mhandler\u001b[0m\u001b[0m = \"index.analyseScanResults\"\r\n"]
+[21.365223, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.365362, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0minvoke_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.365503, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.3657, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmemory_size\u001b[0m\u001b[0m = 256\r\n"]
+[21.365824, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpublish\u001b[0m\u001b[0m = false\r\n"]
+[21.366022, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mqualified_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.366111, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mreserved_concurrent_executions\u001b[0m\u001b[0m = -1\r\n"]
+[21.366322, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrole\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.366406, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mruntime\u001b[0m\u001b[0m = \"nodejs12.x\"\r\n"]
+[21.36654, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0ms3_bucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.366659, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0ms3_key\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.366786, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_code_hash\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.366864, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_code_size\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.366988, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtimeout\u001b[0m\u001b[0m = 60\r\n"]
+[21.367082, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion\u001b[0m\u001b[0m = (known after apply)\r\n\r\n"]
+[21.367255, "o", " \u001b[32m+\u001b[0m \u001b[0menvironment {\r\n"]
+[21.367409, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mvariables\u001b[0m\u001b[0m = {\r\n \u001b[32m+\u001b[0m \u001b[0m\"BUCKET\" = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.367624, "o", " \u001b[32m+\u001b[0m \u001b[0m\"DOCKER_IMAGES_VULNERABILITIES_TABLE\" = \"blog-docker-images-vulnerabilities\"\r\n"]
+[21.3678, "o", " \u001b[32m+\u001b[0m \u001b[0m\"KEY\" = \"repositories.json\"\r\n"]
+[21.367945, "o", " \u001b[32m+\u001b[0m \u001b[0m\"REGISTRY_ID\" = \"111111111111\"\r\n }\r\n"]
+[21.368052, "o", " }\r\n\r\n \u001b[32m+\u001b[0m \u001b[0mtracing_config {\r\n"]
+[21.368148, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmode\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n }\r\n"]
+[21.368232, "o", "\r\n"]
+[21.368334, "o", "\u001b[1m # module.infra.aws_lambda_function.ecr_vulnerabilities_notifier\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.368426, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_lambda_function\" \"ecr_vulnerabilities_notifier\" {\r\n"]
+[21.368536, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.368825, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mdescription\u001b[0m\u001b[0m = \"Lambda that notifies a Slack channel should there be any new vulnerabilities on the scanned images (1.0.0)\"\r\n"]
+[21.369019, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_name\u001b[0m\u001b[0m = \"blog-ecr-vulnerabilities-notifier\"\r\n"]
+[21.369205, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mhandler\u001b[0m\u001b[0m = \"index.notifyVulnerabilities\"\r\n"]
+[21.369379, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.369501, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0minvoke_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.369645, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mlast_modified\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.369785, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmemory_size\u001b[0m\u001b[0m = 256\r\n"]
+[21.370634, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mpublish\u001b[0m\u001b[0m = false\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mqualified_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.370925, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mreserved_concurrent_executions\u001b[0m\u001b[0m = -1\r\n"]
+[21.371211, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrole\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.37129, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mruntime\u001b[0m\u001b[0m = \"nodejs12.x\"\r\n"]
+[21.371374, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0ms3_bucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.371489, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0ms3_key\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.371609, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_code_hash\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.371721, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_code_size\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.371834, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mtimeout\u001b[0m\u001b[0m = 60\r\n"]
+[21.371951, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion\u001b[0m\u001b[0m = (known after apply)\r\n\r\n"]
+[21.372029, "o", " \u001b[32m+\u001b[0m \u001b[0menvironment {\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mvariables\u001b[0m\u001b[0m = {\r\n"]
+[21.372293, "o", " \u001b[32m+\u001b[0m \u001b[0m\"SLACK_ENDPOINT\" = \"https://hooks.slack.com/services/1234/abcdefghijklmn\"\r\n"]
+[21.372403, "o", " }\r\n }\r\n\r\n \u001b[32m+\u001b[0m \u001b[0mtracing_config {\r\n"]
+[21.372591, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmode\u001b[0m\u001b[0m = (known after apply)\r\n }\r\n }\r\n\r\n"]
+[21.372778, "o", "\u001b[1m # module.infra.aws_lambda_permission.allow_cloudwatch_to_call_lambda_ecr_scanning\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.372861, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_lambda_permission\" \"allow_cloudwatch_to_call_lambda_ecr_scanning\" {\r\n"]
+[21.373023, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0maction\u001b[0m\u001b[0m = \"lambda:InvokeFunction\"\r\n"]
+[21.373138, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_name\u001b[0m\u001b[0m = \"blog-ecr-scanning\"\r\n"]
+[21.373248, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.373428, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mprincipal\u001b[0m\u001b[0m = \"events.amazonaws.com\"\r\n"]
+[21.373571, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.373751, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstatement_id\u001b[0m\u001b[0m = \"AllowExecutionFromCloudWatch\"\r\n"]
+[21.373811, "o", " }\r\n\r\n"]
+[21.374, "o", "\u001b[1m # module.infra.aws_lambda_permission.allow_cloudwatch_to_call_lambda_ecr_scanning_analysis\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.374175, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_lambda_permission\" \"allow_cloudwatch_to_call_lambda_ecr_scanning_analysis\" {\r\n"]
+[21.374315, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0maction\u001b[0m\u001b[0m = \"lambda:InvokeFunction\"\r\n"]
+[21.374406, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mfunction_name\u001b[0m\u001b[0m = \"blog-ecr-scanning-analysis\"\r\n"]
+[21.374463, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.374634, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mprincipal\u001b[0m\u001b[0m = \"events.amazonaws.com\"\r\n"]
+[21.374749, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource_arn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.374907, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstatement_id\u001b[0m\u001b[0m = \"AllowExecutionFromCloudWatch\"\r\n }\r\n\r\n"]
+[21.374988, "o", "\u001b[1m # module.infra.aws_s3_bucket.ecr_scanning_bucket\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.375058, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_s3_bucket\" \"ecr_scanning_bucket\" {\r\n"]
+[21.375128, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0macceleration_status\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.3752, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0macl\u001b[0m\u001b[0m = \"private\"\r\n"]
+[21.37527, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0marn\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.375378, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.37554, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket_domain_name\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.375684, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket_regional_domain_name\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.375755, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mforce_destroy\u001b[0m\u001b[0m = true\r\n"]
+[21.375837, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mhosted_zone_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.375938, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.376048, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mregion\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.376133, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mrequest_payer\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.37623, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mwebsite_domain\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.376375, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mwebsite_endpoint\u001b[0m\u001b[0m = (known after apply)\r\n\r\n"]
+[21.376484, "o", " \u001b[32m+\u001b[0m \u001b[0mversioning {\r\n"]
+[21.376594, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0menabled\u001b[0m\u001b[0m = (known after apply)\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mmfa_delete\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.376635, "o", " }\r\n }\r\n\r\n"]
+[21.376758, "o", "\u001b[1m # module.infra.aws_s3_bucket_object.code\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.376863, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_s3_bucket_object\" \"code\" {\r\n"]
+[21.376947, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0macl\u001b[0m\u001b[0m = \"private\"\r\n"]
+[21.377027, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.377142, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_type\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.377221, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0metag\u001b[0m\u001b[0m = \"b14477b7ea9308b7fa22f06e1b7fa34d\"\r\n"]
+[21.377328, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mforce_destroy\u001b[0m\u001b[0m = false\r\n \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.377442, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mkey\u001b[0m\u001b[0m = \"1.0.0.zip\"\r\n"]
+[21.377512, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mserver_side_encryption\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.377583, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource\u001b[0m\u001b[0m = \"./1.0.0.zip\"\r\n"]
+[21.37767, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstorage_class\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.377814, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.377928, "o", " }\r\n\r\n"]
+[21.378034, "o", "\u001b[1m # module.infra.aws_s3_bucket_object.repositories\u001b[0m will be created\u001b[0m\u001b[0m\r\n"]
+[21.378126, "o", "\u001b[0m \u001b[32m+\u001b[0m\u001b[0m resource \"aws_s3_bucket_object\" \"repositories\" {\r\n"]
+[21.378211, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0macl\u001b[0m\u001b[0m = \"private\"\r\n"]
+[21.378293, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mbucket\u001b[0m\u001b[0m = \"111111111111-ecr-scanning-bucket\"\r\n"]
+[21.378404, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mcontent_type\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.378519, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0metag\u001b[0m\u001b[0m = \"5550fdf0bb5d9ead92081c8496ea2d22\"\r\n"]
+[21.378678, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mforce_destroy\u001b[0m\u001b[0m = false\r\n"]
+[21.378775, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mid\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.378862, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mkey\u001b[0m\u001b[0m = \"repositories.json\"\r\n"]
+[21.378931, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mserver_side_encryption\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.379078, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0msource\u001b[0m\u001b[0m = \"./ecr-repositories.json\"\r\n"]
+[21.379208, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mstorage_class\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.379289, "o", " \u001b[32m+\u001b[0m \u001b[0m\u001b[1m\u001b[0mversion_id\u001b[0m\u001b[0m = (known after apply)\r\n"]
+[21.379359, "o", " }\r\n\r\n"]
+[21.379475, "o", "\u001b[0m\u001b[1mPlan:\u001b[0m 22 to add, 0 to change, 0 to destroy.\u001b[0m\r\n\r\n\u001b[0m\u001b[1mDo you want to perform these actions?\u001b[0m\r\n"]
+[21.379552, "o", " Terraform will perform the actions described above.\r\n Only 'yes' will be accepted to approve.\r\n"]
+[21.379637, "o", "\r\n"]
+[21.479711, "o", " \u001b[1mEnter a value:\u001b[0m \u001b[0m"]
+[22.375343, "o", "y"]
+[22.614852, "o", "e"]
+[22.828927, "o", "s"]
+[23.045382, "o", "\r\n"]
+[23.04557, "o", "\r\n"]
+[24.863069, "o", "\u001b[0m\u001b[1mmodule.infra.aws_cloudwatch_event_rule.every_hour: Creating...\u001b[0m\u001b[0m\r\n"]
+[24.86334, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_role.ecr_scanning_analysis_role: Creating...\u001b[0m\u001b[0m\r\n"]
+[24.86363, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_role.ecr_scanning_role: Creating...\u001b[0m\u001b[0m\r\n\u001b[0m\u001b[1mmodule.infra.aws_iam_role.ecr_vulnerabilities_notifier_role: Creating...\u001b[0m\u001b[0m\r\n"]
+[24.867393, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket.ecr_scanning_bucket: Creating...\u001b[0m\u001b[0m\r\n"]
+[24.867537, "o", "\u001b[0m\u001b[1mmodule.infra.aws_dynamodb_table.docker_images_vulnerabilities: Creating...\u001b[0m\u001b[0m\r\n"]
+[25.752534, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_role.ecr_scanning_analysis_role: Creation complete after 1s [id=blog-ecr-scanning-analysis-role]\u001b[0m\u001b[0m\r\n"]
+[25.752785, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_role.ecr_vulnerabilities_notifier_role: Creation complete after 1s [id=blog-ecr-vulnerabilities-notifier-role]\u001b[0m\u001b[0m\r\n"]
+[25.777985, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_role.ecr_scanning_role: Creation complete after 1s [id=blog-ecr-scanning-role]\u001b[0m\u001b[0m\r\n"]
+[26.974735, "o", "\u001b[0m\u001b[1mmodule.infra.aws_cloudwatch_event_rule.every_hour: Creation complete after 2s [id=blog-lambda-container-scanning]\u001b[0m\u001b[0m\r\n"]
+[34.867596, "o", "\u001b[0m\u001b[1mmodule.infra.aws_dynamodb_table.docker_images_vulnerabilities: Still creating... [10s elapsed]\u001b[0m\u001b[0m\r\n"]
+[34.868113, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket.ecr_scanning_bucket: Still creating... [10s elapsed]\u001b[0m\u001b[0m\r\n"]
+[35.074214, "o", "\u001b[0m\u001b[1mmodule.infra.aws_dynamodb_table.docker_images_vulnerabilities: Creation complete after 10s [id=blog-docker-images-vulnerabilities]\u001b[0m\u001b[0m\r\n"]
+[35.087973, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy.ecr_vulnerabilities_notifier_policy: Creating...\u001b[0m\u001b[0m\r\n"]
+[35.723621, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket.ecr_scanning_bucket: Creation complete after 11s [id=111111111111-ecr-scanning-bucket]\u001b[0m\u001b[0m\r\n"]
+[35.742827, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy.ecr_scanning_policy: Creating...\u001b[0m\u001b[0m\r\n"]
+[35.743037, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy.ecr_scanning_analysis_policy: Creating...\u001b[0m\u001b[0m\r\n"]
+[35.7432, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket_object.repositories: Creating...\u001b[0m\u001b[0m\r\n"]
+[35.754749, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket_object.code: Creating...\u001b[0m\u001b[0m\r\n"]
+[36.39539, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy.ecr_vulnerabilities_notifier_policy: Creation complete after 1s [id=arn:aws:iam::111111111111:policy/blog-ecr-vulnerabilities-notifier-policy]\u001b[0m\u001b[0m\r\n"]
+[36.408762, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy_attachment.ecr_vulnerabilities_notifier: Creating...\u001b[0m\u001b[0m\r\n"]
+[36.852246, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy.ecr_scanning_policy: Creation complete after 1s [id=arn:aws:iam::111111111111:policy/blog-ecr-scanning-policy]\u001b[0m\u001b[0m\r\n"]
+[36.867541, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy_attachment.ecr_scanning: Creating...\u001b[0m\u001b[0m\r\n"]
+[36.89732, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy.ecr_scanning_analysis_policy: Creation complete after 1s [id=arn:aws:iam::111111111111:policy/blog-ecr-scanning-analysis-policy]\u001b[0m\u001b[0m\r\n"]
+[36.909412, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy_attachment.ecr_scanning_analysis: Creating...\u001b[0m\u001b[0m\r\n"]
+[37.748992, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket_object.repositories: Creation complete after 2s [id=repositories.json]\u001b[0m\u001b[0m\r\n"]
+[37.93606, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy_attachment.ecr_vulnerabilities_notifier: Creation complete after 2s [id=blog-ecr-vulnerabilities-notifier]\u001b[0m\u001b[0m\r\n"]
+[38.386886, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy_attachment.ecr_scanning_analysis: Creation complete after 1s [id=blog-ecr-scanning-analysis]\u001b[0m\u001b[0m\r\n"]
+[38.437156, "o", "\u001b[0m\u001b[1mmodule.infra.aws_iam_policy_attachment.ecr_scanning: Creation complete after 1s [id=blog-ecr-scanning-iam-role]\u001b[0m\u001b[0m\r\n"]
+[45.759678, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket_object.code: Still creating... [10s elapsed]\u001b[0m\u001b[0m\r\n"]
+[54.80725, "o", "\u001b[0m\u001b[1mmodule.infra.aws_s3_bucket_object.code: Creation complete after 19s [id=1.0.0.zip]\u001b[0m\u001b[0m\r\n"]
+[54.820652, "o", "\u001b[0m\u001b[1mmodule.infra.data.aws_s3_bucket_object.ecr_scanning_object: Refreshing state...\u001b[0m\r\n"]
+[54.820849, "o", "\u001b[0m\u001b[1mmodule.infra.data.aws_s3_bucket_object.ecr_scanning_analysis_object: Refreshing state...\u001b[0m\r\n"]
+[54.821022, "o", "\u001b[0m\u001b[1mmodule.infra.data.aws_s3_bucket_object.ecr_vulnerabilities_notifier_object: Refreshing state...\u001b[0m\r\n"]
+[56.210822, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_function.ecr_scanning_analysis: Creating...\u001b[0m\u001b[0m\r\n"]
+[56.211009, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_function.ecr_scanning: Creating...\u001b[0m\u001b[0m\r\n"]
+[56.211241, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_function.ecr_vulnerabilities_notifier: Creating...\u001b[0m\u001b[0m\r\n"]
+[64.44784, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_function.ecr_scanning: Creation complete after 8s [id=blog-ecr-scanning]\u001b[0m\u001b[0m\r\n"]
+[64.459616, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_function.ecr_vulnerabilities_notifier: Creation complete after 8s [id=blog-ecr-vulnerabilities-notifier]\u001b[0m\u001b[0m\r\n"]
+[64.459784, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_function.ecr_scanning_analysis: Creation complete after 8s [id=blog-ecr-scanning-analysis]\u001b[0m\u001b[0m\r\n"]
+[64.486499, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_permission.allow_cloudwatch_to_call_lambda_ecr_scanning: Creating...\u001b[0m\u001b[0m\r\n"]
+[64.487111, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_permission.allow_cloudwatch_to_call_lambda_ecr_scanning_analysis: Creating...\u001b[0m\u001b[0m\r\n"]
+[64.487345, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_event_source_mapping.dynamo_db_stream_trigger: Creating...\u001b[0m\u001b[0m\r\n"]
+[64.487653, "o", "\u001b[0m\u001b[1mmodule.infra.aws_cloudwatch_event_target.every_hour_ecr_scanning_target: Creating...\u001b[0m\u001b[0m\r\n"]
+[64.487978, "o", "\u001b[0m\u001b[1mmodule.infra.aws_cloudwatch_event_target.every_hour_ecr_scanning_analysis_target: Creating...\u001b[0m\u001b[0m\r\n"]
+[66.178138, "o", "\u001b[0m\u001b[1mmodule.infra.aws_cloudwatch_event_target.every_hour_ecr_scanning_target: Creation complete after 2s [id=blog-lambda-container-scanning-terraform-20200215193403424100000001]\u001b[0m\u001b[0m\r\n"]
+[66.178476, "o", "\u001b[0m\u001b[1mmodule.infra.aws_cloudwatch_event_target.every_hour_ecr_scanning_analysis_target: Creation complete after 2s [id=blog-lambda-container-scanning-terraform-20200215193403425000000002]\u001b[0m\u001b[0m\r\n"]
+[70.91925, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_permission.allow_cloudwatch_to_call_lambda_ecr_scanning_analysis: Creation complete after 7s [id=AllowExecutionFromCloudWatch]\u001b[0m\u001b[0m\r\n"]
+[70.919503, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_permission.allow_cloudwatch_to_call_lambda_ecr_scanning: Creation complete after 7s [id=AllowExecutionFromCloudWatch]\u001b[0m\u001b[0m\r\n"]
+[71.029438, "o", "\u001b[0m\u001b[1mmodule.infra.aws_lambda_event_source_mapping.dynamo_db_stream_trigger: Creation complete after 7s [id=20279c42-f4cb-4393-a703-b41d93a3c3d4]\u001b[0m\u001b[0m\r\n"]
+[71.058955, "o", "\u001b[0m\u001b[1m\u001b[32m\r\n"]
+[71.05916, "o", "Apply complete! Resources: 22 added, 0 changed, 0 destroyed.\u001b[0m\r\n"]
+[71.065045, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
+[71.065094, "o", "\u001b]2;niek@Nieks-MacBook-Pro: ~/projects/swat/aws-ecr-scanning-slack-notifications/terraform\u0007"]
+[71.065222, "o", "\u001b]1;..ons/terraform\u0007"]
+[71.09486, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[01;32m➜ \u001b[36mterraform\u001b[00m \u001b[01;34mgit:(\u001b[31mdevelop\u001b[34m) \u001b[33m✗\u001b[00m \u001b[K"]
+[71.094976, "o", "\u001b[?1h\u001b=\u001b[?2004h"]
+[73.894715, "o", "\u001b[?2004l\r\r\n"]
diff --git a/2020/02/14/ecr-scanning-notifier/index.html b/2020/02/14/ecr-scanning-notifier/index.html
new file mode 100644
index 00000000..92bf3faa
--- /dev/null
+++ b/2020/02/14/ecr-scanning-notifier/index.html
@@ -0,0 +1,395 @@
+AWS ECR Vulnerabilities Notifier | 040code This site runs best with JavaScript enabled. AWS ECR Vulnerabilities Notifier We only want to be bothered once a new vulnerability is found by: thales niek on 2020-02-14 This post explains how to scan docker images on AWS ECR and get notified when a new vulnerability is found.
+
+
+ Source code for this post
+
Introduction
+
On October 2019, AWS released a nice feature on AWS ECR (Elastic Container Registry). They introduced the ability to scan docker images hosted within ECR in order to detect vulnerabilities.
+
ECR scanning is free of charge, but you can only scan the same image every 24 hours. You get throttled if you make more than 1 request within 1 day. Naturally, scans are only triggered when an image is pushed. This blog explains how to trigger the scans at your own pace (for example, on a daily basis).
+
Since we love automation, we have decided to automate scanning task using a full serverless application that sends via slack a notification when there is a change in the scanning results.
+
Why?
+
Docker images are pulled left and right. You find yourself constantly looking for that new image which solves the majority of your problems. You find it. You pull it. You execute it. You like it. You decide to push it to your own ECR Registry because you’re afraid the original publisher eventually deletes it from DockerHub, or you simply need a private docker registry. But did you really check what was inside it? Are you aware of all the libraries and packages this image is using? What if there are critical security issues with that image that may compromise the software you’re running? What if your company loses tens of thousands (or maybe millions) of dollars just because a vulnerability that was never known?
+
It may sound scary, and it actually is! Vulnerabilities are everywhere and there’s very little you can do to mitigate the problem on your own. Usually, responsible publishers fix these vulnerabilities as soon as they are detected. However, not using a compromised image already is a step in the right direction. Automating this process is even nicer because you can react on it and decide what path to take: whether tailoring your own Docker images or just temporarily suspending the use for a compromised one.
+
How?
+
There are mainly two ways which you can scan your Docker images for vulnerabilities:
+
+Enabling Scan on push for a given ECR registry, which will scan every image and output the results within the ECR console.
+Using the AWS SDK to invoke the APIs in an automated way.
+
+
We like #2 because the more automated a process is the better. For example using Terraform:
+
resource "aws_ecr_repository" "my_repo" {
+ name = "my-image"
+
+ image_scanning_configuration {
+ scan_on_push = true
+ }
+}
+
Notifying Changes
+
You don’t want to be notified every single time a image was scanned, do you? You only want to be notified when there were vulnerabilities detected for a new image or if the vulnerabilities for a previously scanned image have changed. This means that this state must be stored somewhere. DynamoDB is a great choice here because we can easily store such state there and we can also react to any Table changes using DynamoDB Streams. Do you smell an Event Driven Architecture already?
+
+
+
+
+
+
+
+
+
Getting our hands dirty
+
Scanning images
+
For our use case, we decided to put all the ECR repositories to be scanned in a .json
file within an S3 bucket. Everytime the Lambda function runs, it downloads that file, parses it and issues listImages
for every repository defined and startImageScan
for every image found.
+
Using the Node.js SDK and AWS SDK, we can easily put it together, see github for the full code.
+
const scan = async ( ) => {
+ const s3 = await S3 . getObject ( {
+ Bucket : process. env. BUCKET ,
+ Key : process. env. KEY
+ } ) . promise ( ) ;
+ const repositories = JSON . parse ( Buffer. from ( s3. Body) . toString ( "utf8" ) ) ;
+ for ( const repository of repositories) {
+ const images = await ECR . listImages ( {
+ registryId : process. env. REGISTRY_ID ,
+ repositoryName : repository
+ } ) . promise ( ) ;
+ for ( const imageId of images. imageIds) {
+ try {
+ await ECR . startImageScan ( {
+ registryId : process. env. REGISTRY_ID ,
+ repositoryName : repository,
+ imageId
+ } ) . promise ( )
+ } catch ( e) {
+ console. log ( ` Failed scanning image: ${ repository} : ${ imageId. imageTag} ` , e)
+ }
+ }
+ }
+} ;
+
This task is as easy as that. It invokes the SDK to start an image scan. This process will now be run asynchronously in AWS.
+
Analysing the results for a Scanned image
+
This could be achieved by reacting to CloudWatch events in AWS, but we decided to go the easy way and periodically poll ECR for the Scan Findings. If something was found, we store the findings in DynamoDB.
+
+const analyse = async ( ) => {
+ for ( const repository of repositories) {
+ const images = await ECR . listImages ( {
+ registryId : process. env. REGISTRY_ID ,
+ repositoryName : repository
+ } ) . promise ( ) ;
+ for ( const imageId of images. imageIds) {
+ const results = await ECR . describeImageScanFindings ( {
+ registryId : process. env. REGISTRY_ID ,
+ repositoryName : repository,
+ imageId
+ } ) . promise ( ) ;
+ if ( results) {
+ dynamoDbPromises. push (
+ DynamoDB. put ( {
+ TableName : process. env. DOCKER_IMAGES_VULNERABILITIES_TABLE ,
+ Item : {
+ sha_digest : imageId. imageDigest,
+ tag : imageId. imageTag,
+ aws_vulnerabilities : results. imageScanFindings. findingSeverityCounts,
+ repository : repository,
+ registry_id : process. env. REGISTRY_ID ,
+ last_run : new Date ( ) . toISOString ( )
+ }
+ } ) . promise ( )
+ ) ;
+ }
+ }
+ await Promise. all ( dynamoDbPromises) ;
+ }
+} ;
+
+
The code snippet above always inserts data into DynamoDB, because we don’t want to check during analysis time whether something has changed or not. This would require a new query to DynamoDB and extra logic to this function. We want to keep the functions small and concise, so we will create another function very soon to check whether there have been changes in a given image or not.
+
Notifying should there be vulnerability changes
+
Should there be any vulnerability changes to a previously scanned image or any vulnerabilities at all for a new image, we want to be aware of that.
+
Since we are already using DynamoDB, we can use DynamoDB Streams to react on write events. If you remember correctly, our previous function always pushes data to DynamoDB, meaning a Stream will always be triggered. Let’s use that in our favor and have a Lambda function react upon it. This new function will be smart enough to check whether something changed or if a new image was scanned. In any case, it will trigger a notification to a Slack channel. If there are no changes at all, the Lambda function then does nothing but happily terminate.
+
const converter = AWS . DynamoDB. Converter;
+
+const notify = async records => {
+ for ( const record of records) {
+ if ( record. eventName === "INSERT" ) {
+
+ } else if ( record. eventName === "MODIFY" ) {
+ const potentiallyChangedRecord = converter. unmarshall (
+ record. dynamodb. NewImage
+ ) ;
+ const originalRecord = converter. unmarshall ( record. dynamodb. OldImage) ;
+ if (
+ JSON . stringify ( potentiallyChangedRecord. aws_vulnerabilities) !==
+ JSON . stringify ( originalRecord. aws_vulnerabilities)
+ ) {
+ await axios. post ( process. env. SLACK_ENDPOINT , {
+ text : util. format (
+ "_Vulnerabilities Changed_ for *%s* with SHA *%s* tagged *%s* \n ```%s```" ,
+ potentiallyChangedRecord. repository,
+ potentiallyChangedRecord. sha_digest,
+ potentiallyChangedRecord. tag,
+ JSON . stringify ( potentiallyChangedRecord. aws_vulnerabilities)
+ )
+ } ) ;
+ }
+ }
+ }
+} ;
+
When changes are detected to either a new image or to an existing image, a Slack message notifying there are vulnerabilities for a given image will be sent.
+
+
+
+
+
+
+
+
+
You can now decide on your own if the vulnerabilities detected are worth investigating. If you go to AWS’s console and inspect the image you were notified of, you can see a list of all the vulnerabilities and their corresponding CVEs
+
+
+
+
+
+
+
+
+
Putting all together.
+
In this post we have mostly concentrated on the lambda code required to create the components. Apart from the Lambda code, the GitHub repo also contains the Infrastructure Code (Iac) required to create the resources in AWS in order to glue them together. Just follow th instruction smentioned in this repo and you should have your docker images scanner up in minutes.
+
+
+
For the purposes of this post, we used Slack. But the way the Lambda function is built, it could really be any HTTP endpoint, meaning you could even notify your internal systems of potential vulnerability changes in a Docker image.
\ No newline at end of file
diff --git a/2020/05/25/getting-help-from-your-compiler/index.html b/2020/05/25/getting-help-from-your-compiler/index.html
new file mode 100644
index 00000000..ddd814a3
--- /dev/null
+++ b/2020/05/25/getting-help-from-your-compiler/index.html
@@ -0,0 +1,577 @@
+Implementing Form Validation Without Conditional Logic | 040code This site runs best with JavaScript enabled. Implementing Form Validation Without Conditional Logic Using clever data types to reduce the possibilities for mistakes by: stefan on 2020-05-25 I’m learning about functional programming. I’m having loads of fun doing that,
+and I also think my code is improving because of it. In this post I want to
+share something that I learned about using Either to do form validation in
+TypeScript.
+
+
+ Source code for this post
+
Contents
+
+
[Update June 4, 2020] When continuing to work on this code, I improved one
+important aspect. At the end of this post I added the section Making the
+validation functions reusable to
+explain. Also the code in the github repo was updated to reflect
+this.
+
Less Bugs
+
Today I want to show you a neat technique for form validation. Almost every web
+app will eventually have a form somewhere, and the user input of that form
+usually needs to be validated. You can do that by writing lots of conditions all
+over the place, but in this post I will show you that you can do it without any
+single condition except for the validation logic itself. But the rest of the
+app, including the UI, doesn’t have conditional logic. That’s great, because it
+significantly reduces the number of mistakes (bugs) you can make. To understand
+this post, you don’t need any specific knowledge or experience.
+
Clever Data Types
+
Let’s explore a concrete example. Suppose you’re writing a GUI that contains a
+form, and you need to validate the elements of that form. Making it even more
+specific: a registration web page where a user can sign up for a new account by
+providing information like e-mail, phone number, and a password (twice, to
+prevent typing mistakes).
+
This kind of code can easily become a big mess of conditional logic: if the
+e-mail field is not empty and it is not a valid e-mail address, then
+show an error. And if the phone number field is not empty and it is not
+a valid phone number, then show another error. And if the password is
+not empty and does not meet the minimum requirements, then show yet
+another error. And if any of the above if s were true, then disable
+the submit button. And so on. Yes, you can write that code, but it’s going to be
+ever so easy to forget cases and combinations of cases.
+
So why not use a cleverly designed data type? I’m not making this up myself,
+smarter people have already done so, and they call the type Either
. Typically
+it represents either an error or a valid value. The error case is (by
+convention) called the left of the Either
, the valid value is the right .
+So a variable of the Either
type could either be left('that e-mail address is
+invalid')
or it could be right('me@example.com')
.
+
This data type comes with an API. This API is designed in such a way that it
+becomes hard to “do the wrong thing”. For example, the function that allows you
+to get the valid value out of the Either
if it’s a right
, requires you to
+also specify what should happen when it’s a left
. You can’t forget, because it
+won’t compile .
+
So how do you use that? Back to our registration page, let’s define the
+following validation function (in TypeScript):
+
const emailValid = ( email: string ) : Either< string , string > =>
+ emailAddress. parseOneAddress ( email) !== null
+ ? right ( email)
+ : left ( 'invalid email address' )
+
On line (1)
, you see the declaration of the validation function. It’s argument
+is that string that we want to validate, and the return type is an Either
of
+which both the left hand side and the right hand side are a string
. That’s
+because the error (left) is a string, and the valid value, namely the email
+address, is also a string. On line (2)
we call a library function to parse the
+provided string and check whether the return value is null
. When it’s not, the
+email address was valid and we return the right on line (3)
, or when it is
+null
then we return the left on line (4)
. Nice and simple.
+
Let’s define a few more.
+
const phoneValid = ( phone: string ) : Either< string , string > =>
+ / [0-9]{10} / . test ( phone) ? right ( phone) : left ( 'invalid phone number' )
+
+const equalPasswords = (
+ p1: string ,
+ p2: string
+) : Either< string , string > => ( p1 === p2 ? right ( p1) : left ( 'passwords differ' ) )
+
+const minLength = ( s: string ) : Either< string , string > =>
+ s. length >= 8 ? right ( s) : left ( 'password must be at least 8 characters' )
+
+const oneCapital = ( s: string ) : Either< string , string > =>
+ / [A-Z] / g . test ( s) ? right ( s) : left ( 'password must have at least one capital' )
+
+const oneNumber = ( s: string ) : Either< string , string > =>
+ / [0-9] / g . test ( s) ? right ( s) : left ( 'password must have at least one number' )
+
Zooming in on the password, we note that there’s a bunch of different ways in
+which a password can be wrong, and we want to capture all of them. So we want to
+call all of the related password-checking functions, each of which will give an
+Either
as a result, and then combine those Either
s. Combining the right
+is easy. After all, if it’s a right
then the right contains the password, so
+the combined either should still have the password as a value. How do we combine
+the left? By converting the left from a string to an array of strings, and then
+concatenating those arrays. This conversion is called lifting : we lift the
+single error string into an array containing that single error string. And now
+that the lefts are lifted into arrays, we can combine them by concatenating
+those arrays. If you’re interested in the source code of lift
, you can find it
+in the appendix below, but for now it’s good enough if you conceptually
+understand what it does: it converts left('passwords differ')
into
+left(['passwords differ'])
, for example.
+
The Scary Bit 😱
+
The library that I’ve been using for this style of (functional) programming in
+TypeScript, is fp-ts . It has some concepts that may seem scary if
+you’ve never seen them before. But fear not, it’s actually not that difficult to
+understand and use.
+
First up: semigroup . A semigroup is just something that supports
+combining things. Or concat
ing if you like. You can see why we need this,
+right? We need to combine the error strings in the left
s of all the validation
+results.
+
Then there’s the function getValidation()
, which returns a special kind of
+Either
that knows that the left
s have to be combined somehow. How, you ask?
+That’s defined by the semigroup that you give it.
+
🤯
+
Ok ok, relax, you’ll get there. The following piece of code just means: give me
+a special Validation
-kind of an Either
that knows how to combine lefts
by
+concatenating the string arrays that they contain:
+
import { getValidation } from 'fp-ts/lib/Either'
+import { getSemigroup } from 'fp-ts/lib/NonEmptyArray'
+
+const applicativeValidation = ( ) => getValidation ( getSemigroup < string > ( ) )
+
If you want more details / explanation, I recommend reading their
+article about the topic.
+
The last scary piece of the puzzle consists of sequenceS
and sequenceT
. They
+are basically the same, so let’s start with sequenceT
(T
is for tuple, aka
+array). It needs the applicativeValidation
we just defined, and then a list of
+our validation functions. It spits out an array of the return values of the
+validation functions. Well, sort of. It puts it in an Either
first. That is,
+unless one or more of those Either
s was a left, in that case sequenceT
spits
+the left which is the array of errors that the applicative validation has
+created.
+
“Example!” you shout in desperation? Sure thing:
+
sequenceT ( applicativeValidation ( ) ) (
+ lift ( minLength) ( p1) ,
+ lift ( oneCapital) ( p1) ,
+ lift ( oneNumber) ( p1) ,
+ lift2 ( equalPasswords) ( p1, p2)
+ )
+
This uses the simple validation functions that we defined above, as well as
+lift
which we already mentioned, and lift2
which is the same thing but then
+to lift a validation function that takes two parameters instead of just
+one. It returns an Either
. When everything is ok, it returns:
+
+
One p1
because the return value of line (2)
is
+right(p1)
, one because line (3)
returns right(p1)
, one for line (4)
and
+one for line (5)
(because equalPasswords
also returns p1
when all was ok).
+However, if one or more of those return values was a left
, the whole thing is
+a left
. For example when the passwords don’t have a number or an upper case
+character, the return value is:
+
left ( [ 'password must have at least one capital' ,
+ 'password must have at least one number' ] )
+
In order to use this as a building block for the entire form validation, we want
+a passwordValid
function that returns only right(p1)
, not the array of four
+p1
s, so we map
the Either
and get the following password validation
+function.
+
import { pipe } from 'fp-ts/lib/pipeable'
+import { constant } from 'fp-ts/lib/function'
+
+function passwordValid (
+ p1: string ,
+ p2: string
+) : Either< NonEmptyArray< string > , string > {
+ return pipe (
+ sequenceT ( applicativeValidation ( ) ) (
+ lift ( minLength) ( p1) ,
+ lift ( oneCapital) ( p1) ,
+ lift ( oneNumber) ( p1) ,
+ lift2 ( equalPasswords) ( p1, p2)
+ ) ,
+ map ( constant ( p1) )
+ )
+}
+
This map
conceptually is the same as the one you already know for arrays: it
+takes whatever value is captured (the things in the array, or the right-hand
+side of the either), and applies a function to it. The pipe
function pipes the
+value of an expression into a pipeline of functions. See
+example . The function constant
is a function that always
+returns the given value. This is needed because map
requires a function to
+be applied to the element (the right
in this case). Instead of constant(p1)
+we could also write () => p1
, but this way the intention is more explicit.
+
Now it’s a small step to define the entire form validation function. In this
+case we use sequenceS
instead of sequenceT
. Where sequenceT
makes an array
+of elements in the right
, sequenceS
makes an object:
+
export function validateRegistrationData (
+ email: string ,
+ phone: string ,
+ p1: string ,
+ p2: string ,
+ consent: boolean
+) : Either< NonEmptyArray< string > , RegistrationData> {
+ return sequenceS ( applicativeValidation ( ) ) ( {
+ email: lift ( emailValid) ( email) ,
+ phone: lift ( phoneValid) ( phone) ,
+ password: passwordValid ( p1, p2)
+ } )
+}
+
Look at that! We have a function that takes all the individual form input
+values, and it spits out an object that happens to be my internal user-profile
+representation, or a list of errors!
+
😎
+
Using This In The UI
+
For the UI part I’ll be using React. Because of it’s declarative nature it
+matches very well with the above function style of doing validation. The
+component that we are creating is called RegistrationForm
. It uses a bunch of
+state hooks for the individual form input values:
+
export const RegistrationForm = ( ) => {
+ const [ email, setEmail] = useState ( '' )
+ const [ phone, setPhone] = useState ( '' )
+ const [ password1, setPassword1] = useState ( '' )
+ const [ password2, setPassword2] = useState ( '' )
+
+ [ ... ]
+
+ return < Form >
+ < Form.Field >
+ < label> Email: </ label>
+ < Input name = " email" value = { email}
+ onChange = { ( _, { value } ) => setEmail ( value) }
+ />
+ </ Form.Field >
+ < Form.Field >
+ < label> Phone: </ label>
+ < Input name = " mobile" value = { phone}
+ onChange = { ( _, { value } ) => setPhone ( value) }
+ />
+ </ Form.Field >
+ < Form.Input label = ' Password' type = " password" value = { password1}
+ onChange = { ( _, { value } ) => setPassword1 ( value) }
+ />
+ < Form.Input
+ label = ' Password again'
+ type = " password"
+ value = { password2}
+ onChange = { ( _, { value } ) => setPassword2 ( value) }
+ />
+ < Button primary content = ' Register' />
+ </ Form >
+}
+
Easy enough. Now for the interesting part. After declaring the variables for the
+various state hooks, we add the call to our validation function. You don’t need
+to put the type there, TypeScript will infer it for you, but I did so anyway to
+remind you of what our validation function is returning.
+
const validationResult: Either<
+ NonEmptyArray< string > ,
+ RegistrationData
+ > = validateRegistrationData ( email, phone, password1, password2)
+
In Semantic UI, the Form
element has to know whether there’s an error in the
+form. That’s easy, we use the isLeft
API function of Either
. So we replace
+the <Form>
element with:
+
import { isLeft } from 'fp-ts/lib/Either'
+
+[ ... ]
+
+ return < Form error = { isLeft ( validationResult) } >
+
+ [...]
+
Nice, no conditionals yet. We can use that same construct to enable/disable the
+submit button:
+
< Button primary content = ' Register' disabled = { isLeft ( validationResult) } />
+
What should happen when we click the ‘Register’ button? In my case, since I’m
+also using Redux, it should dispatch an action that takes the RegistrationData
+as a parameter. We can do that using map
again. On an Either
, map performs a
+function on value if it’s a right
, and leaves it alone if it’s a left
.
+
import { map } from 'fp-ts/lib/Either'
+
+[ ... ]
+
+ < Button primary content = ' Register'
+ disabled = { isLeft ( validationResult) }
+ onClick = { ( ) => {
+ map ( ( reg: RegistrationData) => {
+ dispatch ( startRegistration ( reg) )
+ } ) ( validationResult)
+ } } />
+
The final piece of the puzzle is the list of error messages. To show that, we
+want to swap
the Either
, meaning that it replaces left and right. That’s
+because we want to do something with the errors which are left, but “doing
+something with an Either” mostly means doing it on a right
. Also, we use
+getOrElse
, which is one of those safe API methods that I mentioned. Not only
+does it return the right
of an Either
, but also do you need to specify what
+has to happen when the Either
was a left
. Here we simply generate an empty
+array in case of a left, and we have to make the TypeScript compiler happy by
+saying what type that empty array has.
+
So we get the array of error message out of the Either and pass it into a
+Semantic UI Message
element like this:
+
< Message
+ error
+ header = { t (
+ 'registration.formErrors' ,
+ 'Het formulier is niet goed ingevuld'
+ ) }
+ list = { getOrElse ( constant ( [ ] as string [ ] ) ) ( swap ( validationResult) ) }
+ />
+
🥳
+
Conclusion
+
Do you realize what we just did? We created an entry form with input validation.
+It shows a full list of errors all the time, and updates it as you type . And
+we did so without using a single conditional outside of the individual
+simple validation functions like oneCapital
, which is where they belong. And
+as a bonus all those simple validation functions are super-easy to unit-test and
+highly reusable. The other conditionals that you would normally need are now
+abstracted away in the Either
and Validation
, so that you can’t do it wrong
+anymore. I don’t know about you, but I’m happy. 😀
+
The full source code and a completely working example can be found on
+github . As a bonus, it also contains a couple of Jest matchers for
+checking Eithers in unit tests.
+
A New Vocabulary
+
There is one last observation that I’d like to make. All your “C-style”
+programming languages are basically the same. A loop (for, while), a condition,
+some stuff about objects/classes, a switch. When you can write Java, you can
+also write Swift or C#. Sure, you need to learn some new APIs, but the basic
+building blocks are all the same. It’s a common vocabulary shared by all these
+languages, that allow you to talk and reason about code.
+
As I challenge myself to use the functional programming concepts more and more,
+like I did in this article, I find that it gives me a whole new vocabulary in a
+similar way, but on a higher abstraction level. Learn how to use fp-ts
in
+TypeScript, and you use the same constructs in Haskell, PureScript, Scala, etc.
+So any investment that you make in learning this stuff is not limited to the
+specific programming language that you learn it for. And it’s going to allow you
+to write your code using higher-level abstractions, thereby reducing hopefully
+the number of bugs.
+
Appendix: lift and lift2
+
As promised, below are the definitions for lift
and lift2
. The actual code
+is quite simple. When you pass a validation function into it (called check
+here), this returns a new function that, when called, first calls the original
+validation function and then uses mapLeft
to put the left
value in an array.
+It ignores right
values. All the type stuff around it may make it look a bit
+daunting, but if you give it a hard stare you should probably be able to figure
+it out. 🧐
+
import { pipe } from 'fp-ts/lib/pipeable'
+import { Either, mapLeft } from 'fp-ts/lib/Either'
+import { NonEmptyArray } from 'fp-ts/lib/NonEmptyArray'
+
+
+export function lift < E , A , B > (
+ check : ( a: A ) => Either< E , B >
+) : ( a: A ) => Either< NonEmptyArray< E > , B > {
+ return a =>
+ pipe (
+ check ( a) ,
+ mapLeft ( e => [ e] )
+ )
+}
+
+
+export function lift2 < E , A , B , C > (
+ check : ( a: A , b: B ) => Either< E , C >
+) : ( a: A , b: B ) => Either< NonEmptyArray< E > , C > {
+ return ( a, b) =>
+ pipe (
+ check ( a, b) ,
+ mapLeft ( e => [ e] )
+ )
+}
+
Making the validation functions reusable
+
(This section was added on June 4, 2020)
+
There is one thing about the code above that kept bothering me. For example, take
+the validation for checking that passwords contain a number:
+
export const oneNumber = ( s: string ) : Either< string , string > =>
+ / [0-9] / g . test ( s) ? right ( s) : left ( tPasswordOneNumber)
+
The problem with this approach is that the function combines two
+responsibilities : (1) the check whether or not the string satisfies the
+conditions, and (2) attaching the proper error message when the check fails. Do
+you see the problem with this? It’s not reusable. Because in another form we
+maybe want to use the same check, but with a different error message. We can do
+better!
+
First, we can make a completely generic and reusable check function, which even
+lives in a separate more generic file:
+
import * as O from 'fp-ts/lib/Option'
+
+export const atLeastOneNumber = O . fromPredicate ( ( s: string ) => / [0-9] / g . test ( s) )
+
This function returns an Option
instead of an Either
. An Option
is either
+some(value)
, or none
(which corresponds to the value being null
or
+undefined
). In other words: the function atLeastOneNumber(str)
gives us
+none
when the check fails, or some(str)
when it succeeds.
+
The second step is specific to the registration form validation, namely
+attaching the proper error message. We do that by taking the output of
+atLeastOneNumber
and putting it in an Either
using fromOption
. This API
+function fromOption
converts the some
to a right
, and the none
to a
+left
with the given value. So we get this (flow
is left-to-right function
+composition ):
+
const oneNumberValidator = flow (
+ atLeastOneNumber,
+ fromOption ( constant ( tPasswordOneNumber) )
+)
+
The difference becomes even more apparent with the (admittedly naive) phone
+number validation. Old version:
+
export const phoneValid = ( phone: string ) : Either< string , string > =>
+ / ^[0-9]{8}$ / . test ( phone) ? right ( phone) : left ( tInvalidPhone)
+
New version:
+
const digits = ( n: number ) =>
+ O . fromPredicate ( ( s: string ) => new RegExp ( ` ^[0-9]{ ${ n} }$ ` ) . test ( s) )
+
+const phoneValidator = flow (
+ digits ( 8 ) ,
+ fromOption ( constant ( tInvalidPhone) )
+)
+
So now we have an even more generic and completely reusable digits
checker,
+that you can pass the desired number of digits, and a specialized
+phoneValidator
that uses it for the registration validation.
+
🎉
+
\ No newline at end of file
diff --git a/2020/05/25/scaling-selfhosted-action-runners/index.html b/2020/05/25/scaling-selfhosted-action-runners/index.html
new file mode 100644
index 00000000..c46bb437
--- /dev/null
+++ b/2020/05/25/scaling-selfhosted-action-runners/index.html
@@ -0,0 +1,644 @@
+Scaling GitHub Action Runners | 040code This site runs best with JavaScript enabled. Scaling GitHub Action Runners Serverless scalable self-hosted runners on AWS spot instances by: niek on 2020-05-25 This post explains how to run GitHub actions on self-hosted scalable runners on AWS spot instances.
+
+
+ Source code for this post
+
Introduction
+
Last year GitHub released self-hosted action runners which already empower you to run GitHub actions on your own machines. At the time of, the feature was quite limited; it lacked an API and only supported repository level runners. We could already automate the deployment of a single self-hosted runner for one repo with Terraform on AWS. But the clear drawback here is that you will pay AWS for hosting your instances, even if there is no workload to execute. Over the last months, GitHub released an API for self-hosted action runners, and support for org level runners was added. Therefore, now is a good moment to have a second look on how to utilize self-hosted runners, and scale the self-hosted runners up and down based on workload using the GitHub API. Similar to scaling runners for GitHub we wrote an article on how to scale runners for GitLab which Terraform community module you find here .
+
Why?
+
Why we are using self-hosted runners? First of all, by running on our own hardware, we created our own trusted environment for our builds that we can connect to networks not available via public runners. Note that because of this reason, we choose to limit the use of self-hosted runners to our private and internal repositories. While using self-hosted runners on public repositories is possible, be aware that any pull request will run on your hardware which could have serious security risks. Therefore you should carefully consider the usage of self-hosted runners in this context. A second advantage of hosting our own runners, is that we can fine-tune the required hardware. Finally, local runners allow you to control, and maybe even save, costs, in contrast to public runners that are not free for non-public repo’s. The setup we will show will have almost no costs if there are no builds, and by executing the workflows on AWS spot instances we save again some pennies.
+
The idea
+
The GitHub self-hosted action runner is an agent that you need to install on any machine that needs to pickup and execute workflow. To connect the agent to GitHub you can either choose to register the agent on repo level or org level. For registration you request a registration token (API ) and this token is used during the setup of agent. This part is easy to automate, so let’s have a look how we can orchestrate the process of creating runners.
+
In GitHub everytime a workflow is triggered, a check run
event is created. Can we use this event to decide whether to scale a runner? Yes, if we find a way to receive and listen for the event. Actually, there are two options: using the webhook at the repo or org level, or using the GitHub app. Here, we will use the GitHub app option. The GitHub app can sent a message to our webhook for every check run
event and we can easily implement this webhook with a AWS Lambda function. This lambda can verify the event, run some other checks and decide to create a EC2 spot instance to facilitate the execution of the workflow. The EC2 spot instances will be linux based with docker so we can run any containerized workload.
+
+
+
+
+
+
+
+
+
Being able to create runners once a workflow is triggered brings us the possibility to scale up. Question remains now how to scale down? Again we could listen for event and next try to scale down. Since a runner instance is not dedicated to only executing one workload. At the moment another workflow requires a build the, the runner will process this build as well. This makes scaling down based on events less trivial. So we took a slightly different and much simpler approach: every x minutes all runners that are not busy are removed.
+
You might think why not using Kubernetes ? The reasons for us are quite simple. First, we would like to have a solution that could scale really from zero without making any costs. Second, with Kubernetes we enter a other model of running the GitHub agent, which is not supported (yet?). So, this would introduce some extra obstacles as managing docker in docker. Hence, we favoured this simple and straightforward approach.
+
Architecture
+
Before we build scalable runners on AWS, we discuss the architecture in a bit more detail. On AWS we need several infrastructure components and a component to orchestrate the life cycle of the action runners. All infra structure will be created using HashiCorp Terraform . The orchestration layer is build with AWS lambda. All the lambda functions are written in TypeScript and compiled to NodeJS single file with zeit ncc .
+
For the orchestration we build 4 different lambda’s: First a lambda to handle the GitHub events, two lambda’s for scaling up and down. And a last one to synchronize the runner binary. The self-hosted runners will run on AWS spot instances.
+
+
Webhook
+
This lambda receives events via the API gateway sent via the GitHub App for each check run event. The lambda will check if the event is signed with correct secret. Next it filters only for the check run event that requires an action runner, other events are simply dropped. In other words the we only keep the events that are created once a new workflow is triggered. The events we accept are published on a SQS queue. Messages on the queue are delayed for 30 seconds by default. This allows possible idle action runners to start the workflow execution.
+
Scale up
+
This lambda will receive messages from the SQS queue. For each message the lambda first verifies if the workflow has not yet been started. When the workflow is still queued, the lambda will create an AWS spot instance via a launch template. Before creating the instance, a new runner will be registered to GitHub. The token will be temporary stored in the AWS parameter store (SSM). During the boot the AWS instance installs all requirements via a user_data
script. The script will install docker, git and the action runner, which is fetched from a S3 bucket. Finally the runner is configured with parameters fetched from the parameter store, and is then ready to consume workloads.
+
Scale down
+
This lambda is triggered by a cloud watch event. Every time it runs it will try to remove all the registered runners from GitHub. Only inactive runners can be removed. Trying to remove an active one will simply fail, resulting in a 500 response. For all the removed runners from GitHub the lambda will terminate the EC2 spot instances so the bill stops. The scale up and scale down lambda share the same code base, and are released as one zip.
+
Update Binary
+
This lambda will download the action runner binary to avoid unnecessary latency during creation of the runners. We found out in our first week of running our setup that downloading the action runner binary could take up to 15 minutes, therefore we build a simple lambda to cache the artifact in a bucket.
+
Build it
+
Time to build the idea. In the next steps we create a GitHub app, setup Terraform, configure an example repo to test our runners.
+
GitHub app
+
As mentioned above there are two scenario’s two options for running the self-hosted runner, repo level or org level. Our module supports both but for this blog we use the repo level runner as example. The example below is based on the default example in the Terraform module.
+
The process starts with the event that we need to receive. So first we create a GitHub App . To create an app in your organization, go to you organization settings and select GitHub apps. On the app creation page you only need to fill in the name, homepage, and uncheck the webhook. We will activate the webhook once we know our endpoint.
+
+
+
+
+
+
+
+
+
Next hit create app, you will be redirected to the app overview page. Make a note of the following generated id’s, and generate the ssh private key on the bottom of this page.
+
App ID: 12345
+Client ID: Iv1.abcd1234
+Client secret: some-secret
+
Lambda artifacts
+
Before we can actually deploy the infrastructure we need to build or download the lambda functions. You can clone the module repo and use the script in .ci/build.sh
to build the 3 lambda zip files. But the easier option is just to download the release artifacts from the repo. We even provide a small utility module to download the artifacts.
+
Create a new workspace (directory) and add the following terraform code.
+
module "github-runner_download-lambda" {
+ source = "philips-labs/github-runner/aws//modules/download-lambda"
+ version = "0.1.0"
+}
+
+ lambdas = [
+ {
+ name = "webhook"
+ tag = "v0.1.0"
+ } ,
+ {
+ name = "runners"
+ tag = "v0.1.0"
+ } ,
+ {
+ name = "runner-binaries-syncer"
+ tag = "v0.1.0"
+ }
+ ]
+}
+
Next run terraform init && terraform apply
the lambda artifacts will be download to your local machine.
+
Deploy the action runners
+
Now we will create all required AWS resources and deploy the lambda functions. Besides this module, we also need a vpc as well. We have a VPC with a public terraform AWS VPC module, you can use your own VPC as well. Create a new workspace and the code below to the main.tf
.
+
provider "aws" {
+ region = local.aws_region
+ version = "2.61"
+}
+
+locals {
+ environment = "blog"
+ aws_region = "eu-west-1"
+}
+
+module "vpc" {
+ source = "terraform-aws-modules/vpc/aws"
+ version = "2.33"
+
+ name = "vpc-blog"
+ cidr = "10.0.0.0/16"
+
+ azs = [ "eu-west-1a" , "eu-west-1b" , "eu-west-1c" ]
+ private_subnets = [ "10.1.0.0/24" , "10.0.2.0/24" , "10.0.3.0/24" ]
+ public_subnets = [ "10.1.001.0/24" , "10.1.002.0/24" , "10.1.003.0/24" ]
+
+ enable_nat_gateway = true
+ single_nat_gateway = true
+ enable_s3_endpoint = true
+}
+
You can already run and apply the terraform code, once we have finished with the setup. We can now add the GitHub action runner module. Events sent to the webhook will be signed with a secret, therefore we generate a password with Terraform random provider . Ensure you set the variables for the lambda zip to the download lambda artifacts, and also add the id’s, keys and base64 encoded secret for the GitHub app to the configuration.
+
resource "random_password" "random" {
+ length = 32
+}
+
+module "runners" {
+ source = "philips-labs/github-runner/aws"
+ version = "0.1.0"
+
+ aws_region = local.aws_region
+ vpc_id = module.vpc.vpc_id
+ subnet_ids = module.vpc.private_subnets
+ environment = local.environment
+
+ github_app = {
+ key_base64 = ""
+ id = ""
+ client_id = ""
+ client_secret = ""
+ webhook_secret = random_password.random.result
+ }
+
+ webhook_lambda_zip = "lambdas-download/webhook.zip"
+ runner_binaries_syncer_lambda_zip = "lambdas-download/runner-binaries-syncer.zip"
+ runners_lambda_zip = "lambdas-download/runners.zip"
+ enable_organization_runners = false
+}
+
+output "lambda_syncer_name" {
+ value = module.runners.binaries_syncer.lambda.function_name
+}
+
+output "webhook" {
+ value = {
+ secret = random_password.random.result
+ endpoint = module.runners.webhook.endpoint
+ }
+}
+
Save your configuration and run terraform init
and terraform apply
. Once Terraform is finished we will trigger the lambda function for the syncing the distribution one time manually to ensure our cache is filled.
+
aws lambda invoke --function-name \
+ $( terraform output -json lambda_syncer | jq -r ) respone.json
+
+The module we released for creating the infrastructure supports IAM permissions boundaries for those who have to run on shared AWS environments. For more details checkout the example .
+
+
+
Go back to your GitHub app and activate the webhook, and provide the endpoint and secret. Don’t forget to save the changes . Now you can subscribe for events. Go to the section permissions and events , grant permission on repo as follow, check your terraform output for the values. (terraform output -json webhook
):
+
+Administration (read, write) - required to register runner.
+Repository permissions Checks (read) - required to get check run events
+
+
Scroll all the way to the bottom and check the box to subscribe to the check event.
+
+
+
+
+
+
+
+
+
+Note: for org level runners you need to grant the administration permission on org level instead of repo level.
+
+
Putting all together
+
We are almost done; next we configure the self-hosted runner for a test repo. First we create a test repo in GitHub . In case you are using a runner and GitHub cannot find any runner that could run the workflow the build will directly fail. Since the scalable runners only create a runner once an event is received and remove the runners after an idle time, there are no candidate runners registered by default. For the time being we have a work around: register a runner for the repo (or org) which we will never use, and start that runner. The registered runner will prevent the workflow from failing. Be aware that this runner will be removed by GitHub after 30 days. To add this runner, go to your repo settings (or org settings), select actions and choose “Add runner”. Run the provided instruction for your OS and give it a descriptive name such as “dummy”. In case you provided the terraform module extra labels, provide them here as well.
+
+
+
+
+
+
+
+
+
THe final step is to install the GitHub app we have created. Go to your app settings and select install, now you can choose how to install the app. To only receive relevant events we choose to be repo specific and install the app to our test repo.
+
+
+
+
+
+
+
+
+
That’s it, time to test. First create a simple action workflow in an empty directory.
+
mkdir -p .github/workflows
+cat << EOF > .github/workflows/verify.yml
+name: verify
+on: [push]
+
+jobs:
+ cowsay:
+ runs-on: self-hosted
+ container: npalm/cowsay
+
+ steps:
+ - uses: actions/checkout@v2
+ - run: cowsay -f ghostbusters " Who ya gonna call?"
+EOF
+
Initialize your current directory as GitHub repo and push all the content to GitHub.
+
git init
+git remote add origin git@github.com:< YOUR_REPO>
+git add --all .github
+git commit -m "Test runners" .
+git push origin master
+
After 30 seconds you should see your new spot instance starting in AWS.
+
+
+
+
+
+
+
+
+
A bit later, the runner should be registered to your GitHub repo.
+
+
+
+
+
+
+
+
+
And once registered it should only be a matter of seconds before the build starts.
+
+
+
+
+
+
+
+
+
Every 5 minutes the scale down lambda is executed, and if you not running any job you should see the runner is terminated.
+
+
+
+
+
+
+
+
+
In case you build runners are not starting or registering. The best you can do is follow the trace. In the GitHub app on there is an advanced settings page where you can see the events sent to the webhook. When the event is not accepted double check the endpoint and secret. Next you can check the logs for the webhook and scale up lambda in cloud watch. Finally you can inspect the EC2 user data logging. Access via SSM (MP: should this be ssh?) is by default enabled. Just select connect to the instance and inspect the log /var/log/user_data.log
.
+
Final thoughts
+
The abilities of GitHub self-hosted runners are already quite neat. But creating the setup as discussed requires some hacks and shortcuts. First of all it would be much easier once GitHub delivers the orchestration component, which will reduce the whole setup to only managing a bit of cloud resources. For example having runners on a Kubernetes cluster including scaling can make it a lot easier to use.
+
By delivery an API for actions GitHub gives you the option to build your own setup, the fact that we always need to have a runner registered is quite an hack. Also, the way for scaling down will not win a beauty contest but is necessary because the API does not provide an option to verify whether a runner is still active. Furthermore, the cache of the distribution is bit of a hack to work around some crazy slow downloads that we had experienced.
+
But given all those hacks we are still quite happy with this setup. Until GitHub releases the components need to orchestrate the life cycle of an action runner, we will happily use this setup.
+
Acknowledgements
+
The module discussed in this article was developed together with Gertjan Maas .
\ No newline at end of file
diff --git a/2021/12/15/run-debug-lambda-local/index.html b/2021/12/15/run-debug-lambda-local/index.html
new file mode 100644
index 00000000..db95cd8f
--- /dev/null
+++ b/2021/12/15/run-debug-lambda-local/index.html
@@ -0,0 +1,618 @@
+Run and debug an AWS Lambda locally | 040code This site runs best with JavaScript enabled. Run and debug an AWS Lambda locally Testing in the real world by: niek on 2021-12-15 This post explains how to run and debug AWS Lambda’s locally without mocking and using the same permissions as running in the cloud.
+
+
+ Source code for this post
+
Contents
+
+
The problem
+
Imagine you are building an AWS serverless function. As a good developer you have designed and written your code with paradigms like clean code and TDD. Your code is clean, maintainable and well (unit) tested. But the moment you deploy your function to the cloud, it does not work as you have expected. Would it not be great if you can locally run, debug and iterate fast. And when deploying to the cloud be 100% certain that your lambda will work smooth?
+
So what is the problem? The real world is not so nicely isolated as your test environment for unit testing. There are no mocks or stubs. The environment could be different. The function is invoked differently. And IAM permissions are applied once running in the cloud. Of course, this is the difference mostly between a unit test and integration test environment.
+
Time to find out how close can we get to behavior in the real world, aka cloud while running as much locally.
+
+
For this post we use the following tools.
+
+
A simple Lambda
+
Let’s first build a simple Lambda. We use TypeScript as language for the Lambda which requires a Node runtime environment for execution. This add an extra step between writing the code and running, we need to compile the TypeScript code to JavaScript.
+
We write a simple program that sends a message to a SQS queue, Amazon’s Simple Queue Service. Actually it does not matter which AWS services we use. We only need integration points to the cloud, so we are also depending on the cloud services for local excution. For simplicity we limit ourselves to only one.
+
Our tiny program will read the SQS queue url and a message from the environment. If no message is set the famous string hello world!
will be send to the queue.
+
import { SendMessageCommand, SQSClient } from "@aws-sdk/client-sqs" ;
+import { Context, ScheduledEvent } from "aws-Lambda" ;
+
+const client = new SQSClient ( { } ) ;
+
+export async function handler (
+ event: ScheduledEvent,
+ context: Context
+) : Promise < void > {
+
+ try {
+
+ const queueUrl = getEnvVariable ( "QUEUE_URL" ) ;
+ const message = getEnvVariable ( "MESSAGE" , "Hello World!" ) ;
+
+ const command = new SendMessageCommand ( {
+ QueueUrl: queueUrl,
+ MessageBody: message,
+ } ) ;
+ const response = await client. send ( command) ;
+ console . info ( ` Message sent with message id ${ response. MessageId} ` ) ;
+ } catch ( e) {
+ console . error ( e) ;
+ }
+ }
+}
+
Writing a unit test is straightforward by mocking the AWS SDK v3 SQSClient with aws-sdk-client-mock
+ . That part will test the logic.
+
import { handler } from './lambda' ;
+import { mockClient } from 'aws-sdk-client-mock' ;
+import { SendMessageCommand, SQSClient } from '@aws-sdk/client-sqs' ;
+import { event, context } from './test-data' ;
+
+const mock = mockClient ( SQSClient) ;
+
+describe ( 'Test lambda.' , ( ) => {
+
+ it ( 'Should sent message.' , async ( ) => {
+ mock. on ( SendMessageCommand) . resolves ( {
+ MessageId: '' ,
+ } ) ;
+ process. env. QUEUE_URL = 'https://somequeue.url/123' ;
+ process. env. MESSAGE = 'test' ;
+ await expect ( handler ( event, context) ) . resolves;
+ } ) ;
+} ) ;
+
While, mocking is a great way to check the logic, it does not guarantee that an actual deployment in the cloud will work. For testing the lambda working with a realistic scenario, connected to dependent services, integration testing is a common practice. But integration testing is not always speeding up the development flow. Sometimes we need an easy way, to check quickly the code changes. For this reason we explore running a test locally, so we can easily adapt changes and connect to a debugger.
+
Required cloud resources
+
The Lambda function above requires in terms of AWS the following resources.
+
+A Lambda function , this we will not create since we focus on running locally.
+A SQS queue , the queue to which we publish message. Since the goal is to run the Lambda as realistic as possible, without any mocking, we need an actual SQS queue.
+An execution role , this is the role that defines which resources the Lambda can access. The Lambda needs to send messages to SQS. We also going to use this role locally.
+
+
Today we have dozen of ways to create cloud resources, manually via the web console, AWS CloudFormation , Terraform , AWS CDK , Pulumi , Serverless Framework , e.g. Here we will use Terraform which is an IaC eco-system with no extra tooling to streamline Serverless development. When developing only a serverless application the SAM Framework, CDK or the Serverless Framework may seem a more logical choice. But using Terraform shows us how we can mix and match if we cannot chose every component.
+
Time to create the cloud resources with Terraform. This setup assumes you have an admin role. Clone the repo and cd in the Terraform directory to create the resources.
+
Expand for Terraform resources
+First we create the role, we add an extra principal to allow you to switch to the role used by the Lambda.
+
+locals {
+ namespace = "blog"
+}
+
+resource "aws_sqs_queue" "test" {
+ name = "$ { local . namespace } -test"
+}
+
+resource "aws_iam_role" "Lambda" {
+ name = "$ { local . namespace } -test"
+ assume_role_policy = data.aws_iam_policy_document.assume.json
+}
+
+data "aws_caller_identity" "current" { }
+
+data "aws_iam_policy_document" "assume" {
+ statement {
+ actions = [ "sts:AssumeRole" ]
+
+ principals {
+ type = "Service"
+ identifiers = [ "Lambda.amazonaws.com" ]
+ }
+
+
+ principals {
+ type = "AWS"
+ identifiers = [ "arn:aws:iam::$ { data . aws_caller_identity . current. account_id} :root" ]
+ }
+ }
+}
+Next, we create a policy that grant the Lambda the required access to AWS resources, in this example the SQS queue.
+
+resource "aws_iam_role_policy" "sqs" {
+ name = "runner-ssm-session"
+ role = aws_iam_role.Lambda.name
+ policy = data.aws_iam_policy_document.sqs.json
+}
+
+data "aws_iam_policy_document" "sqs" {
+ statement {
+ actions = [
+ "sqs:SendMessage" ,
+ "sqs:GetQueueAttributes"
+ ]
+
+ resources = [
+ aws_sqs_queue.test.arn,
+ ]
+ }
+}
+
+Finally we print the outputs required later.
+
+output "test" {
+ value = {
+ queue_url = aws_sqs_queue.test.url
+ Lambda_role = aws_iam_role.Lambda.arn
+ }
+}
+
+
Ensure you are logged in to AWS and have the correct profile active, now run:
+
terraform init
+terraform apply
+
Your output should look like this:
+
Apply complete! Resources: 3 added, 0 changed, 0 destroyed.
+
+Outputs:
+
+test = {
+ "lambda_role" = "arn:aws:iam::<ACCOUNT_ID>:role/test/blog-test"
+ "queue_url" = "https://sqs.eu-west-1.amazonaws.com/<ACCOUNT_ID>/blog-test"
+}
+
The last step of the cloud setup is to configure your AWS profile in <user_home>/.aws/config
. This profile make it easy to assume (switch) the role we have created to execute the Lambda.
+
[profile admin-role]
+role_arn=<....>
+region = eu-west-1
+
+[profile blog-test]
+source_profile=admin-role
+region=eu-west-1
+role_arn=arn:aws:iam::<ACCOUNT_ID>:role/test/blog-test
+
As alternative of setting up a role you can invoke the STS services to obtain credentials for the Lambda execution role.
+
role = $( aws sts assume-role --role-arn "$role_arn " \
+ --duration-seconds 3600 --role-session-name "test" )
+
+export AWS_ACCESS_KEY_ID = $( echo $temp_role | jq -r .Credentials.AccessKeyId)
+export AWS_SECRET_ACCESS_KEY = $( echo $temp_role | jq -r .Credentials.SecretAccessKey)
+export AWS_SESSION_TOKEN = $( echo $temp_role | jq -r .Credentials.SessionToken)
+
By now you should have created a SQS queue and a role for Lambda in your AWS account. There is no Lambda deployed at all. You can test your setup with the AWS CLI.
+
+aws sqs send-message --queue-url < QUEUE_URL> --message-body "Test" --blog-test
+
+
+aws sqs receive-message --queue-url < QUEUE_URL> --profile blog-test
+
+
+aws sqs receive-message --queue-url < QUEUE_URL> --profile admin-role
+
+
+aws sqs purge-queue --queue-url < QUEUE_URL> --profile admin-role
+
Enough said about creating infra and testing, remember we just showed a way to create the cloud resources with IaC. Feel free to use your own preferred (or required) framework.
+
Testing locally
+
For running the Lambda locally, we explore several options. Let’s first list them briefly. The list will not be complete but should include the most logical options.
+
+
+Using NodeJS: Running the Lambda locally in NodeJs, for example using a watcher like nodemon. Invoking the Lambda needs to be faked by calling the handler function.
+
+
+Using SAM: Run the Lambda function using AWS Serverless Application Model (SAM). The function will run via SAM and we can just pass an event to the function, similar to running in the cloud.
+
+
+Using Serverless Framework: Like AWS SAM, the Serverless framework simplifies the process of building Serverless applications, including Lambda. The framework also provides an option to run the function locally.
+
+
+
NodeJs
+
We try to keep as close to the NodeJS ecosystem. To run the Lambda locally we will start a small wrapper program via a nodemon watcher to invoke the Lambda on every single code change. Or just start the program after each change without a watcher.
+
Generate the sample event with SAM. Note that the sample event does not match the TypeScript definition of the event, the version property was missing.
+
sam local generate-event cloudwatch scheduled-event
+
Next we write a small wrapper, check the source code for the full details.
+
import { Context, ScheduledEvent } from "aws-Lambda" ;
+import { handler } from "./Lambda" ;
+
+const event: ScheduledEvent = {
+ ...
+} ;
+
+const context: Context = {
+ ...
+} ;
+
+handler ( event, context)
+ . then ( )
+ . catch ( ( e) => {
+ console . error ( e) ;
+ } ) ;
+
+
This wrapper we can use to directly start in VSCode via a launcher , check the config here . This will make debugging your code trivial.
+
+
+
+
+
+
+
+
+
Another option would be using nodemon in a watch mode and re-run after every change, run yarn watch:local
. Ensure you have set the correct AWS profile in the terminal before you run the yarn command.
+
Serverless framework
+
The Serverless Framework let you develop and deploy serverless stacks to various clouds. Here we only quickly explore if we can use the framework to invoke the function locally.
+
The framework requires you define your function in a serverless.yml
. Below we define the test function in a serverless manifest.
+
+provider:
+ name: aws
+ runtime: nodejs14.x
+ LambdaHashingVersion: 20201221
+
+functions:
+ BlogTest:
+ handler: dist/index.handler
+
Before we invoke the function ensure you have not set the environment variable AWS_PROFILE
. And run yarn run build
to generate the JavaScript dist bundle.
+
sls invoke local --function BlogTest -e QUEUE_URL = < QUEUE_URL> \
+ --region < REGION> --profile blog-test
+
+
+
+
+
+
+
+
+
We leave it by here, and not cover integration in VSCode, and or attaching debuggers.
+
AWS SAM
+
The last option we explore is AWS SAM, the framework provided by AWS for building serverless applications. Amazon provides a VScode plugin, AWS toolkit as plugin to easy integrate SAM into VSCode.
+
For SAM applications needs to be defined in a manifest file named template.yml
. Below a minimal version of the SAM manifest required to run our Lambda function.
+
Resources :
+ BlogTest :
+ Type : AWS: : Serverless: : Function
+ Properties :
+ Runtime : nodejs14.x
+ Architectures :
+ - x86_64
+ Handler : dist/index.handler
+ MemorySize : 128
+ Timeout : 200
+ Environment :
+ Variables :
+ QUEUE_URL:
+
We can simply invoke the Lambda via a CLI command. Before invoking SAM, ensure you have build the sources, yarn run build
. And set the profile for AWS, export AWS_PROFILE=blog-test
.
+
+
The log output should look very familiar to the one you know from CLoudWatch.
+
+
+
+
+
+
+
+
+
Another option is to start the Lambda and use the AWS CLI to invoke SAM.
+
+
Open a second terminal and use the AWS CLI and invoke the Lambda, since our Lambda does not require any input we do not provide an event.
+
aws Lambda invoke --function-name "BlogTest" \
+ --endpoint-url "http://127.0.0.1:3001" --no-verify-ssl out.txt
+
This all works, but it requires first building sources. And attaching a debugger would require most likely several Google searches to find the right way to configure your IDE. But there is an easier option, for which you do not have to take care of compiling code. And you can easily attach a debugger in VSCode. The AWS Toolkit helps you create a launch configuration, see the AWS detailed instruction here . We added the following launch configuration . The sample below was generated with the AWS Toolkit, ensure you update the ref to the LambdaHandler, set the credentials and environment variables.
+
{
+"configurations" : [
+ {
+ "type" : "aws-sam" ,
+ "request" : "direct-invoke" ,
+ "name" : "Lambda-local-test:src/Lambda.handler (nodejs14.x)" ,
+ "invokeTarget" : {
+ "target" : "code" ,
+ "projectRoot" : "${workspaceFolder}/" ,
+ "LambdaHandler" : "src/Lambda.handler"
+ } ,
+ "Lambda" : {
+ "runtime" : "nodejs14.x" ,
+ "payload" : { } ,
+ "environmentVariables" : {
+ "QUEUE_URL" : "<QUEUE_URL>"
+ }
+ } ,
+ "aws" : {
+ "credentials" : "profile:blog-test"
+ }
+ }
+}
+
Now we can start a debugging session via VSCode. Almost similar to the option for Node but without a wrapper. Drawback is the boot time is a bit slower. SAM is building the sources, and starting a Docker container to before the function is invoked.
+
+
+
+
+
+
+
+
+
Conclusion
+
We have explored several options for running and debugging an AWS Lambda in a local developer environment. I can recommend AWS Toolkit for VSCode with SAM. It lets you easily test and debug the Lambda locally. If you really want to bring speed to your development, you could consider a tiny wrapper and avoid the heavy lifting of the AWS Toolkit. In case you are all in with AWS SAM or the Serverless Framework I would stick to that framework.
Read next:
\ No newline at end of file
diff --git a/2022/12/02/oidc-part-1/index.html b/2022/12/02/oidc-part-1/index.html
new file mode 100644
index 00000000..a578aa57
--- /dev/null
+++ b/2022/12/02/oidc-part-1/index.html
@@ -0,0 +1,383 @@
+Are you still using keys? | 040code This site runs best with JavaScript enabled. Are you still using keys? Practical guide to deploy with GitHub Actions and Terraform to AWS. by: niek on 2022-12-02 This blog post is the first in a series of two in to explain how you can deploy keyless with GitHub Actions to AWS. This first part covers the basics of setting up OIDC integration between GitHub Actions and AWS. In the second more advanced practices are explained, such as deploying using GitHub Action shareable workflows with custom OIDC claims. This blog is practical and shows how to use OIDC with GitHub Actions to deploy to AWS. The same patterns apply to deploy to other OIDC enabled clouds like Google or Azure.
+
+
+ Source code for this post
+
Deploy keyless with GitHub Actinns
+
Are you still using secrets to deploy from GitHub Actions to your cloud provider? Do you still define secrets in your workflow jobs and rotate them regularly? Do you know there is no need anymore to define secrets to connect to common cloud providers? You can avoid the need of using secrets when deploying with GitHub Actions to a provider supporting OpenID Connect (OIDC). New to OIDC, watch the talk “OAauth 2.0 and OpenID Connect in plain English” .
+
With OIDC you define a trust relation between GitHub Actions end your cloud, in our case AWS. You define a trusted relationship between your AWS account and the OIDC provider of GitHub Actions. And then define conditions under what circumstances an AWS IAM role can be assumed. New to assuming a role in AWS, watch this two minute tutorial .
+
Once the integration is set up, your workflows can obtain a short-lived token. This token is allowed to assume a role to access resources in AWS, based on the policies defined for the role. This post provides you with a practical guide on how to set up the required infrastructure resources with IaC, and shows a simple example to validate the setup.
+
Setup OIDC for GitHub Actions and AWS
+
GitHub provides detailed documentation for authenticating Actions to AWS that nicely describes all the required steps. It is highly recommended to read the article on GitHub to get a deep understanding. Since we love to automate everything we are not setting up the required resources manually. Instead we use Terraform to automate the creation of the resources.
+
The example in this blog is using the repository 040code/blog-oidc-github-actions-aws , you find a full example here . You can run the example by cloning or forking the repository and run the Terraform code by setting the variable repo
to your repository, e.g owner/repo
.
+
OIDC Provider
+
The first step is to define the OIDC provider. To define the OIDC provider we need to look-up the thumbprint for the GitHub Actions SSL certificate. The AWS web console can do this for you. The Terraform TLS provider has a data source that can do the look-up for us. Once we know the thumbprint, defining the OIDC provider is straightforward.
+
data "tls_certificate" "github_actions" {
+ url = "https://token.actions.githubusercontent.com"
+}
+
+resource "aws_iam_openid_connect_provider" "github_actions" {
+ url = "https://token.actions.githubusercontent.com"
+ client_id_list = [ "sts.amazonaws.com" ]
+ thumbprint_list = data.tls_certificate.github_actions.certificates.*.sha1_fingerprint
+}
+
Now run terrafrom apply
as a result the OIDC provider for GitHub is created in your AWS account, this is a global resource you only have to create it once per AWS account.
+
Next, define a role and trust relationship, this trust defines from which repository and under what condition the role can be assumed.
+
resource "aws_iam_role" "github_actions" {
+ name = "blog"
+ path = "/github-actions/"
+ assume_role_policy = data.aws_iam_policy_document.github_actions_trusted_identity.json
+}
+
+data "aws_iam_policy_document" "github_actions_trusted_identity" {
+ statement {
+ actions = [ "sts:AssumeRoleWithWebIdentity" ]
+ principals {
+ type = "Federated"
+ identifiers = [ aws_iam_openid_connect_provider.github_actions.arn]
+ }
+
+ condition {
+ test = "ForAllValues:StringEquals"
+ variable = "token.actions.githubusercontent.com:aud"
+ values = [
+ "sts.amazonaws.com" ,
+ "https://token.actions.githubusercontent.com"
+ ]
+ }
+
+ condition {
+ test = "StringLike"
+ variable = "token.actions.githubusercontent.com:sub"
+ values = [ "repo:040code/blog-oidc-part-1:ref:refs/heads/main*" ]
+ }
+ }
+}
+
It is important that you take care defining the trust relation. One mistake, and you could open your AWS account to any repository on GitHub.
+
Assuming the role is allowed when all conditions are met. In general conditions are combined in a logical and
and values in the test with a logical or
. Ensure you are familiar with IAM conditions .
+
+
+
+
+
+
+
+
+
In the example above the iss
, aud
and sub
attributes are checked in the policy. The first two are straightforward. Checking the sub
requires care. When you accept any value in sub
or even don’t check the field. You will allow anyone access to your AWS role via GitHub Actions. And likely you don’t want to open our AWS account to the whole universe!
+
For example, the condition below allows any Action running in the repository 040code/blog-oidc-github-actions-aws
from any ref (branch / tag) to perform the assume role operation and access the resources granted via this role.
+
condition {
+ test = "StringLike"
+ variable = "token.actions.githubusercontent.com:sub"
+ values = [ "repo:040code/blog-oidc-github-actions-aws*" ]
+}
+
By adding a condition like the one below, you can deny any pull request to assume the role. Similar checks can be done or allow or deny the ref, or context.
+
condition {
+ test = "StringNotLike"
+ variable = "token.actions.githubusercontent.com:sub"
+ values = [ "repo:040code/blog-oidc-part-1::pull_request" ]
+}
+
It should be clear, that you need to take care of defining the conditions for which you define the trust. In part 2 you can read more about advanced subjects checks by customizing the sub
field of the JWT token.
+
The final step is to allow access to some resources via the created role. This blog post only shows the pattern by example. Remember that it is good practice to write policies with the least privileged access needed. For simplicity we have created a quite coarse-grained role for the blog. Time to define the required Terraform resources.
+
+An S3 bucket (no policies, no encryption in this example)
+A policy that grants the role created before access to the bucket.
+
+
resource "aws_s3_bucket" "blog" {
+ bucket = "040code-blog-oidc-github-actions-aws"
+
+resource "aws_iam_role_policy" "s3" {
+ name = "s3-policy"
+ role = aws_iam_role.github_actions.name
+ policy = data.aws_iam_policy_document.s3.json
+}
+
+data "aws_iam_policy_document" "s3" {
+ statement {
+ actions = [
+ "s3:ListBucket" ,
+ "s3:GetObject" ,
+ "s3:PutOjbect"
+ ]
+
+ resources = [
+ aws_s3_bucket.blog.arn, "$ { aws_s3_bucket. blog. arn} *"
+ ]
+ }
+}
+
For convenience add the following outputs to your terraform script. Those are handy when you create the workflow later. To apply this configuration, just run terraform apply
+
+output "role" {
+ value = aws_iam_role.github_actions.arn
+}
+
+output "bucket" {
+ value = aws_s3_bucket.blog.name
+}
+
✨ Test locally ✨
+
The role created can only be assumed via GitHub Actions, sometimes it is convenient to test from your own environment. This can be done by adding the following statement to the trust condition. After applying you can assume the role locally. Replace your the user_id
by your user id ARN.
+
statement {
+ actions = [ "sts:AssumeRole" ]
+ principals {
+ type = "AWS"
+ identifiers = [ "arn:aws:iam::<aws_account_id>:user/<user_id>" ]
+ }
+}
+
Deploy without keys
+
Time to show this setup works, up to here no GitHub repository was needed. To test the setup, create a GitHub repository. Which can be a private or public one in any org or user space; it really does not matter. The easiest way is just to fork the example repository. Once you have created the repository, create a secret to hide you AWS Account ID. In this post we use a secret named AWS_ACCOUNT_ID
. The ID should not be a secret but at least you make it one small step harder for an attacker.
+
Earlier you have defined the OIDC provider in your AWS account, this provider is used to provider AWS keys based on the JWT token provided by the GitHub OIDC provider. AWS provides an action: aws-actions/configure-aws-credentials
to obtain an AWS STS token via OIDC. This action makes the whole process of obtaining short-lived secrets painless; you only need to add the action to your workflow and configure the role to assume. All secret handling is done by the action.
+
The workflow below brings it all together. The workflow shows how you can access an S3 bucket from GitHub Actions without configuring a secret.
+
name : S3
+on :
+ workflow_dispatch :
+ push :
+
+jobs :
+ deploy :
+ permissions :
+ id-token : write
+ runs-on : ubuntu- latest
+ steps :
+ - uses : actions/setup- node@v3
+ with :
+ node-version : 16
+
+ - name : configure aws credentials
+ uses : aws- actions/configure- aws- credentials@v1- node16
+ with :
+ role-to-assume : arn: aws: iam: : ${ { secrets.AWS_ACCOUNT_ID } } : role/github- actions/blog
+ role-session-name : gh- actions
+ aws-region : eu- west- 1
+
+ - name : deploy
+ run : |
+ npx cowsay -f ghostbusters "Running ${{ github.workflow }}" > message.txt
+ aws s3 cp message.txt s3://${{ github.repository_owner }}-${{ github.event.repository.name }}/${{ github.run_id }}.txt
+ rm message.txt
+
+ - name : check
+ run : |
+ aws s3 cp s3://${{ github.repository_owner }}-${{ github.event.repository.name }}/${{ github.run_id }}.txt result.txt
+ cat result.txt
+
+
Once you have pushed the workflow to your repository, a GitHub Action job starts running. The result shows some ascii art.
+
+
+
+
+
+
+
+
+
That was all, no keys needed anymore, no key rotation required. Time to stop using keys and start using OIDC. In part 2 we discuss a more advanced use-case in which you can use OIDC to deploy with a shared workflow.
Read next:
\ No newline at end of file
diff --git a/2022/12/02/oidc-part-2/index.html b/2022/12/02/oidc-part-2/index.html
new file mode 100644
index 00000000..280e2692
--- /dev/null
+++ b/2022/12/02/oidc-part-2/index.html
@@ -0,0 +1,357 @@
+Are you still using keys? | 040code This site runs best with JavaScript enabled. Are you still using keys? Deploy with GitHub Action using shared workflows to AWS by: niek on 2022-12-03 This second post explains more advanced practices of deploying keyless with GitHub Actions to AWS. In the first post explains the basics of deploying to AWS with GitHub Actions using OIDC. In this second post you learn how to debug the OIDC claim, and how to allow shared workflows to deploy resources to AWS.
+
+
+ Source code for this post
+
The problem
+
In the first post we have seen that deploying with GitHub Action and OIDC to Amazon is straightforward. Defining a trust condition for the repository allows you to safely deploy without using keys. What if we want to do some more generic deployments. For example we want to deploy files from several repositories to a single S3 bucket, where each repository has its own path to deploy files. A use-case here is deploying Backstage techdocs to S3. Another use-case is publishing docker images from several repositories to Amazon ECR.
+
You can replicate the setup for each repository by duplicating the workflow and updating the IAM policy. This pattern is hard to maintain, and in most cases creates a central bottleneck. Each team having a repository is getting blocked by a central team that needs to update IAM permission. This last part could be automated, but let’s explore what our other alternatives are.
+
With GitHub Action you have the option to create a shared workflow in your organisation, this shared workflow can take care of those common deployments. Using shared workflows removes duplication of your workflows, but not the complexity of maintaining IAM policies to allow access via OIDC to AWS. Let’s see how to simplify this.
+
The solutions
+
The problem that we need to solve is: how can we allow the caller of the workflow to assume a role in AWS. And can we check what the caller is allowed to with a dynamic policy based on the repository name? Before exploring the options, we have a closer look at the information in the claim. You can check the GitHub OIDC configuration here . Another option to understand the claim; is debugging the OIDC claim running in an Action. Add the following workflow to debug the OIDC claim to your repository.
+
name : Debug OIDC
+on :
+ workflow_dispatch :
+
+jobs :
+ oidc_debug :
+ permissions :
+ id-token : write
+ runs-on : ubuntu- latest
+ name : A test of the oidc debugger
+ steps :
+ - name : Debug OIDC Claims
+ uses : github/actions- oidc- debugger@main
+ with :
+ audience : 'https://github.com/github'
+
This workflow uses the GitHub Action to debug OIDC. Run the workflow and check the log for the details in the claim.
+
{
+ "actor" : "npalm" ,
+ "aud" : "https://github.com/040code" ,
+ "base_ref" : "" ,
+ "event_name" : "workflow_dispatch" ,
+ "job_workflow_ref" : "040code/blog-oidc-github-actions-aws/.github/workflows/debug-oidc.yml@refs/heads/main" ,
+ "ref" : "refs/heads/main" ,
+ "ref_type" : "branch" ,
+ "repository" : "040code/blog-oidc-github-actions-aws" ,
+ "repository_owner" : "040code" ,
+ "repository_visibility" : "public" ,
+ "sha" : "369522825551840e804852c0c529d819479c910e" ,
+ "sub" : "repo:040code/blog-oidc-github-actions-aws:ref:refs/heads/main" ,
+ "workflow" : "Debug OIDC" ,
+ ...
+}
+
This looks promising, the claim contains an attribute repository
. It would be nice if we can use this in AWS to dynamically check if the workflow caller has access to a location in the bucket that matches the repository name. Or publish an ECR container matching the repository name to the registry name. But this is not possible because AWS does not support those custom fields, but instead only allows a limited set of keys . Circumventing this by writing dynamic policies is also not allowed. So unfortunately we cannot use the OIDC field repository
to check if a role is allowed to invoke the operation.
+
Amazon does support setting principal details via session tags . A claim would look like this:
+
{
+ "sub" : "repo:040code/blog-oidc-github-actions-aws:ref:refs/heads/main" ,
+ "workflow" : "Debug OIDC"
+ "https://aws.amazon.com/tags" : {
+ "principal_tags" : {
+ "Repository" : [ "040code/blog-oidc-github-actions-aws" ] ,
+ "Actor" : [ "npalm" ] ,
+ "Workflow" : [ "Debug OIDC" ]
+ ...
+ }
+ }
+}
+
Now we can check the principal in IAM dynamic with the dynamic field ${aws:PrincipalTag/Repository}
and match it against a path in the bucket or registry name in ECR. But this requires that GitHub sets this information in the JWT token, which is currently not the case. This means that also this second option is a no go. Hopefully support will be added soon, follow this issue to track the status.
+
Only one option is left at the moment. GitHub allows you to change the default subject (sub
) and set any of the available custom fields, or combinations. We can set for example the workflow reference in the subject field. By adding the workflow reference to the subject, we can define a trust relation for the shared workflow. And allow the shared workflow to run the cloud deploy. Checking or enforcing the caller in accessing the correct path in the bucket has to be done in the workflow. Doing the check in the IAM policy is of course preferably. The other problem is that a subject claim needs to be altered for any repository calling the shared workflow, which increases the complexity. The subject claim can be set on repo or org level, doing this on org level can cause unwanted and unexpected side-effects in case the repository uses OIDC for other connections.
+
Altering the subject claim
+
Time to work out an example. We create a shared workflow that syncs files to a location in a S3 bucket based on the repository name. The first step is to update the subject field in the OIDC claim with the workflow reference. This is required to define a trust based on our shared workflow. The only way to change the fields is via the REST API . The GitHub cli seems not to support this PUT
operation, we have to fall back to invoke the REST API directly. Below an example of the REST calls, set the GITHUB_REPOSITORY
to org/repo
and the GITHUB_REPOSITORY
to a GitHub access token.
+
Retrieve the current configuration:
+
curl -X GET \
+ -H 'Accept: application/vnd.github+json' \
+ -H 'Authorization: Bearer $GITHUB_TOKEN' \
+ https://api.github.com/repos/$GITHUB_REPOSITORY /actions/oidc/customization/sub
+
Customise the claim to add the workflow reference.
+
curl -X PUT \
+ -H 'Accept: application/vnd.github+json' \
+ -H 'Authorization: Bearer $GITHUB_TOKEN' \
+ https://api.github.com/repos/$GITHUB_REPOSITORY /actions/oidc/customization/sub -d \
+ '{"use_default":false,"include_claim_keys":["repo","context","job_workflow_ref"]}'
+
Retrieve the new configuration by running the GET command again, you should get a response like.
+
{
+ "use_default" : false ,
+ "include_claim_keys" : [
+ "repo" ,
+ "context" ,
+ "job_workflow_ref"
+ ]
+}
+
The setup above can also be provided via a shareable workflow, see here an example . The workflow can be called from a caller repository to customise the OIDC claim.
+
For setting up the OIDC provider on the cloud, we use almost the same Terraform configuration as in part 1. In case you have used the setup in part 1, ensure you remove the setup by running terraform destroy
. Next you run the setup for part 2.
+
We add an extra condition to the AWS IAM policy for assuming the role. This condition is allowing the shared workflow to assume the deployment role. Any repository that can call the shared workflow, can deploy to AWS using this workflow. But since we lock down the workflow the caller cannot assume the role directly. Ensure the inputs you inject are safe, and cannot cause unwanted access to your cloud account.
+
For the repository we only check it matches one of the repositories in our Org. Update the conditions to fit your needs.
+
condition {
+ test = "StringLike"
+ variable = "token.actions.githubusercontent.com:sub"
+ values = [ "repo:my-org/*:job_workflow_ref:my-org/my-repo/.github/workflows/s3-template.yml@refs/head/main" ]
+}
+
When replaying the blog example, you can simply run the Terraform code provided here and set the variables for the repository
and the workflow
.
+
To deploy files per repository to a central bucket we create a shared workflow. The shared workflow is running in a separate job, so we cannot use any build output directly. Therefore we store our generated file in a temporary artifact. Remember for this blog the workflow is not hardened, no extra checks are done!
+
name : Template deploy S3 (part 2)
+on :
+ workflow_call :
+ inputs :
+ artifact :
+ required : true
+ type : string
+ default : dist
+
+jobs :
+ s3 :
+ runs-on : ubuntu- latest
+ permissions :
+ id-token : write
+ steps :
+ - name : Download math result for job 1
+ uses : actions/download- artifact@v3
+ with :
+ name : ${ { inputs.artifact } }
+ path : tmp
+
+ - name : configure aws credentials
+ uses : aws- actions/configure- aws- credentials@v1- node16
+ with :
+ role-to-assume : arn: aws: iam: : ${ { secrets.AWS_ACCOUNT_ID } } : role/github- actions/blog
+ role-session-name : gh- actions
+ aws-region : eu- west- 1
+
+ - name : deploy
+ run : |
+ aws s3 sync --no-progress --delete tmp s3://${{ github.repository_owner }}-${{ github.event.repository.name }}/${{ github.repository }}/
+
+
The final step is creating a workflow that calls the shared workflow to deploy. The workflow below is generating some data, stores it as an artifact, and calls the shared workflow. The shared workflow can then deploy the generated artifact to S3. The shared workflow is allowed to assume the role because you have updated the claim on the calling repository before.
+
name : Blog example S3 (part 2)
+on :
+ workflow_dispatch :
+ push :
+
+jobs :
+ generate :
+ runs-on : ubuntu- latest
+ steps :
+ - uses : actions/setup- node@v3
+ with :
+ node-version : 16
+
+ - name : Generate dist
+ run : |
+ mkdir dist
+ npx cowsay -f ghostbusters "Running ${{ github.workflow }}" > message.txt
+
+ - name : Upload dist
+ uses : actions/upload- artifact@v3
+ with :
+ name : dist
+ retention-days : 1
+ path : |
+ message.txt
+
+ deploy :
+ needs : generate
+ permissions :
+ id-token : write
+ uses : ./.github/workflows/s3- template.yml
+ secrets : inherit
+ with :
+ artifact : dist
+
+
That was all, next run you workflow by pushing or manually triggering.
+
+
+
+
+
+
+
+
+
Final thoughts
+
We have explored how we can run deployments with GitHub Actions to AWS using shared workflows. There is currently not a good way to check the caller dynamic to match permissions in AWS. With the customised OIDC claim we can deploy using shared workflows, but it still requires the caller to alter the subject claim. And we need to run checks in the shared workflow instead of using IAM policies when we want to avoid a maintenance burden on our IAM policies. It would be great when AWS and GitHub could work out a way to support session tags to check the principal.
Read next:
\ No newline at end of file
diff --git a/2023/01/06/github-event-aws-eventbridge/index.html b/2023/01/06/github-event-aws-eventbridge/index.html
new file mode 100644
index 00000000..f213f632
--- /dev/null
+++ b/2023/01/06/github-event-aws-eventbridge/index.html
@@ -0,0 +1,873 @@
+Micro Hack | 040code This site runs best with JavaScript enabled. Micro Hack Hands-on guide to deliver GitHub events to AWS EventBridge by: niek on 2023-01-06 In this post, we explore (POC) how we can deliver GitHub evens to the AWS EventBridge and deliver the events to different targets.
+
+
+ Source code for this post
+
The context
+
With the growing usage of GitHub as well as scaling more self-hosted runners we found a strong need to act more on events sent by GitHub. For the Self-Hosted runners we already receiving GitHub events via a webhook. The events are processed by the control plane for scaling the runners. As you can see in the image below events are directly passed from a Lambda to the SQS queue, which makes it hard to use the same event for another independent task.
+
+
+
+
+
+
+
+
+
With this runner’s solution, we already had the need to process the workflow job evens for monitoring purposes. For example, to calculate the time a job is started after the first event is created, e.g. the job was queued. We introduced a secondary queue to deliver events for analytics. A simple hack but it does immediately not feel right.
+
+
+
+
+
+
+
+
+
The webhook provided by the runner solution is tailored to only accept workflow_job
events, but we are interested in more events. There are numerous events in which we are interested. Examples are triggering a compliance process when a repository is created, triggering an alarm if even an admin makes a repository public, gather analytics for the lead time of a pull request. Even when we don’t combine a solution, the current solution is not flexible enough to process all kinds of different events with different needs.
+
What’s the experiment
+
Since GitHub and AWS Cloud are a given, we looking for a better solution to handle the events. And avoiding creating a new webhook, or app for every event we are interested in. We are looking for an event-driven solution to process GitHub events . We distinguish two main use cases. A hot stream of events to act on directly, and a cold stream for analytics. AWS typically provides you the building blocks, allowing you to compose the solution in several ways. Let’s quickly explore our options:
+
+Simple Notification Service (SNS) : A lightweight serverless option. A producer (webhook) publishes messages on a topic and subscribers can receive notification via an HTTP/HTTPS endpoint, email, Kinesis, SQS, Lambda, and SMS. With a filter, a subset of messages can be received.
+EventBridge : A lightweight serverless option. A producer can (webhook) can publishes messages on the bus. With rules messages can be delivered to targets. Example targets are Lambda, API endpoints, SQS, SNS, Redshift, and many more. The EventBridge also provides an option to redeliver events based on a message Archive.
+Kinesis : A serverless option for handling continuous streams of data in real-time. Kinesis is based or inspired by Kafka, AWS native, and opinionated.
+Managed Kafka (MSK) : A server-based option to handle continuous data streams. Kafka is highly configurable and will support most of the use-cases but also is more expensive and requires more knowledge to manage.
+
+
We are looking for a Serverless approach since we have in general not a constant or equally distributed load. And we have a strong preference for a SaaS-managed service instead to have to manage our own services. With these requirements, the AWS EventBridge seems a logical candidate to investigate.
+
+
+
+
+
+
+
+
+
The AWS EventBridge allows you to publish from several sources messages. Based on rules messages can be transformed and routed to several targets such as SQS, SNS, Lambda, RedShift, Firehose Data Steam, API endpoint, and many more.
+
In this POC we quickly explore how hard it is to set up an integration between GitHub and the AWS EventBridge to capture events and deliver the to different targets. For the experiment, we limit ourselves to the following targets.
+
+CloudWatch LogGroup: can we get the integration working?
+Lambda: Can we trigger custom business logic based on events?
+Firehose Data Stream: Can we build a Data lake in S3?
+
+
+
+
+
+
+
+
+
+
As the final step, we will re-play the events sent earlier.
+
+⚠️ Code and Terraform examples are not optimized or hardened ⚠️
+
+
Let’s do it!
+
Deliver GitHub events to CloudWatch LogGroup
+
As mentioned we use Terraform as IaC framework. The first resource we need is the event bus . To be able to replay messages later, we create an event archive as well.
+
locals {
+ aws_region = "eu-west-1"
+ prefix = "blog"
+}
+
+resource "aws_cloudwatch_event_bus" "messenger" {
+ name = "$ { local . prefix } -messages"
+}
+
+resource "aws_cloudwatch_event_archive" "messenger" {
+ name = "$ { local . prefix } -events-archive"
+ event_source_arn = aws_cloudwatch_event_bus.messenger.arn
+}
+
The next question is, how can we deliver events from GitHub to the EventBridge? In GitHub, you can define an App with a webhook and subscribe to events. Events will be delivered to the webhook signed with a secret. Be aware that only events for repositories are sent when the app is installed in that repository. An easier alternative is to create a webhook on the enterprise, organization, or repository level.
+
Now we know how we can send events, we need a way to receive them in AWS and put them on the EventBridge. AWS recently announced a quick start to deliver GitHub events to the EventBridge.
+
+
+
+
+
+
+
+
+
The AWS quick start creates a Lambda function with an endpoint that you can configure in GitHub as a webhook. The Lambda checks the signature before delivering the messages to the Event Bus. Amazon provides a CloudFormation template that deploys a webhook to receive GitHub events and publish them on the bus. This setup through the web console is straightforward. It is not clear how the Lambda function code is maintained. Also, there seems not a way to lock the version of the code, the only way to do this is to maintain the code and CloudFormation template yourself. The provided Lambda does not provide any debug logging or configuration option in case you would change the source. GitHub also does not guarantee a max message size, and the AWS EventBridge only allows messages smaller than 256KB. When you would handle large messages differently, Lambda provides no option. Amazon suggests in those cases to download the Lambda from the console and maintaining it yourself. You can also fetch the Lambda zip from S3.
+
aws s3 cp s3://eventbridge-inbound-webhook-templates-prod-eu-west-1/lambda-templates/github-lambdasrc.zip) .
+
Since we already build a webhook to capture the GitHub events, stripping this function down and delivering the messages to the event bus is fairly simple. For now, we build our own function to keep more control. Giving us the option to take action on messages we cannot accept or add more logging. Later we can still decide to move to the AWS route. A webhook to handle the event in TypeScript looks as below, check the full sources on GitHub .
+
+export async function handle ( headers: IncomingHttpHeaders, body: string ) : Promise < Response> {
+ const { eventBusName, eventSource } = readEnvironmentVariables ( ) ;
+
+ const githubEvent = headers[ 'x-github-event' ] as string || 'github-event-lambda' ;
+ let response: Response = {
+ statusCode: await verifySignature ( githubEvent, headers, body) ,
+ } ;
+ if ( response. statusCode != 200 ) return response;
+
+
+
+ const client = new EventBridgeClient ( { region: process. env. AWS_REGION } ) ;
+ const command = new PutEventsCommand ( {
+ Entries: [ {
+ EventBusName: eventBusName,
+ Source: eventSource,
+ DetailType: githubEvent,
+ Detail: body,
+ } ]
+ } ) ;
+
+ try {
+ await client. send ( command) ;
+ } catch ( e) {
+ logger. error ( ` Failed to send event to EventBridge ` , e) ;
+ response. statusCode = 500 ;
+ }
+
+ return response;
+}
+
Next, we deploy the function with a function endpoint, keep in mind this endpoint is open to the world. The signature check validates the message. Creating a Lambda with a function url requires Terraform resources as described below. See here the full example.
+
+resource "aws_lambda_function_url" "webhook" {
+ function_name = aws_lambda_function.webhook.function_name
+
+ authorization_type = "NONE"
+}
+
+resource "aws_lambda_function" "webhook" {
+ filename = local.lambda_zip
+ source_code_hash = filebase64sha256(local.lambda_zip)
+ function_name = "$ { var . prefix } -github-webhook"
+ role = aws_iam_role.webhook_lambda.arn
+ handler = "index.githubWebhook"
+ runtime = "nodejs18.x"
+
+ environment {
+ variables = {
+ EVENT_BUS_NAME = var.event_bus.name
+ EVENT_SOURCE = "github.com"
+ PARAMETER_GITHUB_APP_WEBHOOK_SECRET = "SOME_BETTER_SECRET"
+ }
+ }
+}
+
+
+
+
After creating the Terraform resources we can test the webhook. A simple way to test events is by creating a test issue and ensuring your App or webhook is subscribed to events on issues. For the App, you can check the status of events in the advanced section of the App settings. You can redeliver the event here as well, quite handy for testing!
+
+
+
+
+
+
+
+
+
After creating an Issue we should see in AWS that our Lambda is triggered. On the Eventbridge, we can’t see the event. The next step is to deliver the event to a target. The first target we define for the test is a CooudWatch Log Group. Just for testing purposes.
+
Before events can be delivered to a target, an event rule needs to be created. For now, we forward all events from GitHub to the rule.
+
+resource "aws_cloudwatch_event_rule" "all" {
+ name = "$ { local . prefix } -github-events-all"
+ description = "Caputure all GitHub events"
+ event_bus_name = aws_cloudwatch_event_bus.messenger.name
+ event_pattern = <<EOF
+{
+ "source": [{
+ "prefix": "github"
+ }]
+}
+EOF
+}
+
+
To an event rule, a target can be connected. Check the AWS developer documentation for the options. We limit ourselves to a few targets. First, we create the target log group.
+
resource "aws_cloudwatch_log_group" "all" {
+ name = "/aws/events/$ { local . prefix } /messenger"
+ retention_in_days = 7
+}
+
We define a small Terraform module to define the target rule.
+
module "event_rule_target_log_group" {
+ source = "./event_rule_target_log_group"
+
+ target = {
+ arn = aws_cloudwatch_log_group.all.arn
+ name = "/aws/events/$ { local . prefix } /messenger"
+ }
+ event_bus_name = aws_cloudwatch_event_bus.messenger.name
+ event_rule = {
+ arn = aws_cloudwatch_event_rule.all.arn
+ name = aws_cloudwatch_event_rule.all.name
+ }
+}
+
The module we declared creates an event rule target to a log group and ensures the right IAM permissions are set. A similar pattern we apply later for Lambda and Firehose as targets of an event rule.
+
resource "aws_cloudwatch_event_target" "main" {
+ rule = var.event_rule.name
+ arn = var.target.arn
+ event_bus_name = var.event_bus_name
+}
+
+data "aws_iam_policy_document" "main" {
+ statement {
+ actions = [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents",
+ ]
+
+ resources = [
+ "${var.target.arn}:*"
+ ]
+
+ principals {
+ identifiers = ["events.amazonaws.com", "delivery.logs.amazonaws.com"]
+ type = "Service"
+ }
+
+ condition {
+ test = "ArnEquals"
+ values = [var.event_rule.arn]
+ variable = "aws:SourceArn"
+ }
+ }
+}
+
+resource "aws_cloudwatch_log_resource_policy" "main" {
+ policy_document = data.aws_iam_policy_document.main.json
+ policy_name = replace(var.target.name, "/", "-")
+}
+
Time to trigger another event. As a result a log message in CloudWatch should appear.
+
+
+
+
+
+
+
+
+
Trigger a Lambda
+
Let’s check if we can do some more interesting things. Like sending a message to a Lambda. For that, we need a simple function. We keep it very simple and only echo the message. But you can imagine that you can replace this with any business logic required.
+
export async function handle ( event: Schema) : Promise < void > {
+ logger. info ( "Handling event: " + JSON . stringify ( event) ) ;
+}
+
Details for the echo Lambda function are implemented in a module, similar to the webhook discussed earlier. This means we only have to add the modules to our main.tf
. The module echo
is implementing the Lambda function and declares the required Terraform resources. The second module, event_rule_target_lambda
is similar to the one we created fom the log group before. But now tailored to a Lambda target.
+
+module "echo" {
+ source = "./echo"
+
+ prefix = local.prefix
+}
+
+module "event_rule_target_lambda" {
+ source = "./event_rule_target_lambda"
+
+ target = {
+ arn = module.echo.lambda.arn
+ name = module.echo.lambda.function_name
+ }
+ event_bus_name = aws_cloudwatch_event_bus.messenger.name
+ event_rule = {
+ arn = aws_cloudwatch_event_rule.all.arn
+ name = aws_cloudwatch_event_rule.all.name
+ }
+}
+
When you trigger a new event or update the issue created before. The Lambda will be invoked and in the logging of the lambda, the event is printed. Not very useful, but remember we only check the pattern here.
+
+
+
+
+
+
+
+
+
Build a Data Lake in S3
+
The last target we checking now is Firehose delivery stream. With the Firehose stream, we deliver the message to S3 to mimic a Data Lake. With the following Terraform resources, you create a Firehose delivery stream to S3, configuration is standard. This means that data is cached till 5MB is received or 300 seconds are passed.
+
resource "random_uuid" "firehose_stream" {}
+
+resource "aws_s3_bucket" "firehose_stream" {
+ bucket = "${local.prefix}-${random_uuid.firehose_stream.result}"
+ force_destroy = true
+}
+
+resource "aws_s3_bucket_acl" "firehose_stream" {
+ bucket = aws_s3_bucket.firehose_stream.id
+ acl = "private"
+}
+
+data "aws_iam_policy_document" "firehose_assume_role_policy" {
+ statement {
+ actions = ["sts:AssumeRole"]
+
+ principals {
+ type = "Service"
+ identifiers = ["firehose.amazonaws.com"]
+ }
+ }
+}
+
+resource "aws_iam_role" "firehose_role" {
+ name = "${local.prefix}-firehose-role"
+ assume_role_policy = data.aws_iam_policy_document.firehose_assume_role_policy.json
+}
+
+resource "aws_iam_role_policy" "firehose_s3" {
+ name = "${local.prefix}-s3"
+ role = aws_iam_role.firehose_role.name
+ policy = templatefile("${path.module}/policies/firehose-s3.json", {
+ s3_bucket_arn = aws_s3_bucket.firehose_stream.arn
+ })
+}
+
+resource "aws_kinesis_firehose_delivery_stream" "extended_s3_stream" {
+ name = "${local.prefix}-stream"
+ destination = "extended_s3"
+
+ extended_s3_configuration {
+ role_arn = aws_iam_role.firehose_role.arn
+ bucket_arn = aws_s3_bucket.firehose_stream.arn
+ }
+}
+
+
And like before we have created module to connect the Firehose as the target to the event rule.
+
module "event_rule_target_firehose_s3_stream" {
+ source = "./event_rule_target_firehose_s3_stream"
+
+ target = {
+ arn = aws_kinesis_firehose_delivery_stream.extended_s3_stream.arn
+ name = aws_kinesis_firehose_delivery_stream.extended_s3_stream.name
+ }
+ event_bus_name = aws_cloudwatch_event_bus.messenger.name
+ event_rule = {
+ arn = aws_cloudwatch_event_rule.all.arn
+ name = aws_cloudwatch_event_rule.all.name
+ }
+}
+
And to test our Data Lake we have to trigger some events again. After 5 five minutes you should see the first objects appearing in the S3 bucket.
+
+
+
+
+
+
+
+
+
Replay
+
The final question we would like to answer is, can we replay messages. We already have created a message archive. A replay can be initiated via the web console or CLI. In the web console navigate to the EventBus and select Replay. Next set the time windows and source for which you replay messages. After starting the job you should see messages appearing again on the targets.
+
+
+
+
+
+
+
+
+
Conclusion
+
Delivering messages from GitHub to AWS is straightforward with the AWS Eventbridge. As mentioned have some doubts to use the Amazon integration with GitHub today. Since it is not clear how to code is managed. And when not using Terraform you have to extract the webhook code from the CloudFormation template or Lambda. But on the other hand, this is nothing keeping us back. You should make your own judgment here. At this moment we will most likely build an maintain our own Lambda to ensure we can deal properly with cases when the messages exceed the maximum size of 256KB supported by the EventBridge.
+
Messages delivered to the EventBridge are forwarded to targets based on rules. In a rule, you specify matching criteria. This can be coarse-grained like we did. We matched the event only based on the source. When there is no EventRule that matches a message, the message ends up in /dev/null
and you will get no notification that you missed something. This is not a problem, but should be considered and is more or less the opposite of SNS where you get all the messages unless you filter.
+
Looking at our current hacky approach, the way we delegate events for monitoring purposes to a second SQS queue, a move to AWS EventBridge seems much more flexible. And avoid tailoring the code. With a move to the AWS EventBridge, our solution could transform as follow.
+
+
+
+
+
+
+
+
+
The EventBridge is priced roughly with 1$ per 1 million messages published calculated in blocks of 64KB. Today we handle roughly 1 million messages a month for only the workflow_job
event. When we start listening for many events this will likely double a few times. Besides that, you have to think about the costs of running the Lambda to handle the events. And finally, you will make costs to process the events.
+
Rate limits and quotas should also be considered. The EventBridge quotas for PutEvents
per region vary from 10.000 per second to 400 per second. The messages posted on the EventBirdge should not exceed 256KB, similar to SQS and SNS. It seems many events in GitHub are relatively small, but for example, the push
event can be big in case many branches and tags are pushed at once. When you start writing Lamba’s to handle events that require GitHub API calls, you should also think about the GitHub API rate limits . Using a personal access token (bad idea) you have a limit of 5000 API calls per hour. For a GitHub App this can be up to 15.000 per hour.
+
The AWS EventBridge seems to be a good option to start building a solution to handle GitHub events for building a Data lake as well as acting directly on events. In case you keep your architecture nicely lost coupled you can always move to the Ferrari, Kafka, for Eventing.
Read next:
\ No newline at end of file
diff --git a/2023/01/12/just-in-time/index.html b/2023/01/12/just-in-time/index.html
new file mode 100644
index 00000000..45752972
--- /dev/null
+++ b/2023/01/12/just-in-time/index.html
@@ -0,0 +1,796 @@
+Just In Time | 040code This site runs best with JavaScript enabled. Just In Time IssueOps to promote and demote GitHub Org Admins by: niek on 2023-01-12 We trust you have received the usual lecture from the local System
+Administrator. It usually boils down to these three things:
+ #1) Respect the privacy of others.
+ #2) Think before you type.
+ #3) With great power comes great responsibility.
+
Maybe you remember this warning, the warning was shown to a user when using the sudo
command to run tasks as administrator on Unix/Linux. As a GitHub Org admin, you do not explicitly switch with sudo
to an admin view, you are admin all the time and to each action, so you should keep the sudo
warning in mind. In this blog, we explore how we can become just-in-time admin, like using sudo
on Linux.
+
The problem
+
Are you an admin for a GitHub Org? Then you likely use the same user that you use for day-to-day work, like developing code, creating pull requests, reviewing pull requests, and more. When you perform a task for changing privileged settings you have to authenticate yourself like when you do a sudo
operation.
+
+
+
+
+
+
+
+
+
But how do you then differentiate between the access you have as a normal user because you are a member of a team or collaborator on a repository, and the full access you are granted as administrator? The answer is; there is no easy way to see the difference.
+
Checkout detailed examples
+For example, when non-admin team members work on the code, normal rules are in place based on the branch protection and access level to the repository. But what are the rules for you as an admin? And should the rules not be the same as for the rest of the team when you are just working on the code?
+
Or when you contribute to the repository from another team, which is shared as InnerSource, the process and possibilities for a non-admin Org member are clear, and mistakes cannot be made as a member. Depending on how InnerSource is enabled, a user has to create a fork or branch, and create a pull request for the change. However, as an Org admin you can do anything on that repository because there are no safeguards for you. To act properly, you should check the settings and guides for what the expected way of working is. Are you checking this every single time?
+
+
Because your user is always admininistrator, you can always do anything in your Org. You can see any repository, make any change, operate on any pull request, push commits to any repository, and much more. For most of those operations no explict authentication like sudo is required. Only when you change settings with high impact an extra authenticaton is triggered. And normal members in the Org can only act on repositories to which they are explicit granted acces.
+
Just in Time Admin with IssueOps
+
A solution for the problem is using two users. One user you use as admin, and the second as a normal member. Besides the costs of an extra license, a mistake can be made still easily. And with the standard SSO including MFA having two users is in many organizations not trivial. Simply because you are logged in with the wrong user. Another way of solving the problem is becoming just-in-time (JIT) admin, similar to sudo
.
+
At the moment of writing GitHub does not provide an option to become just-in-time admin. The GitHub Service team open-sourced an action and JavaScript CLI which automate the promoting and demoting of normal Org members to admin based on the JIT principle.
+
+
+What is IssueOps? IssueOps is automating the process around GitHub Issues with GitHub Action. With optional approvals before automation kicks in.
+
+
+
We are going to use this action to automate “just-in-time” promotion to Org admins with IssueOps. The action will execute highly privileged operations on our GitHub Org and thus it requires adminstration
permissions for your Org. We will be very careful to who we provide the token because malicious actions could misuse the token. When trusting third-party actions it is strongly recommended that you lock the action on the Git SHA . Locking the action to the exact version is just the first step in hardening. Think also about checking the source code, libraries used, and what you run. For many JavaScript actions, you simply don’t know if the generated runtime bundle is matching the sources. The topic of securing your software supply chain is a topic on itself and we not cover in detail in this post.
+
Fork
+
To ensure we keep our admin token safe we take a copy of the repository, check the code and ensure we generate the execution bundle ourselves. We fork the admin action repository and make a few modifications. It is up to you if you fork or copy the repository. But make sure you always check the license. In this case, the license is MIT which means no limitations in usages or rules to contribute back.
+
The readme of the admin-support-issueops-actions
repository is a good guide for setting up the automation, including directions on how to extend it. Creating your own extensions is great, but we believe those should be contributed back as open source. Because it is much better to use each other’s power than build the same in our closed environments over and over again.
+
Read how we setup the fork to secure the action.
+Besides the advice given in the repository, we think it is good practice to leave our upstream as untouched as possible, this ensures we can keep it aligned with upstream changes. As already addressed, we want to guarantee that our runtime matches our sources. There a many ways to safeguard this. We choose a simple two-step approach. First, extend the standard CI workflow for pull request builds and add a [step](https://github.com/040code/admin-support-issueops-actions/blob/d37694f3d0293442ae89034ad3b5e320e0722b02/.github/workflows/ci.yml#L35-L49) to check the distribution is up-to-date, and if not update the branch of the PR.
+
- name : Update dist
+ env :
+ GH_TOKEN : ${ { secrets.GITHUB_TOKEN } }
+ run : |
+ gh pr checkout ${{ github.event.pull_request.number }}
+ git config --global user.name "action-bot"
+ git config --global user.email "action-bot@040code.github.io"
+ DIFF=$(git diff-index HEAD dist/)
+ if [ "$DIFF" ]
+ then
+ git commit -m "chore: Update action dist" dist/index.js
+ git push
+ else
+ echo "Distribution is up-to-date."
+ fi
+Second, add a release workflow based on please-release . This release workflow creates a branch and PR for the next release. By providing a token on behalf of an App instead of the default GitHub Action token we ensure builds on the created release PR are triggered. The App has read/write access to the contents and pull request of the repository. Later in the post, we cover App creation as well.
+name : Release
+on :
+ push :
+ branches :
+ - main
+
+jobs :
+ release :
+ runs-on : ubuntu- latest
+ steps :
+ - uses : philips- software/app- token- action@v1.1.2
+ id : token
+ with :
+ app_id : ${ { secrets.APP_ID } }
+ app_base64_private_key : ${ { secrets.APP_PRIVATE_KEY_BASE64 } }
+ auth_type : installation
+
+ - name : Release
+ uses : google- github- actions/release- please- action@v3
+ with :
+ release-type : simple
+ token : ${ { steps.token.outputs.token } }
+We have now safeguarded that for our releases the runtime matches the sources. For each upcoming release, the release action is maintaining a PR. On this PR the standard CI is triggered, with our extension which checks for updates to the runtime, and if needed applies those updates. When the PR has been merged, a release is created with an up-to-date distribution.
+
+
+
+
+
+
+
+
+This are all the changes to our fork. As said, we try to keep the sources as close as possible to the upstream. Now we can implement the promotion and demotion in a second repository using this action.
+
+
+
+
+
+
+
+
+
+
+
The admin support action implements a simple promotion/demotion process. Key in the process is that only members have access to the repository for admin request issues. This means the repository has to be ⚠️ private ⚠️. The diagram illustrates the process of demotion and demotion.
+
+
+
+
+
+
+
+
+
+
A member of the Org that has access to the admin’s repository creates an issue to request admin add access. Next, an action starts and handles the issue to promote the user. The issue is kept open as long the user is busy with his or her admin task. Once the admin task is finished the user closes the issue. The closure of the issue will start the demotion workflow to demote the user back to a normal member. As a fallback, scheduled workflow ensures that after a time-out the user is always demoted back to a standard member. The user can set the time-out in the issue which should be between 1 and 8 hours.
+
Action setup
+
Now we have discussed the working of the action it is time to set up the actual workflows. First, we need to create a repository to handle the issues for requesting admin promotion. Remember this repository must be private and you should only grant access to members in your Org who are allowed to become an admin. Create a new repository, for example via the GitHub CLI:
+
gh repo create my-org/admins --private
+
We have already discussed the process for promotion and demotion. This process requires three different workflows:
+
+Promotion workflow that acts on issue creation
+Demotion workflow that acts on issue closure
+Timeout check to ensure a user is demoted after a maximum duration that acts on a schedule (cron).
+
+
+
PAT vs App token
+
The admin support action suggests using a PAT (personal access token). We prefer to use an App token instead of the PAT. It avoids user accounts that are required to run automation. With the old PAT, the scope of the token was far too wide, with the new PAT, a token can be limited in the same way as an App token. A second issue of the PAT is the rate limit, although that may not be a problem for this use case but could be in general a challenge. Finally, it saves you a license seat. The action can run with an App token but the template workflows require a few modifications.
+
+
Create the Admin support App
+
As discussed we will use an App token for authorization against the GitHub API. Go to your Org developer’s settings and create a GitHub App . Set the following settings for the new App:
+
+Disable the webhook
+Repository permissions: contents read/write
+Organization permissions: Administration read/write
, Members read/write
+
+
Save your App, download the SSH key of the App, and make a note of the App id. The last step is to install the App to the created repository to manage admins. This grants the App access to the repository.
+
+
Repository configuration
+
The admin support action requires a configuration file config.yml
in the root of the repository. We set up the admin promotion/demotion for a single Org. If needed you can set up the action for multiple Orgs. Add a similar file like below to your admin’s repository.
+
org : 040code
+repository : admins
+supportedOrgs :
+ - 040code
+reportPath : reports
+
The automation we are going to run requires labels on the repository. The example workflows are using the actions-ecosystem/action-add-labels action. This action is not well maintained, therefore we replace the label created by simple gh
CLI commands. Drawback: we have to create the labels first. You can create the labels with this simple script.
+
for l in "automation-running" , "user-promoted" , "promotion-error" , "user-demoted" , "manual-demotion" , "automatic-demotion"
+do
+ gh label create $l
+done
+
Finally, the workflow needs to get a token for the created GitHub App. This requires you to define the following two secrets. First add the id of the App as APP_ID
. Next, add the base64 encoded string of the private ssh key as APP_PRIVATE_KEY_BASE64
. You can convert the ssh key to a base encoded string by running cat key-file.pem | base64 | pbcopy.
.
+
+
Issue template
+
We are going to promote and demote users with IssueOps which requires that we can automatically process the issue with Actions. To help the user to create an issue in a predictable format we use an issue template. Note that issue templates are not supported in private repositories for Orgs on the free plan. Create the directory .github/ISSUE_TEMPLATE
and add create an issue template yaml file.
+
---
+name : Request administrator permission in the organization
+about : Allows the support team to request temporary admin permission in an organization
+title : Request administrator permission
+labels : ''
+assignees : ''
+---
+
+Organization : my- org
+Description :
+Duration : 2
+Ticket : 0
+
As you can see several fields are required. You can use the setup for multiple organizations, for now, we use it for one Org. The Duration can be set to max eight hours but we will set the default to two hours. The tickets are meant to refer to an external ticket system and because we use GitHub issues we can ignore this field.
+
+
+
The promotion workflow is triggered once an issue is created. After parsing the issue the workflow promotes the user to admin. This and the following workflows are using third-party action based on version. Be aware that a version is mutable; it is strongly recommended to lock your actions on SHA instead of a tag.
+
name : Promotion workflow
+on :
+ issues :
+ types : [ opened]
+
+jobs :
+ promote-workflow :
+ name : Promote @${ { github.event.issue.user.login } } to admin
+ runs-on : ubuntu- latest
+ permissions :
+ issues : write
+ contents : read
+ env :
+ GH_TOKEN : ${ { github.token } }
+
+ steps :
+ - uses : actions/checkout@v3
+ - uses : philips- software/app- token- action@v1.1.2
+ id : token
+ with :
+ app_id : ${ { secrets.APP_ID } }
+ app_base64_private_key : ${ { secrets.APP_PRIVATE_KEY_BASE64 } }
+ auth_type : installation
+
+ - name : Add label automation- running
+ if : always()
+ run : gh issue edit - - add- label automation- running ${ { github.event.issue.number } }
+
+ - name : Checkout repository
+ uses : actions/checkout@v3
+
+ - name : Parse the issue submitted
+ id : issue_parser
+ uses : 040code/admin- support- issueops- actions/admin- support- cli@v1.0.0
+ with :
+ action : "parse_issue"
+ issue_number : ${ { github.event.issue.number } }
+ ticket : ${ { github.event.issue.number } }
+
+ - name : Parse issue parser output
+ id : parse_issue_output
+ run : |
+ target_org=$(echo ${{toJSON(steps.issue_parser.outputs.output)}} | jq -r .target_org)
+ echo "target_org=$target_org" >> $GITHUB_OUTPUT
+
+ - name : Grant admin access
+ id : grant_admin
+ uses : 040code/admin- support- issueops- actions/admin- support- cli@v1.0.0
+ with :
+ action : "promote_demote"
+ username : ${ { github.event.issue.user.login } }
+ target_org : ${ { steps.parse_issue_output.outputs.target_org } }
+ role : "admin"
+ admin_token : ${ { steps.token.outputs.token } }
+
+ - name : Add a comment on the issue
+ uses : actions/github- script@v6
+ if : success()
+ with :
+ github-token : ${ { secrets.GITHUB_TOKEN } }
+ script : |
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `✅ We have executed the request and now the user **@${{github.event.issue.user.login}}** is an admin on ${{steps.parse_issue_output.outputs.target_org}}. When you finish the operations required by the support ticket, close this issue to demote your permissions.
+
+ <sub>
+ Find details of the automation <a href="https: //github.com/${ context.repo.owner} /${ context.repo.repo} /actions/runs/${ { github.run_id} } "> here</a> .
+ </sub>
+ `
+ } )
+
+ - name : Add label user- promoted
+ if : success()
+ run : gh issue edit - - add- label user- promoted ${ { github.event.issue.number } }
+
+ - name : Add label promotion- error
+ if : failure()
+ run : gh issue edit - - add- label promotion- error ${ { github.event.issue.number } }
+
+ - name : Close issue if the promotion fails
+ uses : actions/github- script@v6
+ if : failure()
+ with :
+ github-token : ${ { secrets.GITHUB_TOKEN } }
+ script : |
+ github.rest.issues.update({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ state: 'closed'
+ })
+ github.rest.issues.lock({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo
+ })
+
+ - name : Remove label automation- running
+ if : always()
+ run : gh issue edit - - remove- label automation- running ${ { github.event.issue.number } }
+
The workflow should be easy to read, but lets discuss the most interesting details. Since we are using an App for executing API calls to promote users, we first need to obtain a token for the App. We use an action that can get a token for an app [#1]. For all API calls that don’t need the admin token, we use the repo-level secret injected by GitHub Actions, aka GITHUB_TOKEN
. After parsing the issue and setting labels the user is granted access, here we use the token from the App [#3]. Once the user is promoted, a comment is made on the issue to inform the user.
+
We can already test our promotion. Create an issue based on the template. You should shortly see that the issue is updated like below.
+`
+
+
+
+
+
+
+
+
+
+
Demotion
+
Now we can promote the user, the next step is to dethrone the user and revoke the admin privileges. The second workflow acts on closing the issue.
+
name : Demote a user
+on :
+ issues :
+ types : [ closed]
+
+jobs :
+ demote-workflow :
+ name : Demoting a user for closing an issue
+ runs-on : ubuntu- latest
+ permissions :
+ issues : write
+ contents : write
+ env :
+ GH_TOKEN : ${ { github.token } }
+ DEMOTION_ERROR_NOTIFY : "@npalm"
+
+ steps :
+ - name : Checkout repository
+ uses : actions/checkout@v3
+
+ - uses : philips- software/app- token- action@v1.1.2
+ id : token
+ with :
+ app_id : ${ { secrets.APP_ID } }
+ app_base64_private_key : ${ { secrets.APP_PRIVATE_KEY_BASE64 } }
+ auth_type : installation
+
+ - name : Add label automation- running
+ if : always()
+ run : gh issue edit - - add- label automation- running ${ { github.event.issue.number } }
+
+ - name : Parse the issue submitted
+ id : issue_parser
+ uses : 040code/admin- support- issueops- actions/admin- support- cli@v1.0.0
+ with :
+ action : "parse_issue"
+ issue_number : ${ { github.event.issue.number } }
+ ticket : ${ { github.event.issue.number } }
+
+ - name : Parse issue_parser json output
+ id : parse_issue_output
+ run : |
+ target_org=$(echo ${{toJSON(steps.issue_parser.outputs.output)}} | jq -r .target_org)
+ description=$(echo ${{toJSON(steps.issue_parser.outputs.output)}} | jq -r .description)
+ duration=$(echo ${{toJSON(steps.issue_parser.outputs.output)}} | jq -r .duration)
+ echo "target_org=$target_org" >> $GITHUB_OUTPUT
+ echo "description=$description" >> $GITHUB_OUTPUT
+ echo "duration=$duration" >> $GITHUB_OUTPUT
+
+ - name : Demote user
+ id : demote_admin
+ uses : 040code/admin- support- issueops- actions/admin- support- cli@v1.0.0
+ continue-on-error : true
+ with :
+ action : "promote_demote"
+ username : ${ { github.event.issue.user.login } }
+ target_org : ${ { steps.parse_issue_output.outputs.target_org } }
+ role : "member"
+ admin_token : ${ { steps.token.outputs.token } }
+
+ - name : Add a comment on the issue to confirm the demotion
+ uses : actions/github- script@v6
+ if : success()
+ with :
+ github-token : ${ { secrets.GITHUB_TOKEN} }
+ script : |
+ await github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `✅ We have executed the request and now the user **@${{github.event.issue.user.login}}** has been demoted from ${{steps.parse_issue_output.outputs.target_org}}. \n\n This issue will be locked to avoid new interactions
+
+ <sub>
+ Find details of the automation <a href="https: //github.com/${ context.repo.owner} /${ context.repo.repo} /actions/runs/${ { github.run_id} } "> here</a> .
+ </sub>
+ `
+ } )
+ await github.rest.issues.lock({
+ issue_number : context.issue.number,
+ owner : context.repo.owner,
+ repo : context.repo.repo
+ } )
+
+ - name : Add a comment to notify the team that this automation failed
+ uses : actions/github- script@v6
+ if : failure()
+ with :
+ github-token : ${ { secrets.GITHUB_TOKEN} }
+ script : |
+ await github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: `Demoting the user has failed. ${{env.DEMOTION_ERROR_NOTIFY}} have a look to make sure the user is left in a correct state.
+
+ <sub>
+ Find details of the automation <a href="https: //github.com/${ context.repo.owner} /${ context.repo.repo} /actions/runs/${ { github.run_id} } "> here</a> .
+ </sub>
+ `
+ } )
+
+ - name : Add labels user- demoted, manual- demotion
+ if : ${ { success() && github.event.sender.login == github.event.issue.user.login } }
+ run : |
+ gh issue edit --add-label user-demoted ${{ github.event.issue.number }}
+ gh issue edit --add-label manual-demotion ${{ github.event.issue.number }}
+
+ - name : Add labels user- demoted, manual- demotion
+ if : ${ { success() && github.event.sender.login != github.event.issue.user.login } }
+ run : |
+ gh issue edit --add-label user-demoted ${{ github.event.issue.number }}
+ gh issue edit --add-label automatic-demotion ${{ github.event.issue.number }}
+
+ - name : Remove label user- promoted
+ if : success()
+ run : gh issue edit - - remove- label user- promoted ${ { github.event.issue.number } }
+
+ - name : Remove label automation- running
+ if : always()
+ run : gh issue edit - - remove- label automation- running ${ { github.event.issue.number } }
+
The demotion workflow is similar to the promotion workflow, but in reverse. After getting a token and parsing the issue, the user is reverted back to normal Org member. Again a comment to the issue is made to inform the user. In case of any failure, a comment is made to trigger a notification to a predefined user. The admin support action also supports retrieving the relevant parts from the audit log, and writing them as an audit record back in the repository.
+
Now we can demote our user back to normal user by just closing this issue. After closing the issue will be updated like below.
+
+
+
+
+
+
+
+
+
+
Timeout
+
The timeout is a safeguard. We run a scheduled workflow every hour to check the open issues. In case the user has reached the maximum duration of being admin, one to eight hours. This workflow will close the issue which triggers the default demotion workflow that runs on the closure of an issue.
+
name : Provisioning check to see if a user needs to be demoted
+on :
+ schedule :
+ - cron : "0 * * * *"
+ workflow_dispatch :
+
+jobs :
+ provisioning-check :
+ name : Close issues with expired duration
+ runs-on : ubuntu- latest
+ steps :
+ - uses : philips- software/app- token- action@v1.1.2
+ id : token
+ with :
+ app_id : ${ { secrets.APP_ID } }
+ app_base64_private_key : ${ { secrets.APP_PRIVATE_KEY_BASE64 } }
+ auth_type : installation
+
+ - name : Checkout repository
+ uses : actions/checkout@v3
+
+ - name : Run through all the issues and close them if they are expired
+ id : issue_parser
+ uses : 040code/admin- support- issueops- actions/admin- support- cli@v1.0.0
+ with :
+ action : "check_auto_demotion"
+ ticket : ${ { github.event.issue.number } }
+
+ admin_token : ${ { steps.token.outputs.token } }
+
This workflow does not need much explanation. As mention, it checks on hourly based the open issues using the admin-support-issueops-action. When running it once in an hour it could result that the issue being closed almost an hour after the time-out, but nothing holds you back to run the workflow more frequently.
+
Fireside chat
+
In this article, we have explained how you can promote members to admin and back to a normal member with IssueOps. We run IssueOps via action, which makes you dependent on GitHub Actions. When GitHub Acton is down your promotion/demotion workflows are broken. An alternative could be hooking into the GitHub events with a webhook . Reduce your dependencies, but you are still dependent now on the GitHub eventing system. When moving to Just In Time access via IssueOps it sounds smart to keep a backup user available, one that normally not is used, but that is available for disaster recovery.
+
The solution provided by GitHub via the admin support action makes it possible to have just-in-time admin. But it would be much better to have this feature by default in the platform. The setup with a private repo gives you also slightly more control over who can add an admin. By distinguishing user permission levels on this repository.
+
Now our Org admins are no longer admin anymore by default and are only promoted to admin for doing specific tasks. Should we not ask ourselves, why do we have all the time repository admins? Is this required? Should we not apply a similar mechanism to them as well?
+
Credits
+
Thanks for reviewing and suggestions:
+
Read next:
\ No newline at end of file
diff --git a/3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js b/3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js
new file mode 100644
index 00000000..b50479cf
--- /dev/null
+++ b/3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js
@@ -0,0 +1,2 @@
+(self.webpackChunk_040_code=self.webpackChunk_040_code||[]).push([[223],{9230:function(t,e,n){"use strict";n.d(e,{Z:function(){return c}});var r=n(1721),o=n(7294),i=n(3494),a=i.default.img.withConfig({displayName:"Flag__FlagImage",componentId:"sc-142m10a-0"})(["padding-right:0.5rem;padding-bottom:0.2rem;"]),s=function(t){function e(){return t.apply(this,arguments)||this}return(0,r.Z)(e,t),e.prototype.render=function(){var t=this.props.language,e="en"===t?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAPASURBVDhPrZT7TxxVFMc/d/Y1wA60gEXwgSU1ViJiJSZqahpqm2jQNlRSHyhRa6wG2kTSpK3v2BptoyRorJi2IaLlF/qyoTU0sRAClDaKRqQ0qShElkJBdpd9z+7seGfQ+A9wkjvn3jnn3Pu93/PNFaY0lsiUf/2SmNATuqm4XYyPTRMOJ3C7nXbAMNLkF2STEw+RXAjjyvYSVDXmZhZwOBYx6HoKrWA5N4dmEZoXMflFi1m4YT2B4jtp2ncKny9IVpZKPK5TXfswlROXmb84RO5DFXQXP8CpYwOoqptoTOeWu4p4uUQn9/pfOJ7dgjJcupZIbz/qd8fZv7+aqk33EgpF5bkmQsivIqwZpviPWpNQIsnjm8p5S7tGocckZ8d2Bn6ZRLnUe5U9v+cSy9QI7H2Xmur7adxbJRHOEgrrSAikg0GIxQlHdK4vJNi5tZSNF9pQn6jC/WQV9fXfcrFvDCUm4fZ3DbPxkxEGVz2C75k6ykWAr1q3k6llkAyESM3NkwyG8OZnc2BdFsUnW1nW/CndvjQVFR/QNzBBTKJlzh8wdcM0o3raDOiWUEzTiEQWJ9Imd71njq5Zb3vbov/H/OGEXWfVW/uI0Z17TPObE5DhwVKcrTqLq/QiR44cDeGRsUQCQ6ITiiJzFhMVyafFq4SFeOEpFKtG98trzAdJ+YMYATmkTwcX7JGamSXpm7K9tTb8AdIyx47JPKvOqk/LzcVky1Ezs6cP0+0mlTSIRHWE1J1wyWEYhAd/InVjDueKfLwPVmDEJQrVIxEpqMLA5XJYgiNWuRZx4tzP5pU/YkQjCQqLNHY8Lwtm5zC+78JdV8vE1m3Mdxwnt6aG4o6j9tXDXd14VAfHnKu52j+CV+qytCQDh4uy95sPHGFqPETrkTpibe0kG17jHXMNpy/N8ljoCoHh31hx3z00/qhwvvMymxs246t/g1u7z/LZjTy+bjqMW3hQIpEYr7xey9i1j1l4cRuJM508V9ZIU8sZ8papiLSFRfIhuc3P1/i8uZ11lQe5/exJbpOkn5s4xJu7X0J3ulD2HXyaw4dqmVp5N9Ml5awaKaWz7bzcIFMOgWIRS8r2dpvJprfnV8nVq/y5YQvZPT/Q0L6btx/NQ8mYGmew4A4u7PqQso+GiYyNoWkSkXBgJPxMy3q/c7ntrbX1X5NiVpQUqwtr+bJjiKzRIcyZScTfwYDpTybxJBPkZMkOWofbJuQrEifqVFFk99Kyi5mpOF6vKmOLGrTABoOyefEkNxUVSipsBS6NLeHjCP8AHa/ubr0bcvgAAAAASUVORK5CYII=":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAKnRFWHRDcmVhdGlvbiBUaW1lAEZyIDkgTm92IDIwMDcgMTY6Mjc6MDYgKzAxMDAM3ZqdAAAAB3RJTUUH1wsJDxwzm8yD2gAAAAlwSFlzAAALEgAACxIB0t1+/AAAAARnQU1BAACxjwv8YQUAAAHdSURBVHjaxVO7btRAFD3zsNdxQIqQqBYk6ghR0tLxDXwCn8HX0BGlo6JCKAqCIlVCkCjQLgkgxbDB67XnlXPHRvsJGWs04/F53ZkxcNtNvXj5arG7uzf3KfJNIUSFh/dn2H9Qc564pABj0Z98hPt6CsVHyzoCrv6tl/bO3Xvzx0+fw0cveugp8ORRjWf7e1lAmi5naKuAHh2QSI4RpQbeHBzOrSfIBQ/vAzWRE8jcDQNCQk4g3TtinMtkEUHfIaxW0OIqa55rMTEYu3xXWm/r1AYZ5AYolqoJ6D4dU1jDCjFkMrskoFukKG2ys56EFEkyC38abE4+w1z/heU3K0Q/OUchp0zNxCCuU+sX37F69xZYt9CmQDHKUYDwQMPIONpo9A5o2gH9ZoPBjwKm5h78/glcs+ayylQtpyOjQFLS2fnovMHrDz9wftEixTACJKY1HFUmZbIk5GM4WkWyI/bg+AJD0CjKAmVhMlFPpchmaWUm4v8+HrElAu/Pmnz+RWmReGmU2QoYmRsRQHYdE2CbYMOaF51HOWNt1iJSoODFqeSd9YlAUe2g4+gVpjI0ZmoUspe/Lpfdqpk7cWH0QN0zVeOwqxnSjJtYVWi/fEO/DlDWZ2chX4W0vO1/EbgBHTnbxGOMU+UAAAAASUVORK5CYII=",n="en"===t?"english post":"post en francais";return o.createElement(a,{src:e,alt:n,className:"flag"})},e}(o.Component),c=s},4529:function(t,e,n){"use strict";var r=n(1721),o=n(7294),i=n(1082),a=n(3710),s=n.n(a),c=n(3494),l=c.default.div.withConfig({displayName:"Hero__HeroContainer",componentId:"sc-1i1rqpz-0"})(["position:relative;display:table;width:100%;height:340px;overflow:hidden;background-repeat:no-repeat;background-position:center;background-size:cover;"]),p=c.default.div.withConfig({displayName:"Hero__TitleContainer",componentId:"sc-1i1rqpz-1"})(["display:table-cell;vertical-align:middle;text-align:center;width:100%;"]),u=c.default.div.withConfig({displayName:"Hero__LocationContainer",componentId:"sc-1i1rqpz-2"})(["display:table-footer-group;vertical-align:center;text-align:right;width:100%;"]),f=c.default.h1.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-1i1rqpz-3"})(["font-size:3.5rem;margin:10px 60px;color:#fff;text-shadow:2px 2px #222222;font-weight:800;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;"]),d=c.default.h2.withConfig({displayName:"Hero__HeroSubtitle",componentId:"sc-1i1rqpz-4"})(["font-size:1.7rem;margin:10px 60px;color:#fff;text-shadow:2px 2px #222222;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;"]),m=c.default.span.withConfig({displayName:"Hero__DateAndAuthor",componentId:"sc-1i1rqpz-5"})(["font-weight:500;font-size:1.2rem;color:#fff;text-shadow:2px 2px #222222;"]),h=(0,c.default)(i.Link).withConfig({displayName:"Hero__AuthorLink",componentId:"sc-1i1rqpz-6"})(["margin-left:0.3rem;font-weight:500;font-size:1.2rem;color:#fff;text-shadow:2px 2px #222222;&:hover{border-bottom:1px dotted #787676;}&:before{content:'@';}"]),g=c.default.a.withConfig({displayName:"Hero__LocationLink",componentId:"sc-1i1rqpz-7"})(["margin-right:0.7rem;font-size:0.9rem;color:#fff;text-shadow:2px 2px #222222;font-size:1rem;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;font-style:italic;&:hover{border-bottom:1px dotted #787676;}"]),v=c.default.span.withConfig({displayName:"Hero__LocationMarker",componentId:"sc-1i1rqpz-8"})(["margin-right:0.4rem;font-size:0.75rem;color:#fff;text-shadow:2px 2px #222222;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;"]),y=function(t){function e(){return t.apply(this,arguments)||this}return(0,r.Z)(e,t),e.prototype.render=function(){var t=this.props.heroImg||(0,i.withPrefix)(s().siteCover),e=this.props.title,n=this.props.subtitle,r=this.props.date,a=this.props.authors,c=this.props.coverDescription,y=this.props.coverLink;return o.createElement(l,{style:{backgroundImage:'url("'+t+'")'}},o.createElement(p,null,o.createElement(f,null,e),o.createElement(d,null,n),a&&0!=a.length&&o.createElement(m,null,"by:"," ",a&&a.map((function(t,e){return o.createElement(o.Fragment,{key:"author-list-"+e},o.createElement(h,{to:"/authors/"+t},t),e-1}},3399:function(t,e,n){var r=n(8470);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},4785:function(t,e,n){var r=n(1989),o=n(8407),i=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},1285:function(t,e,n){var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:function(t,e,n){var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:function(t,e,n){var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:function(t,e,n){var r=n(5050);t.exports=function(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}},4523:function(t,e,n){var r=n(8306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},4536:function(t,e,n){var r=n(852)(Object,"create");t.exports=r},2333:function(t){var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5639:function(t,e,n){var r=n(1957),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},5514:function(t,e,n){var r=n(4523),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(o,(function(t,n,r,o){e.push(r?o.replace(i,"$1"):n||t)})),e}));t.exports=a},327:function(t,e,n){var r=n(3448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-Infinity?"-0":e}},346:function(t){var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(n){}try{return t+""}catch(n){}}return""}},7813:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},7361:function(t,e,n){var r=n(7786);t.exports=function(t,e,n){var o=null==t?void 0:r(t,e);return void 0===o?n:o}},1469:function(t){var e=Array.isArray;t.exports=e},3560:function(t,e,n){var r=n(4239),o=n(3218);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},3218:function(t){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},3448:function(t,e,n){var r=n(4239),o=n(7005);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},8306:function(t,e,n){var r=n(3369);function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},9833:function(t,e,n){var r=n(531);t.exports=function(t){return null==t?"":r(t)}}}]);
+//# sourceMappingURL=3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js.map
\ No newline at end of file
diff --git a/3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js.map b/3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js.map
new file mode 100644
index 00000000..9876a6fb
--- /dev/null
+++ b/3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"3a6163179d1893363150c607dc6a114c5b16f6b0-863a57e16d71003af48b.js","mappings":"6KAKMA,EAAYC,EAAAA,QAAAA,IAAAA,WAAU,2DAAVA,CAAU,iDAKtBC,EAAI,8DAOP,OAPO,wBACRC,OAAA,WACE,IAAQC,EAAaC,KAAKC,MAAlBF,SACFG,EAAmB,OAAbH,ECbhB,y6CCAA,q3BFcUI,EAAmB,OAAbJ,EAAoB,eAAiB,mBAEjD,OAAO,gBAACJ,EAAS,CAACS,IAAKF,EAAKC,IAAKA,EAAKE,UAAU,QAClD,EAAC,EAPO,CAASC,EAAAA,WAUnB,G,mGGfMC,EAAgBX,EAAAA,QAAAA,IAAAA,WAAU,+DAAVA,CAAU,2JAW1BY,EAAiBZ,EAAAA,QAAAA,IAAAA,WAAU,gEAAVA,CAAU,4EAO3Ba,EAAoBb,EAAAA,QAAAA,IAAAA,WAAU,mEAAVA,CAAU,mFAO9Bc,EAAYd,EAAAA,QAAAA,GAAAA,WAAS,2DAATA,CAAS,mKASrBe,EAAef,EAAAA,QAAAA,GAAAA,WAAS,8DAATA,CAAS,mJAQxBgB,EAAgBhB,EAAAA,QAAAA,KAAAA,WAAW,+DAAXA,CAAW,8EAO3BiB,GAAajB,EAAAA,EAAAA,SAAOkB,EAAAA,MAAK,uEAAZlB,CAAY,iKAezBmB,EAAenB,EAAAA,QAAAA,EAAAA,WAAQ,8DAARA,CAAQ,iOAcvBoB,EAAiBpB,EAAAA,QAAAA,KAAAA,WAAW,gEAAXA,CAAW,uJAQ5BqB,EAAI,8DA2CP,OA3CO,wBACRnB,OAAA,WACE,IAAMoB,EAAUlB,KAAKC,MAAMiB,UAAWC,EAAAA,EAAAA,YAAWC,IAAAA,WACzCC,EAAUrB,KAAKC,MAAfoB,MACAC,EAAatB,KAAKC,MAAlBqB,SACAC,EAASvB,KAAKC,MAAdsB,KACAC,EAAYxB,KAAKC,MAAjBuB,QACAC,EAAqBzB,KAAKC,MAA1BwB,iBACAC,EAAc1B,KAAKC,MAAnByB,UAER,OACE,gBAACnB,EAAa,CAACoB,MAAO,CAAEC,gBAAgB,QAASV,EAAO,OACtD,gBAACV,EAAc,KACb,gBAACE,EAAS,KAAEW,GACZ,gBAACV,EAAY,KAAEW,GACdE,GAA6B,GAAlBA,EAAQK,QAClB,gBAACjB,EAAa,WACR,IACHY,GACCA,EAAQM,KAAI,SAACC,EAAQC,GACnB,OACE,gBAAC,EAAAC,SAAQ,CAACC,IAAG,eAAiBF,GAC5B,gBAACnB,EAAU,CAACsB,GAAE,YAAcJ,GAAWA,GACtCC,EAAIR,EAAQK,OAAS,EAAI,IAAM,GAGtC,IAAE,QACON,IAIhBE,GAAoBC,GACnB,gBAACjB,EAAiB,KAChB,gBAACO,EAAc,KACb,wBAAMX,UAAU,0BAElB,gBAACU,EAAY,CAACqB,KAAMV,EAAWW,OAAO,UACnCZ,IAMb,EAAC,EA3CO,CAASnB,EAAAA,WA8CnB,K,mICrIMgC,EAAgB1C,EAAAA,QAAAA,IAAAA,WAAU,qEAAVA,CAAU,uDAM1B2C,GAAiB3C,EAAAA,EAAAA,SAAOkB,EAAAA,MAAK,iFAAZlB,CAAY,uGAY7B4C,EAAU,8DAgBb,OAhBa,wBACd1C,OAAA,WACE,IAAQ0B,EAAYxB,KAAKC,MAAjBuB,QAER,OACE,gBAACc,EAAa,KACXd,EAAQM,KAAI,SAACC,EAAQC,GACpB,OACE,gBAAC,EAAAC,SAAQ,CAACC,IAAG,eAAiBF,GAC5B,gBAACO,EAAc,CAACJ,GAAE,WAAaJ,GAAWA,GACzCC,EAAIR,EAAQK,OAAS,EAAI,KAAO,GAGvC,IAGN,EAAC,EAhBa,CAASvB,EAAAA,WAkBzB,I,mBChCMmC,EAAO7C,EAAAA,QAAAA,QAAAA,WAAc,8DAAdA,CAAc,8FAuBrB8C,IAjBW9C,EAAAA,EAAAA,SAAOkB,EAAAA,MAAK,6EAAZlB,CAAY,yOAiBZA,EAAAA,QAAAA,KAAAA,WAAW,kEAAXA,CAAW,gEAQtB+C,EAAa/C,EAAAA,QAAAA,OAAAA,WAAa,oEAAbA,CAAa,oBAS1BgD,GALUhD,EAAAA,QAAAA,EAAAA,WAAQ,iEAARA,CAAQ,6CAKFA,EAAAA,EAAAA,SAAOkB,EAAAA,MAAK,kFAAZlB,CAAY,kKAQ5BiD,EAAejD,EAAAA,QAAAA,EAAAA,WAAQ,sEAARA,CAAQ,8HAOvBkD,EAAa,8DAyBhB,OAzBgB,wBACjBhD,OAAA,WACE,MAAiEE,KAAKC,MAA9DoB,EAAK,EAALA,MAAOC,EAAQ,EAARA,SAAUyB,EAAI,EAAJA,KAAMxB,EAAI,EAAJA,KAAMxB,EAAQ,EAARA,SAAUiD,EAAI,EAAJA,KAAMxB,EAAO,EAAPA,QAErD,OACE,gBAACiB,EAAI,KACH,gBAACE,EAAU,KACT,0BACE,gBAACC,EAAa,CAACT,GAAE,IAAMY,GACpB3B,IAAAA,gBAA6B,gBAACvB,EAAA,EAAI,CAACE,SAAUA,IAC7CsB,KAIP,+BACE,gBAACwB,EAAY,KAAEvB,IAEjB,8BACE,gBAAC2B,EAAA,EAAO,CAACD,KAAMA,EAAME,MAAM,IAC3B,gBAACR,EAAQ,KAAEnB,GACX,gBAAC,EAAU,CAACC,QAASA,KAK7B,EAAC,EAzBgB,CAASlB,EAAAA,WA2B5B,ICtFM6C,EAAS,8DAoBZ,OApBY,wBACbrD,OAAA,WACE,IAAQsD,EAAUpD,KAAKC,MAAfmD,MAER,OACE,gBAAC,EAAAnB,SAAQ,KACNmB,EAAMtB,KAAI,SAAAuB,GACT,IAAMpD,EAAQ,CACZoB,MAAOgC,EAAKC,KAAKC,YAAYlC,MAC7BC,SAAU+B,EAAKC,KAAKC,YAAYjC,SAChCyB,KAAMM,EAAKC,KAAKC,YAAYR,KAC5BxB,KAAM8B,EAAKC,KAAKC,YAAYhC,KAC5BxB,SAAUsD,EAAKC,KAAKC,YAAYxD,UAAY,KAC5CiD,KAAMK,EAAKC,KAAKC,YAAYP,MAAQ,GACpCxB,QAAS6B,EAAKC,KAAKC,YAAY/B,SAAW,IAE5C,OAAO,gBAAC,EAAa,eAACU,IAAKjC,EAAM8C,MAAU9C,GAC7C,IAGN,EAAC,EApBY,CAASK,EAAAA,WAsBxB,G,+ECtBMgC,EAAgB1C,EAAAA,QAAAA,IAAAA,WAAU,kEAAVA,CAAU,uDAM1B4D,GAAc5D,EAAAA,EAAAA,SAAOkB,EAAAA,MAAK,2EAAZlB,CAAY,mRAqB1BqD,EAAO,8DAmBV,OAnBU,wBACXnD,OAAA,WACE,MAAuBE,KAAKC,MAApB+C,EAAI,EAAJA,KAAME,EAAI,EAAJA,KAEd,OACE,gBAACZ,EAAa,MACF,IAATY,EACAF,EAAKlB,KAAI,SAAC2B,EAAKzB,GACd,OACE,gBAAC,EAAAC,SAAQ,CAACC,IAAG,YAAcF,GACzB,gBAACwB,EAAW,CAACnD,UAAU,gBAAgB8B,GAAE,SAAWsB,GACjDA,GAEFzB,EAAIgB,EAAKnB,OAAS,EAAI,IAAM,GAGnC,IAGN,EAAC,EAnBU,CAASvB,EAAAA,WAqBtB,K,uBCpDA,IAAIoD,EAAY,EAAQ,MACpBC,EAAa,EAAQ,KACrBC,EAAU,EAAQ,MAClBC,EAAU,EAAQ,MAClBC,EAAU,EAAQ,MAStB,SAASC,EAAKC,GACZ,IAAIC,GAAS,EACTpC,EAAoB,MAAXmC,EAAkB,EAAIA,EAAQnC,OAG3C,IADA7B,KAAKkE,UACID,EAAQpC,GAAQ,CACvB,IAAIsC,EAAQH,EAAQC,GACpBjE,KAAKoE,IAAID,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAJ,EAAKM,UAAUH,MAAQR,EACvBK,EAAKM,UAAkB,OAAIV,EAC3BI,EAAKM,UAAUC,IAAMV,EACrBG,EAAKM,UAAUE,IAAMV,EACrBE,EAAKM,UAAUD,IAAMN,EAErBU,EAAOC,QAAUV,C,uBC/BjB,IAAIW,EAAiB,EAAQ,MACzBC,EAAkB,EAAQ,MAC1BC,EAAe,EAAQ,MACvBC,EAAe,EAAQ,MACvBC,EAAe,EAAQ,MAS3B,SAASC,EAAUf,GACjB,IAAIC,GAAS,EACTpC,EAAoB,MAAXmC,EAAkB,EAAIA,EAAQnC,OAG3C,IADA7B,KAAKkE,UACID,EAAQpC,GAAQ,CACvB,IAAIsC,EAAQH,EAAQC,GACpBjE,KAAKoE,IAAID,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAY,EAAUV,UAAUH,MAAQQ,EAC5BK,EAAUV,UAAkB,OAAIM,EAChCI,EAAUV,UAAUC,IAAMM,EAC1BG,EAAUV,UAAUE,IAAMM,EAC1BE,EAAUV,UAAUD,IAAMU,EAE1BN,EAAOC,QAAUM,C,uBC/BjB,IAIIC,EAJY,EAAQ,IAIdC,CAHC,EAAQ,MAGO,OAE1BT,EAAOC,QAAUO,C,uBCNjB,IAAIE,EAAgB,EAAQ,MACxBC,EAAiB,EAAQ,MACzBC,EAAc,EAAQ,KACtBC,EAAc,EAAQ,MACtBC,EAAc,EAAQ,MAS1B,SAASC,EAASvB,GAChB,IAAIC,GAAS,EACTpC,EAAoB,MAAXmC,EAAkB,EAAIA,EAAQnC,OAG3C,IADA7B,KAAKkE,UACID,EAAQpC,GAAQ,CACvB,IAAIsC,EAAQH,EAAQC,GACpBjE,KAAKoE,IAAID,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAoB,EAASlB,UAAUH,MAAQgB,EAC3BK,EAASlB,UAAkB,OAAIc,EAC/BI,EAASlB,UAAUC,IAAMc,EACzBG,EAASlB,UAAUE,IAAMc,EACzBE,EAASlB,UAAUD,IAAMkB,EAEzBd,EAAOC,QAAUc,C,uBC/BjB,IAGIC,EAHO,EAAQ,MAGDA,OAElBhB,EAAOC,QAAUe,C,kBCejBhB,EAAOC,QAXP,SAAkBgB,EAAOC,GAKvB,IAJA,IAAIzB,GAAS,EACTpC,EAAkB,MAAT4D,EAAgB,EAAIA,EAAM5D,OACnC8D,EAASC,MAAM/D,KAEVoC,EAAQpC,GACf8D,EAAO1B,GAASyB,EAASD,EAAMxB,GAAQA,EAAOwB,GAEhD,OAAOE,CACT,C,uBClBA,IAAIE,EAAK,EAAQ,MAoBjBrB,EAAOC,QAVP,SAAsBgB,EAAOvD,GAE3B,IADA,IAAIL,EAAS4D,EAAM5D,OACZA,KACL,GAAIgE,EAAGJ,EAAM5D,GAAQ,GAAIK,GACvB,OAAOL,EAGX,OAAQ,CACV,C,uBClBA,IAAIiE,EAAW,EAAQ,MACnBC,EAAQ,EAAQ,KAsBpBvB,EAAOC,QAZP,SAAiBuB,EAAQC,GAMvB,IAHA,IAAIhC,EAAQ,EACRpC,GAHJoE,EAAOH,EAASG,EAAMD,IAGJnE,OAED,MAAVmE,GAAkB/B,EAAQpC,GAC/BmE,EAASA,EAAOD,EAAME,EAAKhC,OAE7B,OAAQA,GAASA,GAASpC,EAAUmE,OAASE,CAC/C,C,uBCrBA,IAAIV,EAAS,EAAQ,MACjBW,EAAY,EAAQ,MACpBC,EAAiB,EAAQ,MAOzBC,EAAiBb,EAASA,EAAOc,iBAAcJ,EAkBnD1B,EAAOC,QATP,SAAoB8B,GAClB,OAAa,MAATA,OACeL,IAAVK,EAdQ,qBADL,gBAiBJF,GAAkBA,KAAkBG,OAAOD,GAC/CJ,EAAUI,GACVH,EAAeG,EACrB,C,uBCzBA,IAAIE,EAAa,EAAQ,MACrBC,EAAW,EAAQ,MACnBC,EAAW,EAAQ,MACnBC,EAAW,EAAQ,KASnBC,EAAe,8BAGfC,EAAYC,SAAS1C,UACrB2C,EAAcR,OAAOnC,UAGrB4C,EAAeH,EAAUI,SAGzBC,EAAiBH,EAAYG,eAG7BC,EAAaC,OAAO,IACtBJ,EAAaK,KAAKH,GAAgBI,QAjBjB,sBAiBuC,QACvDA,QAAQ,yDAA0D,SAAW,KAmBhF/C,EAAOC,QARP,SAAsB8B,GACpB,SAAKI,EAASJ,IAAUG,EAASH,MAGnBE,EAAWF,GAASa,EAAaP,GAChCW,KAAKZ,EAASL,GAC/B,C,sBC5CA,IAAIf,EAAS,EAAQ,MACjBiC,EAAW,EAAQ,KACnBC,EAAU,EAAQ,MAClBC,EAAW,EAAQ,MAMnBC,EAAcpC,EAASA,EAAOnB,eAAY6B,EAC1C2B,EAAiBD,EAAcA,EAAYV,cAAWhB,EA0B1D1B,EAAOC,QAhBP,SAASqD,EAAavB,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAImB,EAAQnB,GAEV,OAAOkB,EAASlB,EAAOuB,GAAgB,GAEzC,GAAIH,EAASpB,GACX,OAAOsB,EAAiBA,EAAeP,KAAKf,GAAS,GAEvD,IAAIZ,EAAUY,EAAQ,GACtB,MAAkB,KAAVZ,GAAkB,EAAIY,IA3BjB,SA2BwC,KAAOZ,CAC9D,C,uBClCA,IAAI+B,EAAU,EAAQ,MAClBK,EAAQ,EAAQ,MAChBC,EAAe,EAAQ,MACvBd,EAAW,EAAQ,MAiBvB1C,EAAOC,QAPP,SAAkB8B,EAAOP,GACvB,OAAI0B,EAAQnB,GACHA,EAEFwB,EAAMxB,EAAOP,GAAU,CAACO,GAASyB,EAAad,EAASX,GAChE,C,uBClBA,IAGI0B,EAHO,EAAQ,MAGG,sBAEtBzD,EAAOC,QAAUwD,C,uBCJjB,IAAIC,EAA8B,iBAAV,EAAAC,GAAsB,EAAAA,GAAU,EAAAA,EAAO3B,SAAWA,QAAU,EAAA2B,EAEpF3D,EAAOC,QAAUyD,C,uBCHjB,IAAIE,EAAY,EAAQ,MAiBxB5D,EAAOC,QAPP,SAAoB3C,EAAKI,GACvB,IAAImG,EAAOvG,EAAIwG,SACf,OAAOF,EAAUlG,GACbmG,EAAmB,iBAAPnG,EAAkB,SAAW,QACzCmG,EAAKvG,GACX,C,sBCfA,IAAIyG,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MAevBhE,EAAOC,QALP,SAAmBuB,EAAQ9D,GACzB,IAAIqE,EAAQiC,EAASxC,EAAQ9D,GAC7B,OAAOqG,EAAahC,GAASA,OAAQL,CACvC,C,uBCdA,IAAIV,EAAS,EAAQ,MAGjBwB,EAAcR,OAAOnC,UAGrB8C,EAAiBH,EAAYG,eAO7BsB,EAAuBzB,EAAYE,SAGnCb,EAAiBb,EAASA,EAAOc,iBAAcJ,EA6BnD1B,EAAOC,QApBP,SAAmB8B,GACjB,IAAImC,EAAQvB,EAAeG,KAAKf,EAAOF,GACnC5C,EAAM8C,EAAMF,GAEhB,IACEE,EAAMF,QAAkBH,EACxB,IAAIyC,GAAW,CACJ,CAAX,MAAOC,GAAI,CAEb,IAAIjD,EAAS8C,EAAqBnB,KAAKf,GAQvC,OAPIoC,IACED,EACFnC,EAAMF,GAAkB5C,SAEjB8C,EAAMF,IAGVV,CACT,C,mBC/BAnB,EAAOC,QAJP,SAAkBuB,EAAQ9D,GACxB,OAAiB,MAAV8D,OAAiBE,EAAYF,EAAO9D,EAC7C,C,uBCVA,IAAI2G,EAAe,EAAQ,MAc3BrE,EAAOC,QALP,WACEzE,KAAKsI,SAAWO,EAAeA,EAAa,MAAQ,CAAC,EACrD7I,KAAK8I,KAAO,CACd,C,kBCIAtE,EAAOC,QANP,SAAoBvC,GAClB,IAAIyD,EAAS3F,KAAKuE,IAAIrC,WAAelC,KAAKsI,SAASpG,GAEnD,OADAlC,KAAK8I,MAAQnD,EAAS,EAAI,EACnBA,CACT,C,uBCdA,IAAIkD,EAAe,EAAQ,MASvB1B,EAHcX,OAAOnC,UAGQ8C,eAoBjC3C,EAAOC,QATP,SAAiBvC,GACf,IAAImG,EAAOrI,KAAKsI,SAChB,GAAIO,EAAc,CAChB,IAAIlD,EAAS0C,EAAKnG,GAClB,MArBiB,8BAqBVyD,OAA4BO,EAAYP,CACjD,CACA,OAAOwB,EAAeG,KAAKe,EAAMnG,GAAOmG,EAAKnG,QAAOgE,CACtD,C,uBC3BA,IAAI2C,EAAe,EAAQ,MAMvB1B,EAHcX,OAAOnC,UAGQ8C,eAgBjC3C,EAAOC,QALP,SAAiBvC,GACf,IAAImG,EAAOrI,KAAKsI,SAChB,OAAOO,OAA8B3C,IAAdmC,EAAKnG,GAAsBiF,EAAeG,KAAKe,EAAMnG,EAC9E,C,uBCpBA,IAAI2G,EAAe,EAAQ,MAsB3BrE,EAAOC,QAPP,SAAiBvC,EAAKqE,GACpB,IAAI8B,EAAOrI,KAAKsI,SAGhB,OAFAtI,KAAK8I,MAAQ9I,KAAKuE,IAAIrC,GAAO,EAAI,EACjCmG,EAAKnG,GAAQ2G,QAA0B3C,IAAVK,EAfV,4BAekDA,EAC9DvG,IACT,C,uBCpBA,IAAI0H,EAAU,EAAQ,MAClBC,EAAW,EAAQ,MAGnBoB,EAAe,mDACfC,EAAgB,QAuBpBxE,EAAOC,QAbP,SAAe8B,EAAOP,GACpB,GAAI0B,EAAQnB,GACV,OAAO,EAET,IAAI0C,SAAc1C,EAClB,QAAY,UAAR0C,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAAT1C,IAAiBoB,EAASpB,MAGvByC,EAAcxB,KAAKjB,KAAWwC,EAAavB,KAAKjB,IAC1C,MAAVP,GAAkBO,KAASC,OAAOR,GACvC,C,mBCZAxB,EAAOC,QAPP,SAAmB8B,GACjB,IAAI0C,SAAc1C,EAClB,MAAgB,UAAR0C,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAV1C,EACU,OAAVA,CACP,C,uBCZA,IAIM2C,EAJFjB,EAAa,EAAQ,MAGrBkB,GACED,EAAM,SAASE,KAAKnB,GAAcA,EAAWoB,MAAQpB,EAAWoB,KAAKC,UAAY,KACvE,iBAAmBJ,EAAO,GAc1C1E,EAAOC,QAJP,SAAkB8E,GAChB,QAASJ,GAAeA,KAAcI,CACxC,C,mBCLA/E,EAAOC,QALP,WACEzE,KAAKsI,SAAW,GAChBtI,KAAK8I,KAAO,CACd,C,uBCVA,IAAIU,EAAe,EAAQ,MAMvBC,EAHa7D,MAAMvB,UAGCoF,OA4BxBjF,EAAOC,QAjBP,SAAyBvC,GACvB,IAAImG,EAAOrI,KAAKsI,SACZrE,EAAQuF,EAAanB,EAAMnG,GAE/B,QAAI+B,EAAQ,KAIRA,GADYoE,EAAKxG,OAAS,EAE5BwG,EAAKqB,MAELD,EAAOnC,KAAKe,EAAMpE,EAAO,KAEzBjE,KAAK8I,MACA,EACT,C,uBChCA,IAAIU,EAAe,EAAQ,MAkB3BhF,EAAOC,QAPP,SAAsBvC,GACpB,IAAImG,EAAOrI,KAAKsI,SACZrE,EAAQuF,EAAanB,EAAMnG,GAE/B,OAAO+B,EAAQ,OAAIiC,EAAYmC,EAAKpE,GAAO,EAC7C,C,uBChBA,IAAIuF,EAAe,EAAQ,MAe3BhF,EAAOC,QAJP,SAAsBvC,GACpB,OAAOsH,EAAaxJ,KAAKsI,SAAUpG,IAAQ,CAC7C,C,uBCbA,IAAIsH,EAAe,EAAQ,MAyB3BhF,EAAOC,QAbP,SAAsBvC,EAAKqE,GACzB,IAAI8B,EAAOrI,KAAKsI,SACZrE,EAAQuF,EAAanB,EAAMnG,GAQ/B,OANI+B,EAAQ,KACRjE,KAAK8I,KACPT,EAAKsB,KAAK,CAACzH,EAAKqE,KAEhB8B,EAAKpE,GAAO,GAAKsC,EAEZvG,IACT,C,uBCvBA,IAAI+D,EAAO,EAAQ,MACfgB,EAAY,EAAQ,MACpBC,EAAM,EAAQ,MAkBlBR,EAAOC,QATP,WACEzE,KAAK8I,KAAO,EACZ9I,KAAKsI,SAAW,CACd,KAAQ,IAAIvE,EACZ,IAAO,IAAKiB,GAAOD,GACnB,OAAU,IAAIhB,EAElB,C,uBClBA,IAAI6F,EAAa,EAAQ,MAiBzBpF,EAAOC,QANP,SAAwBvC,GACtB,IAAIyD,EAASiE,EAAW5J,KAAMkC,GAAa,OAAEA,GAE7C,OADAlC,KAAK8I,MAAQnD,EAAS,EAAI,EACnBA,CACT,C,sBCfA,IAAIiE,EAAa,EAAQ,MAezBpF,EAAOC,QAJP,SAAqBvC,GACnB,OAAO0H,EAAW5J,KAAMkC,GAAKoC,IAAIpC,EACnC,C,uBCbA,IAAI0H,EAAa,EAAQ,MAezBpF,EAAOC,QAJP,SAAqBvC,GACnB,OAAO0H,EAAW5J,KAAMkC,GAAKqC,IAAIrC,EACnC,C,uBCbA,IAAI0H,EAAa,EAAQ,MAqBzBpF,EAAOC,QATP,SAAqBvC,EAAKqE,GACxB,IAAI8B,EAAOuB,EAAW5J,KAAMkC,GACxB4G,EAAOT,EAAKS,KAIhB,OAFAT,EAAKjE,IAAIlC,EAAKqE,GACdvG,KAAK8I,MAAQT,EAAKS,MAAQA,EAAO,EAAI,EAC9B9I,IACT,C,uBCnBA,IAAI6J,EAAU,EAAQ,MAyBtBrF,EAAOC,QAZP,SAAuB8E,GACrB,IAAI5D,EAASkE,EAAQN,GAAM,SAASrH,GAIlC,OAfmB,MAYf4H,EAAMhB,MACRgB,EAAM5F,QAEDhC,CACT,IAEI4H,EAAQnE,EAAOmE,MACnB,OAAOnE,CACT,C,uBCvBA,IAGIkD,EAHY,EAAQ,IAGL5D,CAAUuB,OAAQ,UAErChC,EAAOC,QAAUoE,C,mBCJjB,IAOIJ,EAPcjC,OAAOnC,UAOc6C,SAavC1C,EAAOC,QAJP,SAAwB8B,GACtB,OAAOkC,EAAqBnB,KAAKf,EACnC,C,uBCnBA,IAAI2B,EAAa,EAAQ,MAGrB6B,EAA0B,iBAARC,MAAoBA,MAAQA,KAAKxD,SAAWA,QAAUwD,KAGxEC,EAAO/B,GAAc6B,GAAYhD,SAAS,cAATA,GAErCvC,EAAOC,QAAUwF,C,uBCRjB,IAAIC,EAAgB,EAAQ,MAGxBC,EAAa,mGAGbC,EAAe,WASfpC,EAAekC,GAAc,SAASG,GACxC,IAAI1E,EAAS,GAOb,OAN6B,KAAzB0E,EAAOC,WAAW,IACpB3E,EAAOgE,KAAK,IAEdU,EAAO9C,QAAQ4C,GAAY,SAASI,EAAOC,EAAQC,EAAOC,GACxD/E,EAAOgE,KAAKc,EAAQC,EAAUnD,QAAQ6C,EAAc,MAASI,GAAUD,EACzE,IACO5E,CACT,IAEAnB,EAAOC,QAAUuD,C,sBC1BjB,IAAIL,EAAW,EAAQ,MAoBvBnD,EAAOC,QARP,SAAe8B,GACb,GAAoB,iBAATA,GAAqBoB,EAASpB,GACvC,OAAOA,EAET,IAAIZ,EAAUY,EAAQ,GACtB,MAAkB,KAAVZ,GAAkB,EAAIY,IAdjB,SAcwC,KAAOZ,CAC9D,C,kBCjBA,IAGIsB,EAHYF,SAAS1C,UAGI6C,SAqB7B1C,EAAOC,QAZP,SAAkB8E,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOtC,EAAaK,KAAKiC,EACd,CAAX,MAAOX,GAAI,CACb,IACE,OAAQW,EAAO,EACJ,CAAX,MAAOX,GAAI,CACf,CACA,MAAO,EACT,C,mBCaApE,EAAOC,QAJP,SAAY8B,EAAOoE,GACjB,OAAOpE,IAAUoE,GAAUpE,GAAUA,GAASoE,GAAUA,CAC1D,C,uBClCA,IAAIC,EAAU,EAAQ,MAgCtBpG,EAAOC,QALP,SAAauB,EAAQC,EAAM4E,GACzB,IAAIlF,EAAmB,MAAVK,OAAiBE,EAAY0E,EAAQ5E,EAAQC,GAC1D,YAAkBC,IAAXP,EAAuBkF,EAAelF,CAC/C,C,mBCPA,IAAI+B,EAAU9B,MAAM8B,QAEpBlD,EAAOC,QAAUiD,C,uBCzBjB,IAAIoD,EAAa,EAAQ,MACrBnE,EAAW,EAAQ,MAmCvBnC,EAAOC,QAVP,SAAoB8B,GAClB,IAAKI,EAASJ,GACZ,OAAO,EAIT,IAAI9C,EAAMqH,EAAWvE,GACrB,MA5BY,qBA4BL9C,GA3BI,8BA2BcA,GA7BZ,0BA6B6BA,GA1B7B,kBA0BgDA,CAC/D,C,mBCJAe,EAAOC,QALP,SAAkB8B,GAChB,IAAI0C,SAAc1C,EAClB,OAAgB,MAATA,IAA0B,UAAR0C,GAA4B,YAARA,EAC/C,C,mBCAAzE,EAAOC,QAJP,SAAsB8B,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,C,uBC1BA,IAAIuE,EAAa,EAAQ,MACrBC,EAAe,EAAQ,MA2B3BvG,EAAOC,QALP,SAAkB8B,GAChB,MAAuB,iBAATA,GACXwE,EAAaxE,IArBF,mBAqBYuE,EAAWvE,EACvC,C,uBC1BA,IAAIhB,EAAW,EAAQ,MAiDvB,SAASsE,EAAQN,EAAMyB,GACrB,GAAmB,mBAARzB,GAAmC,MAAZyB,GAAuC,mBAAZA,EAC3D,MAAM,IAAIC,UAhDQ,uBAkDpB,IAAIC,EAAW,WACb,IAAIC,EAAOC,UACPlJ,EAAM8I,EAAWA,EAASK,MAAMrL,KAAMmL,GAAQA,EAAK,GACnDrB,EAAQoB,EAASpB,MAErB,GAAIA,EAAMvF,IAAIrC,GACZ,OAAO4H,EAAMxF,IAAIpC,GAEnB,IAAIyD,EAAS4D,EAAK8B,MAAMrL,KAAMmL,GAE9B,OADAD,EAASpB,MAAQA,EAAM1F,IAAIlC,EAAKyD,IAAWmE,EACpCnE,CACT,EAEA,OADAuF,EAASpB,MAAQ,IAAKD,EAAQyB,OAAS/F,GAChC2F,CACT,CAGArB,EAAQyB,MAAQ/F,EAEhBf,EAAOC,QAAUoF,C,uBCxEjB,IAAI/B,EAAe,EAAQ,KA2B3BtD,EAAOC,QAJP,SAAkB8B,GAChB,OAAgB,MAATA,EAAgB,GAAKuB,EAAavB,EAC3C,C","sources":["webpack://040-code/./src/components/Flag/Flag.js","webpack://040-code/./src/components/Flag/uk-flag.png","webpack://040-code/./src/components/Flag/fr-flag.png","webpack://040-code/./src/components/Hero.js","webpack://040-code/./src/components/AuthorList.js","webpack://040-code/./src/components/PostsListItem.js","webpack://040-code/./src/components/PostsList.js","webpack://040-code/./src/components/TagList.js","webpack://040-code/./node_modules/lodash/_Hash.js","webpack://040-code/./node_modules/lodash/_ListCache.js","webpack://040-code/./node_modules/lodash/_Map.js","webpack://040-code/./node_modules/lodash/_MapCache.js","webpack://040-code/./node_modules/lodash/_Symbol.js","webpack://040-code/./node_modules/lodash/_arrayMap.js","webpack://040-code/./node_modules/lodash/_assocIndexOf.js","webpack://040-code/./node_modules/lodash/_baseGet.js","webpack://040-code/./node_modules/lodash/_baseGetTag.js","webpack://040-code/./node_modules/lodash/_baseIsNative.js","webpack://040-code/./node_modules/lodash/_baseToString.js","webpack://040-code/./node_modules/lodash/_castPath.js","webpack://040-code/./node_modules/lodash/_coreJsData.js","webpack://040-code/./node_modules/lodash/_freeGlobal.js","webpack://040-code/./node_modules/lodash/_getMapData.js","webpack://040-code/./node_modules/lodash/_getNative.js","webpack://040-code/./node_modules/lodash/_getRawTag.js","webpack://040-code/./node_modules/lodash/_getValue.js","webpack://040-code/./node_modules/lodash/_hashClear.js","webpack://040-code/./node_modules/lodash/_hashDelete.js","webpack://040-code/./node_modules/lodash/_hashGet.js","webpack://040-code/./node_modules/lodash/_hashHas.js","webpack://040-code/./node_modules/lodash/_hashSet.js","webpack://040-code/./node_modules/lodash/_isKey.js","webpack://040-code/./node_modules/lodash/_isKeyable.js","webpack://040-code/./node_modules/lodash/_isMasked.js","webpack://040-code/./node_modules/lodash/_listCacheClear.js","webpack://040-code/./node_modules/lodash/_listCacheDelete.js","webpack://040-code/./node_modules/lodash/_listCacheGet.js","webpack://040-code/./node_modules/lodash/_listCacheHas.js","webpack://040-code/./node_modules/lodash/_listCacheSet.js","webpack://040-code/./node_modules/lodash/_mapCacheClear.js","webpack://040-code/./node_modules/lodash/_mapCacheDelete.js","webpack://040-code/./node_modules/lodash/_mapCacheGet.js","webpack://040-code/./node_modules/lodash/_mapCacheHas.js","webpack://040-code/./node_modules/lodash/_mapCacheSet.js","webpack://040-code/./node_modules/lodash/_memoizeCapped.js","webpack://040-code/./node_modules/lodash/_nativeCreate.js","webpack://040-code/./node_modules/lodash/_objectToString.js","webpack://040-code/./node_modules/lodash/_root.js","webpack://040-code/./node_modules/lodash/_stringToPath.js","webpack://040-code/./node_modules/lodash/_toKey.js","webpack://040-code/./node_modules/lodash/_toSource.js","webpack://040-code/./node_modules/lodash/eq.js","webpack://040-code/./node_modules/lodash/get.js","webpack://040-code/./node_modules/lodash/isArray.js","webpack://040-code/./node_modules/lodash/isFunction.js","webpack://040-code/./node_modules/lodash/isObject.js","webpack://040-code/./node_modules/lodash/isObjectLike.js","webpack://040-code/./node_modules/lodash/isSymbol.js","webpack://040-code/./node_modules/lodash/memoize.js","webpack://040-code/./node_modules/lodash/toString.js"],"sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\nimport ukFlag from './uk-flag.png'\nimport frFlag from './fr-flag.png'\n\nconst FlagImage = styled.img`\n padding-right: 0.5rem;\n padding-bottom: 0.2rem;\n`\n\nclass Flag extends React.Component {\n render() {\n const { language } = this.props\n const img = language === 'en' ? ukFlag : frFlag\n const alt = language === 'en' ? 'english post' : 'post en francais'\n\n return \n }\n}\n\nexport default Flag\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAPASURBVDhPrZT7TxxVFMc/d/Y1wA60gEXwgSU1ViJiJSZqahpqm2jQNlRSHyhRa6wG2kTSpK3v2BptoyRorJi2IaLlF/qyoTU0sRAClDaKRqQ0qShElkJBdpd9z+7seGfQ+A9wkjvn3jnn3Pu93/PNFaY0lsiUf/2SmNATuqm4XYyPTRMOJ3C7nXbAMNLkF2STEw+RXAjjyvYSVDXmZhZwOBYx6HoKrWA5N4dmEZoXMflFi1m4YT2B4jtp2ncKny9IVpZKPK5TXfswlROXmb84RO5DFXQXP8CpYwOoqptoTOeWu4p4uUQn9/pfOJ7dgjJcupZIbz/qd8fZv7+aqk33EgpF5bkmQsivIqwZpviPWpNQIsnjm8p5S7tGocckZ8d2Bn6ZRLnUe5U9v+cSy9QI7H2Xmur7adxbJRHOEgrrSAikg0GIxQlHdK4vJNi5tZSNF9pQn6jC/WQV9fXfcrFvDCUm4fZ3DbPxkxEGVz2C75k6ykWAr1q3k6llkAyESM3NkwyG8OZnc2BdFsUnW1nW/CndvjQVFR/QNzBBTKJlzh8wdcM0o3raDOiWUEzTiEQWJ9Imd71njq5Zb3vbov/H/OGEXWfVW/uI0Z17TPObE5DhwVKcrTqLq/QiR44cDeGRsUQCQ6ITiiJzFhMVyafFq4SFeOEpFKtG98trzAdJ+YMYATmkTwcX7JGamSXpm7K9tTb8AdIyx47JPKvOqk/LzcVky1Ezs6cP0+0mlTSIRHWE1J1wyWEYhAd/InVjDueKfLwPVmDEJQrVIxEpqMLA5XJYgiNWuRZx4tzP5pU/YkQjCQqLNHY8Lwtm5zC+78JdV8vE1m3Mdxwnt6aG4o6j9tXDXd14VAfHnKu52j+CV+qytCQDh4uy95sPHGFqPETrkTpibe0kG17jHXMNpy/N8ljoCoHh31hx3z00/qhwvvMymxs246t/g1u7z/LZjTy+bjqMW3hQIpEYr7xey9i1j1l4cRuJM508V9ZIU8sZ8papiLSFRfIhuc3P1/i8uZ11lQe5/exJbpOkn5s4xJu7X0J3ulD2HXyaw4dqmVp5N9Ml5awaKaWz7bzcIFMOgWIRS8r2dpvJprfnV8nVq/y5YQvZPT/Q0L6btx/NQ8mYGmew4A4u7PqQso+GiYyNoWkSkXBgJPxMy3q/c7ntrbX1X5NiVpQUqwtr+bJjiKzRIcyZScTfwYDpTybxJBPkZMkOWofbJuQrEifqVFFk99Kyi5mpOF6vKmOLGrTABoOyefEkNxUVSipsBS6NLeHjCP8AHa/ubr0bcvgAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAKnRFWHRDcmVhdGlvbiBUaW1lAEZyIDkgTm92IDIwMDcgMTY6Mjc6MDYgKzAxMDAM3ZqdAAAAB3RJTUUH1wsJDxwzm8yD2gAAAAlwSFlzAAALEgAACxIB0t1+/AAAAARnQU1BAACxjwv8YQUAAAHdSURBVHjaxVO7btRAFD3zsNdxQIqQqBYk6ghR0tLxDXwCn8HX0BGlo6JCKAqCIlVCkCjQLgkgxbDB67XnlXPHRvsJGWs04/F53ZkxcNtNvXj5arG7uzf3KfJNIUSFh/dn2H9Qc564pABj0Z98hPt6CsVHyzoCrv6tl/bO3Xvzx0+fw0cveugp8ORRjWf7e1lAmi5naKuAHh2QSI4RpQbeHBzOrSfIBQ/vAzWRE8jcDQNCQk4g3TtinMtkEUHfIaxW0OIqa55rMTEYu3xXWm/r1AYZ5AYolqoJ6D4dU1jDCjFkMrskoFukKG2ys56EFEkyC38abE4+w1z/heU3K0Q/OUchp0zNxCCuU+sX37F69xZYt9CmQDHKUYDwQMPIONpo9A5o2gH9ZoPBjwKm5h78/glcs+ayylQtpyOjQFLS2fnovMHrDz9wftEixTACJKY1HFUmZbIk5GM4WkWyI/bg+AJD0CjKAmVhMlFPpchmaWUm4v8+HrElAu/Pmnz+RWmReGmU2QoYmRsRQHYdE2CbYMOaF51HOWNt1iJSoODFqeSd9YlAUe2g4+gVpjI0ZmoUspe/Lpfdqpk7cWH0QN0zVeOwqxnSjJtYVWi/fEO/DlDWZ2chX4W0vO1/EbgBHTnbxGOMU+UAAAAASUVORK5CYII=\"","import React, { Fragment } from 'react'\nimport { withPrefix, Link } from 'gatsby'\nimport siteConfig from '../../data/siteConfig'\nimport styled from 'styled-components'\n\nconst HeroContainer = styled.div`\n position: relative;\n display: table;\n width: 100%;\n height: 340px;\n overflow: hidden;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n`\n\nconst TitleContainer = styled.div`\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n width: 100%;\n`\n\nconst LocationContainer = styled.div`\n display: table-footer-group;\n vertical-align: center;\n text-align: right;\n width: 100%;\n`\n\nconst HeroTitle = styled.h1`\n font-size: 3.5rem;\n margin: 10px 60px;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-weight: 800;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n`\n\nconst HeroSubtitle = styled.h2`\n font-size: 1.7rem;\n margin: 10px 60px;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n`\n\nconst DateAndAuthor = styled.span`\n font-weight: 500;\n font-size: 1.2rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n`\n\nconst AuthorLink = styled(Link)`\n margin-left: 0.3rem;\n font-weight: 500;\n font-size: 1.2rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n &:before {\n content: '@';\n }\n`\n\nconst LocationLink = styled.a`\n margin-right: 0.7rem;\n font-size: 0.9rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-size: 1rem;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-style: italic;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n`\n\nconst LocationMarker = styled.span`\n margin-right: 0.4rem;\n font-size: 0.75rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n`\n\nclass Hero extends React.Component {\n render() {\n const heroImg = this.props.heroImg || withPrefix(siteConfig.siteCover)\n const { title } = this.props\n const { subtitle } = this.props\n const { date } = this.props\n const { authors } = this.props\n const { coverDescription } = this.props\n const { coverLink } = this.props\n\n return (\n \n \n {title} \n {subtitle} \n {authors && authors.length != 0 && (\n \n by:{' '}\n {authors &&\n authors.map((author, i) => {\n return (\n \n {author} \n {i < authors.length - 1 ? ' ' : ''}\n \n )\n })}\n on {date}\n \n )}\n \n {coverDescription && coverLink && (\n \n \n \n \n \n {coverDescription}\n \n \n )}\n \n )\n }\n}\n\nexport default Hero\n","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\n\nconst ListContainer = styled.div`\n display: inline;\n margin: 0 0.5rem 0 0;\n color: #787676;\n`\n\nconst AuthorListItem = styled(Link)`\n margin-left: 0.3rem;\n color: #787676;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n &:before {\n content: '@';\n }\n`\n\nclass AuthorList extends React.Component {\n render() {\n const { authors } = this.props\n\n return (\n \n {authors.map((author, i) => {\n return (\n \n {author} \n {i < authors.length - 1 ? ', ' : ''}\n \n )\n })}\n \n )\n }\n}\nexport default AuthorList\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport Flag from './Flag/Flag'\nimport TagList from './TagList'\nimport AuthorList from './AuthorList'\nimport siteConfig from '../../data/siteConfig'\nimport styled from 'styled-components'\n\nconst Post = styled.article`\n border-bottom: 1px solid rgba(214, 209, 230, 0.5);\n padding-bottom: 1.25rem;\n margin-bottom: 2rem;\n`\n\nconst ReadPost = styled(Link)`\n display: block;\n font-size: 0.75rem;\n margin-top: 1rem;\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n line-height: 2;\n\n &:hover {\n background-color: rgba(32, 35, 42, 0.85);\n border-radius: 0.25rem;\n color: #fff;\n }\n`\n\nconst PostDate = styled.time`\n color: #787676;\n &:before {\n content: '🗓';\n margin-right: 0.2rem;\n }\n`\n\nconst PostHeader = styled.header`\n padding: 0em 0;\n`\n\nconst Excerpt = styled.p`\n line-height: 1.45;\n padding-bottom: 0.5em;\n`\n\nconst PostTitleLink = styled(Link)`\n font-size: 1.6rem;\n font-weight: bold;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n &:hover {\n border-bottom: 1px dotted rgba(34, 34, 34, 0.8);\n }\n`\nconst PostSubTitle = styled.p`\n padding: 0.8rem 0;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-style: italic;\n font-size: 1.2rem;\n`\n\nclass PostsListItem extends React.Component {\n render() {\n const { title, subtitle, slug, date, language, tags, authors } = this.props\n\n return (\n \n \n \n \n {siteConfig.multilangPosts && }\n {title}\n \n \n \n \n \n \n {date} \n \n {/* Read post › */}\n \n \n )\n }\n}\nexport default PostsListItem\n","import React, { Fragment } from 'react'\n\nimport PostsListItem from './PostsListItem'\n\nclass PostsList extends React.Component {\n render() {\n const { posts } = this.props\n\n return (\n \n {posts.map(post => {\n const props = {\n title: post.node.frontmatter.title,\n subtitle: post.node.frontmatter.subtitle,\n slug: post.node.frontmatter.slug,\n date: post.node.frontmatter.date,\n language: post.node.frontmatter.language || 'en',\n tags: post.node.frontmatter.tags || [],\n authors: post.node.frontmatter.authors || [],\n }\n return \n })}\n \n )\n }\n}\nexport default PostsList\n","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\n\nconst ListContainer = styled.div`\n display: inline;\n margin: 0 0.5rem 0 0;\n color: #787676;\n`\n\nconst TagListItem = styled(Link)`\n margin-left: 0.3rem;\n\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n`\n\nclass TagList extends React.Component {\n render() {\n const { tags, icon } = this.props\n\n return (\n \n {icon === true}\n {tags.map((tag, i) => {\n return (\n \n \n {tag}\n \n {i < tags.length - 1 ? ' ' : ''}\n \n )\n })}\n \n )\n }\n}\nexport default TagList\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n"],"names":["FlagImage","styled","Flag","render","language","this","props","img","alt","src","className","React","HeroContainer","TitleContainer","LocationContainer","HeroTitle","HeroSubtitle","DateAndAuthor","AuthorLink","Link","LocationLink","LocationMarker","Hero","heroImg","withPrefix","siteConfig","title","subtitle","date","authors","coverDescription","coverLink","style","backgroundImage","length","map","author","i","Fragment","key","to","href","target","ListContainer","AuthorListItem","AuthorList","Post","PostDate","PostHeader","PostTitleLink","PostSubTitle","PostsListItem","slug","tags","TagList","icon","PostsList","posts","post","node","frontmatter","TagListItem","tag","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","index","clear","entry","set","prototype","get","has","module","exports","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","Map","getNative","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","Symbol","array","iteratee","result","Array","eq","castPath","toKey","object","path","undefined","getRawTag","objectToString","symToStringTag","toStringTag","value","Object","isFunction","isMasked","isObject","toSource","reIsHostCtor","funcProto","Function","objectProto","funcToString","toString","hasOwnProperty","reIsNative","RegExp","call","replace","test","arrayMap","isArray","isSymbol","symbolProto","symbolToString","baseToString","isKey","stringToPath","coreJsData","freeGlobal","g","isKeyable","data","__data__","baseIsNative","getValue","nativeObjectToString","isOwn","unmasked","e","nativeCreate","size","reIsDeepProp","reIsPlainProp","type","uid","maskSrcKey","exec","keys","IE_PROTO","func","assocIndexOf","splice","pop","push","getMapData","memoize","cache","freeSelf","self","root","memoizeCapped","rePropName","reEscapeChar","string","charCodeAt","match","number","quote","subString","other","baseGet","defaultValue","baseGetTag","isObjectLike","resolver","TypeError","memoized","args","arguments","apply","Cache"],"sourceRoot":""}
\ No newline at end of file
diff --git a/404.html b/404.html
new file mode 100644
index 00000000..273c1aff
--- /dev/null
+++ b/404.html
@@ -0,0 +1,112 @@
+Page Not Found | 040code This site runs best with JavaScript enabled. 404 Page Not Found 👻
Looks like you've followed a broken link or entered a URL that doesn't exist on this site.
Recent Posts
\ No newline at end of file
diff --git a/404/index.html b/404/index.html
new file mode 100644
index 00000000..03bf1877
--- /dev/null
+++ b/404/index.html
@@ -0,0 +1,112 @@
+Page Not Found | 040code This site runs best with JavaScript enabled. 404 Page Not Found 👻
Looks like you've followed a broken link or entered a URL that doesn't exist on this site.
Recent Posts
\ No newline at end of file
diff --git a/4463b084153941d1edea7583fe0befcf/multicluster-with-gateways.svg b/4463b084153941d1edea7583fe0befcf/multicluster-with-gateways.svg
new file mode 100644
index 00000000..42f1f390
--- /dev/null
+++ b/4463b084153941d1edea7583fe0befcf/multicluster-with-gateways.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/589-5653cae175226caa3518.js b/589-5653cae175226caa3518.js
new file mode 100644
index 00000000..3180bf89
--- /dev/null
+++ b/589-5653cae175226caa3518.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunk_040_code=self.webpackChunk_040_code||[]).push([[589],{1589:function(t,e,n){n.r(e),n.d(e,{getCLS:function(){return s},getFCP:function(){return v},getFID:function(){return p},getLCP:function(){return l},getTTFB:function(){return h}});var i=function(t,e){return{name:t,value:void 0===e?-1:e,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},a=function(t,e){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){if("first-input"===t&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(t){return t.getEntries().map(e)}));return n.observe({type:t,buffered:!0}),n}}catch(t){}},r=function(t,e){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(t(i),e&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},o=function(t){addEventListener("pageshow",(function(e){e.persisted&&t(e)}),!0)},u="function"==typeof WeakSet?new WeakSet:new Set,c=function(t,e,n){var i;return function(){e.value>=0&&(n||u.has(e)||"hidden"===document.visibilityState)&&(e.delta=e.value-(i||0),(e.delta||void 0===i)&&(i=e.value,t(e)))}},s=function(t,e){var n,u=i("CLS",0),s=function(t){t.hadRecentInput||(u.value+=t.value,u.entries.push(t),n())},f=a("layout-shift",s);f&&(n=c(t,u,e),r((function(){f.takeRecords().map(s),n()})),o((function(){u=i("CLS",0),n=c(t,u,e)})))},f=-1,d=function(){r((function(t){var e=t.timeStamp;f=e}),!0)},m=function(){return f<0&&((f=self.webVitals.firstHiddenTime)===1/0&&d(),o((function(){setTimeout((function(){f="hidden"===document.visibilityState?0:1/0,d()}),0)}))),{get timeStamp(){return f}}},v=function(t,e){var n,r=m(),s=i("FCP"),f=function(t){"first-contentful-paint"===t.name&&(v&&v.disconnect(),t.startTime= 0 && (n || a.has(e) || \"hidden\" === document.visibilityState) && (e.delta = e.value - (i || 0), (e.delta || void 0 === i) && (i = e.value, t(e)));\n };\n },\n o = function o(a, _o) {\n var u,\n c = t(\"CLS\", 0),\n s = function s(t) {\n t.hadRecentInput || (c.value += t.value, c.entries.push(t), u());\n },\n f = e(\"layout-shift\", s);\n f && (u = r(a, c, _o), n(function () {\n f.takeRecords().map(s), u();\n }), i(function () {\n c = t(\"CLS\", 0), u = r(a, c, _o);\n }));\n },\n u = -1,\n c = function c() {\n n(function (t) {\n var e = t.timeStamp;\n u = e;\n }, !0);\n },\n s = function s() {\n return u < 0 && ((u = self.webVitals.firstHiddenTime) === 1 / 0 && c(), i(function () {\n setTimeout(function () {\n u = \"hidden\" === document.visibilityState ? 0 : 1 / 0, c();\n }, 0);\n })), {\n get timeStamp() {\n return u;\n }\n };\n },\n f = function f(n, o) {\n var u,\n c = s(),\n f = t(\"FCP\"),\n d = function d(t) {\n \"first-contentful-paint\" === t.name && (v && v.disconnect(), t.startTime < c.timeStamp && (f.value = t.startTime, f.entries.push(t), a.add(f), u()));\n },\n m = performance.getEntriesByName(\"first-contentful-paint\")[0],\n v = m ? null : e(\"paint\", d);\n (m || v) && (u = r(n, f, o), m && d(m), i(function (e) {\n f = t(\"FCP\"), u = r(n, f, o), requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n f.value = performance.now() - e.timeStamp, a.add(f), u();\n });\n });\n }));\n },\n d = function d(o, u) {\n var c,\n f = s(),\n d = t(\"FID\"),\n m = function m(t) {\n t.startTime < f.timeStamp && (d.value = t.processingStart - t.startTime, d.entries.push(t), a.add(d), c());\n },\n v = e(\"first-input\", m);\n c = r(o, d, u), v && n(function () {\n v.takeRecords().map(m), v.disconnect();\n }, !0), v || window.webVitals.firstInputPolyfill(m), i(function () {\n d = t(\"FID\"), c = r(o, d, u), window.webVitals.resetFirstInputPolyfill(), window.webVitals.firstInputPolyfill(m);\n });\n },\n m = function m(o, u) {\n var c,\n f = s(),\n d = t(\"LCP\"),\n m = function m(t) {\n var e = t.startTime;\n e < f.timeStamp && (d.value = e, d.entries.push(t)), c();\n },\n v = e(\"largest-contentful-paint\", m);\n if (v) {\n c = r(o, d, u);\n var p = function p() {\n a.has(d) || (v.takeRecords().map(m), v.disconnect(), a.add(d), c());\n };\n [\"keydown\", \"click\"].forEach(function (t) {\n addEventListener(t, p, {\n once: !0,\n capture: !0\n });\n }), n(p, !0), i(function (e) {\n d = t(\"LCP\"), c = r(o, d, u), requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n d.value = performance.now() - e.timeStamp, a.add(d), c();\n });\n });\n });\n }\n },\n v = function v(e) {\n var n,\n i = t(\"TTFB\");\n n = function n() {\n try {\n var t = performance.getEntriesByType(\"navigation\")[0] || function () {\n var t = performance.timing,\n e = {\n entryType: \"navigation\",\n startTime: 0\n };\n for (var n in t) {\n \"navigationStart\" !== n && \"toJSON\" !== n && (e[n] = Math.max(t[n] - t.navigationStart, 0));\n }\n return e;\n }();\n if (i.value = i.delta = t.responseStart, i.value < 0) return;\n i.entries = [t], e(i);\n } catch (t) {}\n }, \"complete\" === document.readyState ? setTimeout(n, 0) : addEventListener(\"pageshow\", n);\n };\nexport { o as getCLS, f as getFCP, d as getFID, m as getLCP, v as getTTFB };"],"names":["t","_t","e","name","value","delta","entries","id","concat","Date","now","Math","floor","random","_e","PerformanceObserver","supportedEntryTypes","includes","self","n","getEntries","map","observe","type","buffered","i","document","visibilityState","removeEventListener","addEventListener","persisted","a","WeakSet","Set","r","has","o","_o","u","c","s","hadRecentInput","push","f","takeRecords","timeStamp","webVitals","firstHiddenTime","setTimeout","d","v","disconnect","startTime","add","m","performance","getEntriesByName","requestAnimationFrame","processingStart","window","firstInputPolyfill","resetFirstInputPolyfill","p","forEach","once","capture","getEntriesByType","timing","entryType","max","navigationStart","responseStart","readyState"],"sourceRoot":""}
\ No newline at end of file
diff --git a/6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js b/6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js
new file mode 100644
index 00000000..df31822b
--- /dev/null
+++ b/6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js
@@ -0,0 +1,2 @@
+(self.webpackChunk_040_code=self.webpackChunk_040_code||[]).push([[219],{3509:function(e,t){var r,n,a,o,s,i,l,u,c,f,d,p,m,h,b,g;n="undefined"!=typeof window?window:this,s="0.5.4",i="hasOwnProperty",l=/[\.\/]/,u=/\s*,\s*/,c=function(e,t){return e-t},f={n:{}},d=function(){for(var e=0,t=this.length;e1)for(var n=0,a=r.length;nn-1||(e.animate({path:r[t]},0===t?400:500,0===t?a.easein:a.elastic,(function(){o()})),t++)}()}},morphShape:function(e,t,r){return{position:"absolute",width:"100%",height:"100%",right:r?"inherit":0,left:r?0:"inherit",MozTransform:r?"rotateY(180deg)":"rotateY(0deg)",MsTransform:r?"rotateY(180deg)":"rotateY(0deg)",OTransform:r?"rotateY(180deg)":"rotateY(0deg)",WebkitTransform:r?"rotateY(180deg)":"rotateY(0deg)",transform:r?"rotateY(180deg)":"rotateY(0deg)"}},menuWrap:function(e,t,r){return{MozTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:e?"transform 0.4s 0s":"transform 0.4s"}},menu:function(e,t,r){var n=(0,s.pxToNum)(t)-140;return{position:"fixed",MozTransform:e?"":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",MsTransform:e?"":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",OTransform:e?"":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",WebkitTransform:e?"":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",transform:e?"":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",transition:e?"opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}},item:function(e,t,r,n){var a=(0,s.pxToNum)(t)-140;return{MozTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",OTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",transform:e?"translate3d(0, 0, 0)":r?"translate3d("+a+", 0, 0)":"translate3d(-"+a+", 0, 0)",transition:e?"opacity 0.3s 0.4s, transform 0.3s 0.4s":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}},closeButton:function(e,t,r){var n=(0,s.pxToNum)(t)-140;return{MozTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",OTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",transform:e?"translate3d(0, 0, 0)":r?"translate3d("+n+", 0, 0)":"translate3d(-"+n+", 0, 0)",transition:e?"opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)":"opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)",opacity:e?1:0}}};t.default=(0,o.default)(i),e.exports=t.default},5595:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(r(2330)),o=n(r(7486)),s=r(842),i={svg:{lib:a.default,pathInitial:"M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z",pathOpen:"M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z",animate:function(e){e.animate({path:this.pathOpen},400,window.mina.easeinout)}},morphShape:function(e,t,r){return{position:"absolute",width:120,height:"100%",right:r?"inherit":0,left:r?0:"inherit",MozTransform:r?"rotateY(180deg)":"",MsTransform:r?"rotateY(180deg)":"",OTransform:r?"rotateY(180deg)":"",WebkitTransform:r?"rotateY(180deg)":"",transform:r?"rotateY(180deg)":""}},menuWrap:function(e,t,r){return{MozTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",MsTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",OTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",WebkitTransform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transform:e?"translate3d(0, 0, 0)":r?"translate3d(100%, 0, 0)":"translate3d(-100%, 0, 0)",transition:"all 0.3s"}},menu:function(e,t,r){return{position:"fixed",right:r?0:"inherit",width:(0,s.pxToNum)(t)-120,whiteSpace:"nowrap",boxSizing:"border-box",overflow:"visible"}},itemList:function(e,t,r){if(r)return{position:"relative",left:"-110px",width:"170%",overflow:"auto"}},pageWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",MsTransform:e?"":r?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",OTransform:e?"":r?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",WebkitTransform:e?"":r?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",transform:e?"":r?"translate3d(-100px, 0, 0)":"translate3d(100px, 0, 0)",transition:e?"all 0.3s":"all 0.3s 0.1s"}},outerContainer:function(e){return{overflow:e?"":"hidden"}}};t.default=(0,o.default)(i),e.exports=t.default},9932:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({menuWrap:function(e){return{MozTransform:e?"":"translate3d(0, -100%, 0)",MsTransform:e?"":"translate3d(0, -100%, 0)",OTransform:e?"":"translate3d(0, -100%, 0)",WebkitTransform:e?"":"translate3d(0, -100%, 0)",transform:e?"":"translate3d(0, -100%, 0)",transition:"all 0.5s ease-in-out"}},pageWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s"}},outerContainer:function(e){return{perspective:"1500px",perspectiveOrigin:"0% 50%",overflow:e?"":"hidden"}}}),e.exports=t.default},4208:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({pageWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s"}},outerContainer:function(e){return{overflow:e?"":"hidden"}}}),e.exports=t.default},8689:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({pageWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",MsTransform:e?"":r?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",OTransform:e?"":r?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",WebkitTransform:e?"":r?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",transform:e?"":r?"translate3d(-"+t+", 0, 0) rotateY(15deg)":"translate3d("+t+", 0, 0) rotateY(-15deg)",transformOrigin:r?"100% 50%":"0% 50%",transformStyle:"preserve-3d",transition:"all 0.5s"}},outerContainer:function(e){return{perspective:"1500px",overflow:e?"":"hidden"}}}),e.exports=t.default},6545:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({menuWrap:function(e,t,r){return{MozTransform:"translate3d(0, 0, 0)",MsTransform:"translate3d(0, 0, 0)",OTransform:"translate3d(0, 0, 0)",WebkitTransform:"translate3d(0, 0, 0)",transform:"translate3d(0, 0, 0)",zIndex:e?1e3:-1}},overlay:function(e,t,r){return{zIndex:1400,MozTransform:e?r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",MsTransform:e?r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",OTransform:e?r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",WebkitTransform:e?r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",transform:e?r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)":"translate3d(0, 0, 0)",transition:"all 0.5s",visibility:e?"visible":"hidden"}},pageWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",MsTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",OTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",WebkitTransform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transform:e?"":r?"translate3d(-"+t+", 0, 0)":"translate3d("+t+", 0, 0)",transition:"all 0.5s",zIndex:1200,position:"relative"}},burgerIcon:function(e,t,r){return{MozTransform:e?r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",MsTransform:e?r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",OTransform:e?r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",WebkitTransform:e?r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",transform:e?r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)":"translate3d(0, 0, 0)",transition:"all 0.1s",position:"relative",zIndex:1300}},outerContainer:function(e){return{overflow:e?"":"hidden"}}}),e.exports=t.default},4468:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({pageWrap:function(e,t){return{MozTransform:e?"":"translate3d(0, 0, -"+t+")",MsTransform:e?"":"translate3d(0, 0, -"+t+")",OTransform:e?"":"translate3d(0, 0, -"+t+")",WebkitTransform:e?"":"translate3d(0, 0, -"+t+")",transform:e?"":"translate3d(0, 0, -"+t+")",transformOrigin:"100%",transformStyle:"preserve-3d",transition:"all 0.5s"}},outerContainer:function(){return{perspective:"1500px"}}}),e.exports=t.default},8188:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({pageWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",MsTransform:e?"":r?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",OTransform:e?"":r?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",WebkitTransform:e?"":r?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",transform:e?"":r?"translate3d(-100px, 0, -600px) rotateY(20deg)":"translate3d(100px, 0, -600px) rotateY(-20deg)",transformStyle:"preserve-3d",transition:"all 0.5s",overflow:e?"":"hidden"}},outerContainer:function(e){return{perspective:"1500px",overflow:e?"":"hidden"}}}),e.exports=t.default},2300:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({}),e.exports=t.default},611:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,a=r(7486),o=(n=a)&&n.__esModule?n:{default:n};t.default=(0,o.default)({menuWrap:function(e,t,r){return{MozTransform:e?"":r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",MsTransform:e?"":r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",OTransform:e?"":r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",WebkitTransform:e?"":r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",transform:e?"":r?"translate3d("+t+", 0, 0)":"translate3d(-"+t+", 0, 0)",transition:e?"transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)":"transform 0.4s cubic-bezier(0.7, 0, 0.3, 1)"}},item:function(e,t,r,n){return{MozTransform:e?"":"translate3d(0, "+500*n+"px, 0)",MsTransform:e?"":"translate3d(0, "+500*n+"px, 0)",OTransform:e?"":"translate3d(0, "+500*n+"px, 0)",WebkitTransform:e?"":"translate3d(0, "+500*n+"px, 0)",transform:e?"":"translate3d(0, "+500*n+"px, 0)",transition:e?"transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)":"transform 0s 0.2s cubic-bezier(0.7, 0, 0.3, 1)"}}}),e.exports=t.default},2993:function(e){var t="undefined"!=typeof Element,r="function"==typeof Map,n="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,s){if(e===s)return!0;if(e&&s&&"object"==typeof e&&"object"==typeof s){if(e.constructor!==s.constructor)return!1;var i,l,u,c;if(Array.isArray(e)){if((i=e.length)!=s.length)return!1;for(l=i;0!=l--;)if(!o(e[l],s[l]))return!1;return!0}if(r&&e instanceof Map&&s instanceof Map){if(e.size!==s.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!s.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!o(l.value[1],s.get(l.value[0])))return!1;return!0}if(n&&e instanceof Set&&s instanceof Set){if(e.size!==s.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!s.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(s)){if((i=e.length)!=s.length)return!1;for(l=i;0!=l--;)if(e[l]!==s[l])return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===s.toString();if((i=(u=Object.keys(e)).length)!==Object.keys(s).length)return!1;for(l=i;0!=l--;)if(!Object.prototype.hasOwnProperty.call(s,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=i;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!o(e[u[l]],s[u[l]]))return!1;return!0}return e!=e&&s!=s}e.exports=function(e,t){try{return o(e,t)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}}},5414:function(e,t,r){"use strict";var n,a,o,s,i=r(5697),l=r.n(i),u=r(4839),c=r.n(u),f=r(2993),d=r.n(f),p=r(7294),m=r(6494),h=r.n(m),b="bodyAttributes",g="htmlAttributes",y="titleAttributes",v={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},T=(Object.keys(v).map((function(e){return v[e]})),"charset"),w="cssText",O="href",C="http-equiv",x="innerHTML",E="itemprop",k="name",M="property",I="rel",N="src",S="target",_={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},A="defaultTitle",j="defer",P="encodeSpecialCharacters",z="onChangeClientState",L="titleTemplate",B=Object.keys(_).reduce((function(e,t){return e[_[t]]=t,e}),{}),W=[v.NOSCRIPT,v.SCRIPT,v.STYLE],Y="data-react-helmet",R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},D=function(){function e(e,t){for(var r=0;r=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r},U=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},Z=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},K=function(e){var t=Q(e,v.TITLE),r=Q(e,L);if(r&&t)return r.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var n=Q(e,A);return t||n||void 0},V=function(e){return Q(e,z)||function(){}},G=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return F({},e,t)}),{})},$=function(e,t){return t.filter((function(e){return void 0!==e[v.BASE]})).map((function(e){return e[v.BASE]})).reverse().reduce((function(t,r){if(!t.length)for(var n=Object.keys(r),a=0;a=0;r--){var n=e[r];if(n.hasOwnProperty(t))return n[t]}return null},X=(n=Date.now(),function(e){var t=Date.now();t-n>16?(n=t,e(t)):setTimeout((function(){X(e)}),0)}),ee=function(e){return clearTimeout(e)},te="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||X:r.g.requestAnimationFrame||X,re="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||ee:r.g.cancelAnimationFrame||ee,ne=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},ae=null,oe=function(e,t){var r=e.baseTag,n=e.bodyAttributes,a=e.htmlAttributes,o=e.linkTags,s=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,u=e.scriptTags,c=e.styleTags,f=e.title,d=e.titleAttributes;le(v.BODY,n),le(v.HTML,a),ie(f,d);var p={baseTag:ue(v.BASE,r),linkTags:ue(v.LINK,o),metaTags:ue(v.META,s),noscriptTags:ue(v.NOSCRIPT,i),scriptTags:ue(v.SCRIPT,u),styleTags:ue(v.STYLE,c)},m={},h={};Object.keys(p).forEach((function(e){var t=p[e],r=t.newTags,n=t.oldTags;r.length&&(m[e]=r),n.length&&(h[e]=p[e].oldTags)})),t&&t(),l(e,m,h)},se=function(e){return Array.isArray(e)?e.join(""):e},ie=function(e,t){void 0!==e&&document.title!==e&&(document.title=se(e)),le(v.TITLE,t)},le=function(e,t){var r=document.getElementsByTagName(e)[0];if(r){for(var n=r.getAttribute(Y),a=n?n.split(","):[],o=[].concat(a),s=Object.keys(t),i=0;i=0;f--)r.removeAttribute(o[f]);a.length===o.length?r.removeAttribute(Y):r.getAttribute(Y)!==s.join(",")&&r.setAttribute(Y,s.join(","))}},ue=function(e,t){var r=document.head||document.querySelector(v.HEAD),n=r.querySelectorAll(e+"["+"data-react-helmet]"),a=Array.prototype.slice.call(n),o=[],s=void 0;return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var n in t)if(t.hasOwnProperty(n))if(n===x)r.innerHTML=t.innerHTML;else if(n===w)r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else{var i=void 0===t[n]?"":t[n];r.setAttribute(n,i)}r.setAttribute(Y,"true"),a.some((function(e,t){return s=t,r.isEqualNode(e)}))?a.splice(s,1):o.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:o}},ce=function(e){return Object.keys(e).reduce((function(t,r){var n=void 0!==e[r]?r+'="'+e[r]+'"':""+r;return t?t+" "+n:n}),"")},fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,r){return t[_[r]||r]=e[r],t}),t)},de=function(e,t,r){switch(e){case v.TITLE:return{toComponent:function(){return e=t.title,r=t.titleAttributes,(n={key:e})[Y]=!0,a=fe(r,n),[p.createElement(v.TITLE,a,e)];var e,r,n,a},toString:function(){return function(e,t,r,n){var a=ce(r),o=se(t);return a?"<"+e+' data-react-helmet="true" '+a+">"+Z(o,n)+""+e+">":"<"+e+' data-react-helmet="true">'+Z(o,n)+""+e+">"}(e,t.title,t.titleAttributes,r)}};case b:case g:return{toComponent:function(){return fe(t)},toString:function(){return ce(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,r){var n,a=((n={key:r})[Y]=!0,n);return Object.keys(t).forEach((function(e){var r=_[e]||e;if(r===x||r===w){var n=t.innerHTML||t.cssText;a.dangerouslySetInnerHTML={__html:n}}else a[r]=t[e]})),p.createElement(e,a)}))}(e,t)},toString:function(){return function(e,t,r){return t.reduce((function(t,n){var a=Object.keys(n).filter((function(e){return!(e===x||e===w)})).reduce((function(e,t){var a=void 0===n[t]?t:t+'="'+Z(n[t],r)+'"';return e?e+" "+a:a}),""),o=n.innerHTML||n.cssText||"",s=-1===W.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+a+(s?"/>":">"+o+""+e+">")}),"")}(e,t,r)}}}},pe=function(e){var t=e.baseTag,r=e.bodyAttributes,n=e.encode,a=e.htmlAttributes,o=e.linkTags,s=e.metaTags,i=e.noscriptTags,l=e.scriptTags,u=e.styleTags,c=e.title,f=void 0===c?"":c,d=e.titleAttributes;return{base:de(v.BASE,t,n),bodyAttributes:de(b,r,n),htmlAttributes:de(g,a,n),link:de(v.LINK,o,n),meta:de(v.META,s,n),noscript:de(v.NOSCRIPT,i,n),script:de(v.SCRIPT,l,n),style:de(v.STYLE,u,n),title:de(v.TITLE,{title:f,titleAttributes:d},n)}},me=c()((function(e){return{baseTag:$([O,S],e),bodyAttributes:G(b,e),defer:Q(e,j),encode:Q(e,P),htmlAttributes:G(g,e),linkTags:J(v.LINK,[I,O],e),metaTags:J(v.META,[k,T,C,M,E],e),noscriptTags:J(v.NOSCRIPT,[x],e),onChangeClientState:V(e),scriptTags:J(v.SCRIPT,[N,x],e),styleTags:J(v.STYLE,[w],e),title:K(e),titleAttributes:G(y,e)}}),(function(e){ae&&re(ae),e.defer?ae=te((function(){oe(e,(function(){ae=null}))})):(oe(e),ae=null)}),pe)((function(){return null})),he=(a=me,s=o=function(e){function t(){return H(this,t),U(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!d()(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case v.SCRIPT:case v.NOSCRIPT:return{innerHTML:t};case v.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,r=e.child,n=e.arrayTypeChildren,a=e.newChildProps,o=e.nestedChildren;return F({},n,((t={})[r.type]=[].concat(n[r.type]||[],[F({},a,this.mapNestedChildrenToProps(r,o))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,r,n=e.child,a=e.newProps,o=e.newChildProps,s=e.nestedChildren;switch(n.type){case v.TITLE:return F({},a,((t={})[n.type]=s,t.titleAttributes=F({},o),t));case v.BODY:return F({},a,{bodyAttributes:F({},o)});case v.HTML:return F({},a,{htmlAttributes:F({},o)})}return F({},a,((r={})[n.type]=F({},o),r))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var r=F({},t);return Object.keys(e).forEach((function(t){var n;r=F({},r,((n={})[t]=e[t],n))})),r},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var r=this,n={};return p.Children.forEach(e,(function(e){if(e&&e.props){var a=e.props,o=a.children,s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,r){return t[B[r]||r]=e[r],t}),t)}(q(a,["children"]));switch(r.warnOnInvalidChildren(e,o),e.type){case v.LINK:case v.META:case v.NOSCRIPT:case v.SCRIPT:case v.STYLE:n=r.flattenArrayTypeChildren({child:e,arrayTypeChildren:n,newChildProps:s,nestedChildren:o});break;default:t=r.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),t=this.mapArrayTypeChildrenToProps(n,t)},t.prototype.render=function(){var e=this.props,t=e.children,r=q(e,["children"]),n=F({},r);return t&&(n=this.mapChildrenToProps(t,n)),p.createElement(a,n)},D(t,null,[{key:"canUseDOM",set:function(e){a.canUseDOM=e}}]),t}(p.Component),o.propTypes={base:l().object,bodyAttributes:l().object,children:l().oneOfType([l().arrayOf(l().node),l().node]),defaultTitle:l().string,defer:l().bool,encodeSpecialCharacters:l().bool,htmlAttributes:l().object,link:l().arrayOf(l().object),meta:l().arrayOf(l().object),noscript:l().arrayOf(l().object),onChangeClientState:l().func,script:l().arrayOf(l().object),style:l().arrayOf(l().object),title:l().string,titleAttributes:l().object,titleTemplate:l().string},o.defaultProps={defer:!0,encodeSpecialCharacters:!0},o.peek=a.peek,o.rewind=function(){var e=a.rewind();return e||(e=pe({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},s);he.renderStatic=he.rewind,t.Z=he},4839:function(e,t,r){"use strict";var n,a=r(7294),o=(n=a)&&"object"==typeof n&&"default"in n?n.default:n;function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=!("undefined"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,r){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==r&&"function"!=typeof r)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(n){if("function"!=typeof n)throw new Error("Expected WrappedComponent to be a React component.");var l,u=[];function c(){l=e(u.map((function(e){return e.props}))),f.canUseDOM?t(l):r&&(l=r(l))}var f=function(e){var t,r;function a(){return e.apply(this,arguments)||this}r=e,(t=a).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,a.peek=function(){return l},a.rewind=function(){if(a.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=l;return l=void 0,u=[],e};var s=a.prototype;return s.UNSAFE_componentWillMount=function(){u.push(this),c()},s.componentDidUpdate=function(){c()},s.componentWillUnmount=function(){var e=u.indexOf(this);u.splice(e,1),c()},s.render=function(){return o.createElement(n,this.props)},a}(a.PureComponent);return s(f,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(n)+")"),s(f,"canUseDOM",i),f}}},4944:function(e,t,r){"use strict";var n=r(2109),a=r(6790),o=r(7908),s=r(6244),i=r(9303),l=r(5417);n({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=o(this),r=s(t),n=l(t,0);return n.length=a(n,t,t,r,0,void 0===e?1:i(e)),n}})},3792:function(e,t,r){r(1223)("flat")},3710:function(e){e.exports={siteTitle:"040code",siteDescription:"A developers blog",authorName:"040 code",twitterUsername:"niekos77",authorAvatar:"",multilangPosts:!1,authorDescription:"",siteUrl:"https://040code.github.io/",disqusSiteUrl:"https://www.disqus.com/",pathPrefix:"/",siteCover:"/images/cover.jpg",googleAnalyticsId:"UA-97020149-1",background_color:"#ffffff",theme_color:"#222222",display:"standalone",icon:"src/assets/gatsby-icon.png",postsPerPage:7,disqusShortname:"040code",headerLinks:[{label:"🏡 040 blog",url:"/"},{label:"About",url:"/about"},{label:"Niek Palm",url:"/authors/niek"},{label:"Maarten Metz",url:"/authors/maarten"},{label:"Jeroen Knoops",url:"/authors/jeroen"},{label:"Stefan van den Oord",url:"/authors/stefan"},{label:"Thales Sousa",url:"/authors/thales"}],footerLinks:[["040 code © 2019",{label:"Gatsby",prefix:"Built with ",url:"https://www.gatsbyjs.org/"}],["Blog",{label:"home",prefix:"",url:"/"},{label:"about",prefix:"",url:"/about"}],["Source",{label:"Github",url:"https://github.com/040code/"}]]}},311:function(e,t,r){"use strict";r.d(t,{Fg:function(){return s},ZL:function(){return o},xv:function(){return i}});var n=r(3494),a=r(1082),o=(0,n.createGlobalStyle)(['*{box-sizing:border-box;margin:0;padding:0;}body{font-family:"Lato",sans-serif;color:#222222cc;background-color:#e8e8e8;}img{max-width:100%;height:auto;vertical-align:middle;border:0;}a{text-decoration:none;color:#0366d6;}ul,ol{padding-left:2em;margin:1em 0 0 0;}']),s=(0,n.default)(a.Link).withConfig({displayName:"Commons__StyledLink",componentId:"sc-1yiug1-0"})(["border-bottom:1px dotted rgba(162,162,162,0.8);&:hover{border-bottom-style:solid;}"]),i=n.default.p.withConfig({displayName:"Commons__Text",componentId:"sc-1yiug1-1"})(["line-height:1.6;margin:1em 0 0 0;"])},8454:function(e,t,r){"use strict";var n=r(1721),a=r(7294),o=r(5414),s=r(1082),i=r(3710),l=r.n(i),u=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.Z)(t,e),t.prototype.render=function(){var e=this.props,t=e.isBlogPost,r=e.path,n=void 0===r?"":r,i=e.lang,u=void 0===i?"en":i,c=this.props.title?this.props.title+" | "+l().siteTitle:l().siteTitle,f=l().siteUrl.substring(0,l().siteUrl.length-1),d=""+f+(this.props.imageFb||this.props.cover||(0,s.withPrefix)(l().siteCover)),p=""+f+(this.props.imageTw||this.props.cover||(0,s.withPrefix)(l().siteCover)),m=this.props.description||l().siteDescription;return a.createElement(o.Z,{title:c},a.createElement("html",{lang:u}),a.createElement("meta",{name:"description",content:m}),a.createElement("link",{rel:"canonical",href:f+(0,s.withPrefix)(n)}),a.createElement("meta",{property:"og:url",content:f+(0,s.withPrefix)(n)}),a.createElement("meta",{property:"og:type",content:t?"article":"website"}),a.createElement("meta",{property:"og:title",content:c}),a.createElement("meta",{property:"og:description",content:m}),a.createElement("meta",{property:"og:image",content:d}),a.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),a.createElement("meta",{name:"twitter:creator",content:l().twitterUsername}),a.createElement("meta",{name:"twitter:title",content:c}),a.createElement("meta",{name:"twitter:description",content:m}),a.createElement("meta",{name:"twitter:image",content:p}))},t}(a.Component);t.Z=u},418:function(e,t,r){"use strict";var n=r(3494).default.main.attrs({role:"main"}).withConfig({displayName:"Wrapper",componentId:"sc-aej7i5-0"})(["position:relative;border-radius:3px;width:80%;max-width:770px;border-bottom:1px solid #ebf2f6;word-wrap:break-word;background-color:#fff;margin:0px auto 30px auto;top:30px;padding:50px;box-shadow:0 0 0 0,0 6px 12px rgba(0,0,0,0.1);@media (max-width:780px){width:90%;padding:25px;}"]);t.Z=n},3327:function(e,t,r){"use strict";r.d(t,{Z:function(){return v}});var n=r(1721),a=r(7294),o=r(1082),s=r(3494),i=r(7194),l=s.default.div.withConfig({displayName:"SideMenu__StyledBurgerMenu",componentId:"sc-uekpe8-0"})([".bm-burger-button{position:fixed;width:36px;height:30px;left:36px;top:36px;}.bm-burger-bars{background:#ffffff;}.bm-cross-button{height:24px;width:24px;}.bm-cross{background:#ffffff;}.bm-menu{background:rgb(0,0,0,0.5);padding:2.5em 1em 0;font-size:1.15em;}.bm-morph-shape{fill:#373a47;}.bm-item-list{padding-top:2em;","}.bm-item{display:inline-block;padding:0.5em;}.bm-overlay{background:rgba(0,0,0,0.3);}"],""),u=(0,s.default)(o.Link).withConfig({displayName:"SideMenu__MenuLink",componentId:"sc-uekpe8-1"})(["position:relative;display:flex;align-items:center;color:#fff;border:0;margin:0;margin-right:0.5rem;padding-left:20px;padding-right:20px;min-width:42px;z-index:10;"]),c=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.Z)(t,e),t.prototype.render=function(){var e=this.props.headerLinks;return a.createElement(l,null,a.createElement(i.slide,null,e.map((function(e,t){return a.createElement(u,{to:e.url,key:"header-link-"+t},e.label)}))))},t}(a.Component),f=c,d=s.default.footer.withConfig({displayName:"Footer__FooterWrapper",componentId:"sc-1oxe0wr-0"})(["text-align:left;padding-top:30px;padding-bottom:50px;background-color:rgba(32,35,42,0.85);color:#ffffff;padding-left:20px;padding-right:20px;margin:3.5em auto 0 0;& nav{display:flex;flex-flow:row wrap;align-items:flex-start;max-width:900px;margin:0 auto;.footer-col{flex:1 auto;display:inline-flex;flex-direction:column;margin-bottom:1em;padding-right:1em;}}& a{color:#ffffff;font-weight:bold;&:hover{color:#e8e8e8;border-bottom:1px dotted #e8e8e8;}}.footer-col > p{margin:0;}.footer-title{margin:0 0 1rem;}.footer-item{padding:0.25rem 0;color:#ffffff;}.footer-heart{color:red;}.footer-item-text{padding:0.1rem 0;color:#ffffff;}.footer-header{order:1;margin:0 0.25rem;margin-right:0.25rem;padding:0.25rem;}@media (max-width:564px){.footer-col:first-child{width:100%;}}"]),p=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.Z)(t,e),t.prototype.render=function(){var e=this.props.siteConfig.footerLinks,t=function(e){var t=e.item;return"string"==typeof t?a.createElement("h5",{className:"footer-title",key:t},t):t.url.startsWith("/")?a.createElement("span",{className:"footer-item"},t.prefix,a.createElement(o.Link,{className:"footer-link",to:t.url},t.label)):a.createElement("span",{className:"footer-item"},t.prefix,a.createElement("i",{className:t.iconClassName}),a.createElement("a",{className:"footer-link",href:t.url},t.label))},r=function(e){var r=e.column;return a.createElement("div",{className:"footer-col"},r.map((function(e,r){return a.createElement(t,{item:e,key:"footer-column-item-"+r})})))};return a.createElement(d,null,a.createElement("nav",null,e.map((function(e,t){return a.createElement(r,{column:e,key:"footer-column-"+t})}))))},t}(a.Component),m=p,h=r(3710),b=r.n(h),g=r(311),y=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.Z)(t,e),t.prototype.render=function(){var e=this.props.children;return a.createElement(a.Fragment,null,a.createElement(g.ZL,null),a.createElement(f,{headerLinks:b().headerLinks}),a.createElement("div",{style:{margin:"0 0"}},e),a.createElement(m,{siteConfig:b()}))},t}(a.Component),v=y}}]);
+//# sourceMappingURL=6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js.map
\ No newline at end of file
diff --git a/6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js.map b/6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js.map
new file mode 100644
index 00000000..3481f1b2
--- /dev/null
+++ b/6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"6b89ea6005f9c555c01b9da0decab7e9d6623b3d-442b2c751d6bdd748091.js","mappings":"4FAAA,MAmBWA,EASPC,EACAC,EATEC,EACFC,EACAC,EACAC,EAEAC,EAKAC,EAGAC,EAOAC,EAQAC,EACAC,EACAC,EAYAC,EA3COd,EAgbS,oBAAVe,OAAwBA,OAASC,KA/arCb,EAAU,QACZC,EAAM,iBACNC,EAAY,SACZC,EAAgB,UAEhBC,EAAU,SAAiBU,EAAGC,GAC5B,OAAOD,EAAIC,CACb,EAGAV,EAAS,CACPW,EAAG,CAAC,GAENV,EAAe,WACb,IAAK,IAAIW,EAAI,EAAGC,EAAKL,KAAKM,OAAQF,EAAIC,EAAID,IACxC,QAAsB,IAAXJ,KAAKI,GACd,OAAOJ,KAAKI,EAGlB,EACAV,EAAc,WAEZ,IADA,IAAIU,EAAIJ,KAAKM,SACJF,GACP,QAAsB,IAAXJ,KAAKI,GACd,OAAOJ,KAAKI,EAGlB,EACAT,EAASY,OAAOC,UAAUC,SAC1Bb,EAAMc,OACNb,EAAUc,MAAMd,SAAW,SAAUe,GACnC,OAAOA,aAAcD,OAA4B,kBAAnBhB,EAAOkB,KAAKD,EAC5C,EAUAd,EAAM,SAASA,EAAIgB,EAAMC,GACvB,IAIEC,EAJEC,EAAU/B,EACZgC,EAAOP,MAAMH,UAAUW,MAAMN,KAAKO,UAAW,GAC7CC,EAAYvB,EAAIuB,UAAUP,GAC1BQ,EAAI,EAEJC,EAAU,GACVC,EAAQ,CAAC,EACTC,EAAM,GACNC,EAAKzC,EACPwC,EAAIhC,aAAeA,EACnBgC,EAAI/B,YAAcA,EAClBT,EAAgB6B,EAChB5B,EAAO,EACP,IAAK,IAAIkB,EAAI,EAAGC,EAAKgB,EAAUf,OAAQF,EAAIC,EAAID,IACzC,WAAYiB,EAAUjB,KACxBmB,EAAQI,KAAKN,EAAUjB,GAAGwB,QACtBP,EAAUjB,GAAGwB,OAAS,IACxBJ,EAAMH,EAAUjB,GAAGwB,QAAUP,EAAUjB,KAK7C,IADAmB,EAAQM,KAAKtC,GACNgC,EAAQD,GAAK,GAGlB,GAFAN,EAAIQ,EAAMD,EAAQD,MAClBG,EAAIE,KAAKX,EAAEc,MAAMf,EAAOG,IACpBhC,EAEF,OADAA,EAAO+B,EACAQ,EAGX,IAAKrB,EAAI,EAAGA,EAAIC,EAAID,IAElB,GAAI,WADJY,EAAIK,EAAUjB,IAEZ,GAAIY,EAAEY,QAAUL,EAAQD,GAAI,CAE1B,GADAG,EAAIE,KAAKX,EAAEc,MAAMf,EAAOG,IACpBhC,EACF,MAEF,GAIE,IAFA8B,EAAIQ,EAAMD,IADVD,MAEKG,EAAIE,KAAKX,EAAEc,MAAMf,EAAOG,IACzBhC,EACF,YAEK8B,EACX,MACEQ,EAAMR,EAAEY,QAAUZ,OAIpB,GADAS,EAAIE,KAAKX,EAAEc,MAAMf,EAAOG,IACpBhC,EACF,MAMN,OAFAA,EAAO+B,EACPhC,EAAgByC,EACTD,CACT,EAEF3B,EAAIiC,QAAUvC,EAQdM,EAAIuB,UAAY,SAAUP,GACxB,IAEEkB,EACAC,EACAC,EACA9B,EACAC,EACA8B,EACAC,EACAC,EATEC,EAAQzC,EAAQiB,GAAQA,EAAOA,EAAKyB,MAAMlD,GAC5CmD,EAAIhD,EASJiD,EAAK,CAACD,GACNf,EAAM,GACR,IAAKrB,EAAI,EAAGC,EAAKiC,EAAMhC,OAAQF,EAAIC,EAAID,IAAK,CAE1C,IADAiC,EAAM,GACDF,EAAI,EAAGC,EAAKK,EAAGnC,OAAQ6B,EAAIC,EAAID,IAIlC,IAFAF,EAAQ,EADRO,EAAIC,EAAGN,GAAGhC,GACCmC,EAAMlC,IAAKoC,EA7Hf,MA8HPN,EAAI,EACGA,MACLF,EAAOC,EAAMC,MAEXG,EAAIV,KAAKK,GACTP,EAAMA,EAAIiB,OAAOV,EAAKW,GAAK,KAIjCF,EAAKJ,CACP,CACA,OAAOZ,CACT,EASA3B,EAAIT,UAAY,SAAUuD,GACpBA,GAEFA,EAAM,KADNA,EAAMhD,EAAIgD,GAAKC,QAAQ,oBAAqB,OAC1B,IAClBxD,EAAY,IAAIyD,OAAOF,IAEvBvD,EAAY,QAEhB,EA0BAS,EAAIiD,GAAK,SAAUjC,EAAM6B,GACvB,GAAgB,mBAALA,EACT,OAAO,WAAa,EAGtB,IADA,IAAIL,EAAQzC,EAAQiB,GAAQjB,EAAQiB,EAAK,IAAMA,EAAO,CAACA,GAAQlB,EAAIkB,GAAMyB,MAAMjD,GACtEc,EAAI,EAAGC,EAAKiC,EAAMhC,OAAQF,EAAIC,EAAID,KACzC,SAAWU,GAIT,IAHA,IAEEkC,EAFEV,EAAQzC,EAAQiB,GAAQA,EAAOlB,EAAIkB,GAAMyB,MAAMlD,GACjDmD,EAAIhD,EAEGY,EAAI,EAAGC,EAAKiC,EAAMhC,OAAQF,EAAIC,EAAID,IAEzCoC,GADAA,EAAIA,EAAErC,GACA8C,eAAeX,EAAMlC,KAAOoC,EAAEF,EAAMlC,MAAQoC,EAAEF,EAAMlC,IAAM,CAC9DD,EAAG,CAAC,IAIR,IADAqC,EAAEG,EAAIH,EAAEG,GAAK,GACRvC,EAAI,EAAGC,EAAKmC,EAAEG,EAAErC,OAAQF,EAAIC,EAAID,IACnC,GAAIoC,EAAEG,EAAEvC,IAAMuC,EAAG,CACfK,GAAQ,EACR,KACF,EAEDA,GAASR,EAAEG,EAAEhB,KAAKgB,EACpB,CAlBD,CAkBGL,EAAMlC,IAEX,OAAO,SAAUwB,IACVA,IAAWA,IACde,EAAEf,QAAUA,EAEhB,CACF,EAgBA9B,EAAI6C,EAAI,SAAUO,GAChB,IAAIC,EAAQ,GAAGhC,MAAMN,KAAKO,UAAW,GACrC,OAAO,WACLtB,EAAIgC,MAAM,KAAM,CAACoB,EAAO,MAAMR,OAAOS,GAAOT,OAAO,GAAGvB,MAAMN,KAAKO,UAAW,IAC9E,CACF,EAOAtB,EAAIZ,KAAO,WACTA,EAAO,CACT,EAaAY,EAAIsD,GAAK,SAAUC,GACjB,IAAIC,EAAMzD,EAAQZ,GAAiBA,EAAcsE,KAAK,KAAOtE,EAC7D,OAAIoE,EACK,IAAIP,OAAO,gBAAkBO,EAAU,iBAAiBG,KAAKF,GAE/DA,CACT,EAUAxD,EAAI2D,IAAM,WACR,OAAO5D,EAAQZ,GAAiBA,EAAgBA,EAAcsD,MAAMlD,EACtE,EAiBAS,EAAI4D,IAAM5D,EAAI6D,OAAS,SAAU7C,EAAM6B,GACrC,GAAK7B,EAAL,CAMA,IAAIwB,EAAQzC,EAAQiB,GAAQjB,EAAQiB,EAAK,IAAMA,EAAO,CAACA,GAAQlB,EAAIkB,GAAMyB,MAAMjD,GAC/E,GAAIgD,EAAMhC,OAAS,EACjB,IAAK,IAAIF,EAAI,EAAGC,EAAKiC,EAAMhC,OAAQF,EAAIC,EAAID,IACzCN,EAAI4D,IAAIpB,EAAMlC,GAAIuC,OAFtB,CAMAL,EAAQzC,EAAQiB,GAAQA,EAAOlB,EAAIkB,GAAMyB,MAAMlD,GAC/C,IAAImD,EACFoB,EACAC,EAGA1B,EACAC,EACAkB,EAAM,CAAC9D,GACPsE,EAAS,GACX,IAAK1D,EAAI,EAAGC,EAAKiC,EAAMhC,OAAQF,EAAIC,EAAID,IACrC,IAAK+B,EAAI,EAAGA,EAAImB,EAAIhD,OAAQ6B,GAAK0B,EAAOvD,OAAS,EAAG,CAGlD,GAFAuD,EAAS,CAAC1B,EAAG,GACbK,EAAIc,EAAInB,GAAGhC,EA7TJ,KA8THmC,EAAMlC,GACJoC,EAAEF,EAAMlC,MACVyD,EAAOlC,KAAKa,EAAEF,EAAMlC,KACpB0D,EAAOC,QAAQ,CACb5D,EAAGqC,EACH1B,KAAMwB,EAAMlC,WAIhB,IAAKwD,KAAOpB,EACNA,EAAEpD,GAAKwE,KACTC,EAAOlC,KAAKa,EAAEoB,IACdE,EAAOC,QAAQ,CACb5D,EAAGqC,EACH1B,KAAM8C,KAKdN,EAAIO,OAAO/B,MAAMwB,EAAKO,EACxB,CAEF,IAAKzD,EAAI,EAAGC,EAAKiD,EAAIhD,OAAQF,EAAIC,EAAID,IAEnC,IADAoC,EAAIc,EAAIlD,GACDoC,EAAErC,GAAG,CACV,GAAIwC,EAAG,CACL,GAAIH,EAAEG,EAAG,CACP,IAAKR,EAAI,EAAGC,EAAKI,EAAEG,EAAErC,OAAQ6B,EAAIC,EAAID,IACnC,GAAIK,EAAEG,EAAER,IAAMQ,EAAG,CACfH,EAAEG,EAAEkB,OAAO1B,EAAG,GACd,KACF,EAEDK,EAAEG,EAAErC,eAAiBkC,EAAEG,CAC1B,CACA,IAAKiB,KAAOpB,EAAErC,EACZ,GAAIqC,EAAErC,EAAEf,GAAKwE,IAAQpB,EAAErC,EAAEyD,GAAKjB,EAAG,CAC/B,IAAIqB,EAAQxB,EAAErC,EAAEyD,GAAKjB,EACrB,IAAKR,EAAI,EAAGC,EAAK4B,EAAM1D,OAAQ6B,EAAIC,EAAID,IACrC,GAAI6B,EAAM7B,IAAMQ,EAAG,CACjBqB,EAAMH,OAAO1B,EAAG,GAChB,KACF,EAED6B,EAAM1D,eAAiBkC,EAAErC,EAAEyD,GAAKjB,CACnC,CAEJ,MAEE,IAAKiB,YADEpB,EAAEG,EACGH,EAAErC,EACRqC,EAAErC,EAAEf,GAAKwE,IAAQpB,EAAErC,EAAEyD,GAAKjB,UACrBH,EAAErC,EAAEyD,GAAKjB,EAItBH,EAAIA,EAAErC,CACR,CAGF8D,EAAO,IAAK7D,EAAI,EAAGC,EAAKyD,EAAOxD,OAAQF,EAAIC,EAAID,IAAK,CAElD,IAAKwD,KADLpB,EAAIsB,EAAO1D,IACGD,EAAEqC,EAAE1B,MAAM6B,EAEtB,SAASsB,EAEX,IAAKL,KAAOpB,EAAErC,EAAEqC,EAAE1B,MAAMX,EAEtB,SAAS8D,SAGJzB,EAAErC,EAAEqC,EAAE1B,KACf,CAtFA,CAPA,MAJEhB,EAAIiC,QAAUvC,EAAS,CACrBW,EAAG,CAAC,EAiGV,EAgBAL,EAAIoE,KAAO,SAAUpD,EAAM6B,GAKzB,OAAO7C,EAAIiD,GAAGjC,GAJL,SAASqD,IAEhB,OADArE,EAAI4D,IAAI5C,EAAMqD,GACPxB,EAAEb,MAAM9B,KAAMoB,UACvB,GAEF,EAOAtB,EAAIX,QAAUA,EACdW,EAAIW,SAAW,WACb,MAAO,2BACT,EACAzB,EAAKc,IAAMA,EACqBsE,EAAOC,QAAUD,EAAOC,QAAUvE,OAEjE,KAFsI,EAAF,WACnI,OAAOA,CACR,UAFkI,OAElI,Y,gCChcHsE,EAAOC,QAAU9D,OAAO+D,M,oCCAxB/D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAETH,EAAA,QAAqB,CACnBI,MAAO,EAAQ,MACfC,MAAO,EAAQ,KACfC,QAAS,EAAQ,MACjBC,OAAQ,EAAQ,MAChBjD,KAAM,EAAQ,MACdkD,WAAY,EAAQ,MACpBC,UAAW,EAAQ,MACnBC,YAAa,EAAQ,MACrBC,SAAU,EAAQ,MAClBC,OAAQ,EAAQ,OAElBb,EAAOC,QAAUA,EAAiB,O,oCCflC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAET,IAAIU,EAAW3E,OAAO+D,QAAU,SAAUa,GACxC,IAAK,IAAI/E,EAAI,EAAGA,EAAIgB,UAAUd,OAAQF,IAAK,CACzC,IAAIgF,EAAShE,UAAUhB,GACvB,IAAK,IAAIwD,KAAOwB,EACV7E,OAAOC,UAAUyC,eAAepC,KAAKuE,EAAQxB,KAC/CuB,EAAOvB,GAAOwB,EAAOxB,GAG3B,CACA,OAAOuB,CACT,EACIE,EAAe,WACjB,SAASC,EAAiBH,EAAQI,GAChC,IAAK,IAAInF,EAAI,EAAGA,EAAImF,EAAMjF,OAAQF,IAAK,CACrC,IAAIoF,EAAaD,EAAMnF,GACvBoF,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDpF,OAAOgE,eAAeY,EAAQK,EAAW5B,IAAK4B,EAChD,CACF,CACA,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYpF,UAAWqF,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,CACT,CACF,CAfmB,GAgDnB,SAASG,EAAuBC,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,EAEf,CAoBA,IAAIE,EAAS,EAAQ,MACjBC,EAAUJ,EAAuBG,GAEjCE,EAAcL,EADD,EAAQ,OAErBM,EAAa,SAAUC,GAEzB,SAASD,EAAWd,IAzBtB,SAAyBgB,EAAUX,GACjC,KAAMW,aAAoBX,GACxB,MAAM,IAAIY,UAAU,oCAExB,CAsBIC,CAAgBzG,KAAMqG,GA/Df,SAAaK,EAAIC,EAAKC,GAEpB,IADX,IAAIC,GAAS,EACKA,GAAQ,CACxB,IAAIC,EAASJ,EACXK,EAAWJ,EACXK,EAAWJ,EACbC,GAAS,EACM,OAAXC,IAAiBA,EAASG,SAASzG,WACvC,IAAI0G,EAAO3G,OAAO4G,yBAAyBL,EAAQC,GACnD,QAAaK,IAATF,EAAJ,CAYO,GAAI,UAAWA,EACpB,OAAOA,EAAK1C,MAEZ,IAAI6C,EAASH,EAAKI,IAClB,QAAeF,IAAXC,EACF,OAEF,OAAOA,EAAOxG,KAAKmG,EACrB,CAnBE,IAAIO,EAAShH,OAAOiH,eAAeV,GACnC,GAAe,OAAXS,EACF,OAEAb,EAAKa,EACLZ,EAAMI,EACNH,EAAMI,EACNH,GAAS,EACTK,EAAOK,OAASH,CAYtB,CACF,CAiCIK,CAAKlH,OAAOiH,eAAenB,EAAW7F,WAAY,cAAeR,MAAMa,KAAKb,KAAMuF,GAClFvF,KAAK0H,MAAQ,CACXC,OAAO,EAEX,CAmFA,OA7GF,SAAmBC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrB,UAAU,kEAAoEqB,GAE1FD,EAASpH,UAAYD,OAAOuH,OAAOD,GAAcA,EAAWrH,UAAW,CACrEuH,YAAa,CACXvD,MAAOoD,EACPnC,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdmC,IAAYtH,OAAOyH,eAAiBzH,OAAOyH,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,EAC7G,CAMEK,CAAU7B,EAAYC,GAQtBjB,EAAagB,EAAY,CAAC,CACxBzC,IAAK,eACLY,MAAO,SAAsB2D,GAC3B,OAAOjD,EAAS,CACdkD,SAAU,WACVC,OAAQ,MACRC,KAAM,EACNC,MAAO,EACPC,IAAmB,EAARL,EAAN,GAAmB,IACxBM,QAASzI,KAAK0H,MAAMC,MAAQ,GAAM,GACjC3H,KAAK0H,MAAMC,OAAS3H,KAAKuF,MAAMmD,OAAOC,kBAC3C,GACC,CACD/E,IAAK,SACLY,MAAO,WACL,IAAIoE,EAAQ5I,KACR6I,OAAOzB,EAeX,GAAIpH,KAAKuF,MAAMuD,WAAY,CACzB,IAAIC,EAAa,CACfC,WAAY,YAAchJ,KAAKuF,MAAMuD,WAAWvD,MAAMyD,WAAa,KAAKC,OACxEC,MAAOhE,EAAS,CACdiE,MAAO,OACPd,OAAQ,QACPrI,KAAKuF,MAAMmD,OAAOU,SAEvBP,EAAO1C,EAAiB,QAAEkD,aAAarJ,KAAKuF,MAAMuD,WAAYC,EAChE,MACEF,EAAO1C,EAAiB,QAAEmD,cAAc,OAAQ,KAAM,CAAC,EAAG,EAAG,GAAGC,KAAI,SAAUC,GAC5E,OAAOrD,EAAiB,QAAEmD,cAAc,OAAQ,CAC9C1F,IAAK4F,EACLR,WAAY,kBAAoBJ,EAAMrD,MAAMkE,aAAe,KAAOb,EAAMlB,MAAMC,MAAQ,uBAAyB,KAAKsB,OACpHC,MAAOhE,EAAS,CAAC,EAAG0D,EAAMc,aAAaF,GAAMZ,EAAMrD,MAAMmD,OAAOiB,eAEpE,KAEF,OAAOxD,EAAiB,QAAEmD,cAAc,MAAO,CAC7CN,WAAY,oBAAsBhJ,KAAKuF,MAAMyD,WAAWC,OACxDC,MAAOhE,EAAS,CACdtD,OAAQ,KACP5B,KAAKuF,MAAMmD,OAAOkB,iBACpBzD,EAAiB,QAAEmD,cAAc,SAAU,CAC5CO,KAAM,SACNC,GAAI,wBACJC,QAAS/J,KAAKuF,MAAMwE,QACpBC,YAAa,WACXpB,EAAMqB,SAAS,CACbtC,OAAO,IAELiB,EAAMrD,MAAM2E,mBACdtB,EAAMrD,MAAM2E,kBAAkB,CAC5BC,WAAW,GAGjB,EACAC,WAAY,WACVxB,EAAMqB,SAAS,CACbtC,OAAO,IAELiB,EAAMrD,MAAM2E,mBACdtB,EAAMrD,MAAM2E,kBAAkB,CAC5BC,WAAW,GAGjB,EACAjB,MA7DgB,CAChBd,SAAU,WACVE,KAAM,EACNE,IAAK,EACL5G,OAAQ,EACRuH,MAAO,OACPd,OAAQ,OACRgC,OAAQ,EACRC,QAAS,EACTC,OAAQ,OACRC,SAAU,EACVC,WAAY,cACZC,OAAQ,YAkDP,aAAc7B,EACnB,KAEKxC,CACT,CA5FiB,CA4FfH,EAAOyE,WACTtG,EAAA,QAAqBgC,EACrBA,EAAWuE,UAAY,CACrBnB,aAAcrD,EAAqB,QAAEyE,OACrC/B,WAAY1C,EAAqB,QAAE0E,QACnCpC,OAAQtC,EAAqB,QAAEU,QAEjCT,EAAW0E,aAAe,CACxBtB,aAAc,GACdT,UAAW,GACXN,OAAQ,CAAC,GAEXtE,EAAOC,QAAUA,EAAiB,O,oCClMlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAET,IAAIU,EAAW3E,OAAO+D,QAAU,SAAUa,GACxC,IAAK,IAAI/E,EAAI,EAAGA,EAAIgB,UAAUd,OAAQF,IAAK,CACzC,IAAIgF,EAAShE,UAAUhB,GACvB,IAAK,IAAIwD,KAAOwB,EACV7E,OAAOC,UAAUyC,eAAepC,KAAKuE,EAAQxB,KAC/CuB,EAAOvB,GAAOwB,EAAOxB,GAG3B,CACA,OAAOuB,CACT,EACIE,EAAe,WACjB,SAASC,EAAiBH,EAAQI,GAChC,IAAK,IAAInF,EAAI,EAAGA,EAAImF,EAAMjF,OAAQF,IAAK,CACrC,IAAIoF,EAAaD,EAAMnF,GACvBoF,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDpF,OAAOgE,eAAeY,EAAQK,EAAW5B,IAAK4B,EAChD,CACF,CACA,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYpF,UAAWqF,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,CACT,CACF,CAfmB,GAgBf6B,EAAO,SAAaf,EAAIC,EAAKC,GAEpB,IADX,IAAIC,GAAS,EACKA,GAAQ,CACxB,IAAIC,EAASJ,EACXK,EAAWJ,EACXK,EAAWJ,EACbC,GAAS,EACM,OAAXC,IAAiBA,EAASG,SAASzG,WACvC,IAAI0G,EAAO3G,OAAO4G,yBAAyBL,EAAQC,GACnD,QAAaK,IAATF,EAAJ,CAYO,GAAI,UAAWA,EACpB,OAAOA,EAAK1C,MAEZ,IAAI6C,EAASH,EAAKI,IAClB,QAAeF,IAAXC,EACF,OAEF,OAAOA,EAAOxG,KAAKmG,EACrB,CAnBE,IAAIO,EAAShH,OAAOiH,eAAeV,GACnC,GAAe,OAAXS,EACF,OAEAb,EAAKa,EACLZ,EAAMI,EACNH,EAAMI,EACNH,GAAS,EACTK,EAAOK,OAASH,CAYtB,CACF,EACA,SAASrB,EAAuBC,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,EAEf,CACA,SAASS,EAAgBF,EAAUX,GACjC,KAAMW,aAAoBX,GACxB,MAAM,IAAIY,UAAU,oCAExB,CAeA,IAAIN,EAAS,EAAQ,MACjBC,EAAUJ,EAAuBG,GAEjCE,EAAcL,EADD,EAAQ,OAErBiF,EAAY,SAAU1E,GAExB,SAAS0E,IACPvE,EAAgBzG,KAAMgL,GACtBvD,EAAKlH,OAAOiH,eAAewD,EAAUxK,WAAY,cAAeR,MAAM8B,MAAM9B,KAAMoB,UACpF,CAyEA,OAhGF,SAAmBwG,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrB,UAAU,kEAAoEqB,GAE1FD,EAASpH,UAAYD,OAAOuH,OAAOD,GAAcA,EAAWrH,UAAW,CACrEuH,YAAa,CACXvD,MAAOoD,EACPnC,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdmC,IAAYtH,OAAOyH,eAAiBzH,OAAOyH,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,EAC7G,CAMEK,CAAU8C,EAAW1E,GAKrBjB,EAAa2F,EAAW,CAAC,CACvBpH,IAAK,gBACLY,MAAO,SAAuBqF,GAC5B,MAAO,CACLzB,SAAU,WACVe,MAAO,EACPd,OAAQ,GACR4C,UAAoB,WAATpB,EAAoB,gBAAkB,iBAErD,GACC,CACDjG,IAAK,SACLY,MAAO,WACL,IACIqE,EADAD,EAAQ5I,KAuBZ,GAAIA,KAAKuF,MAAMuD,WAAY,CACzB,IAAIC,EAAa,CACfC,WAAY,aAAehJ,KAAKuF,MAAMuD,WAAWvD,MAAMyD,WAAa,KAAKC,OACzEC,MAAOhE,EAAS,CACdiE,MAAO,OACPd,OAAQ,QACPrI,KAAKuF,MAAMmD,OAAOwC,UAEvBrC,EAAO1C,EAAiB,QAAEkD,aAAarJ,KAAKuF,MAAMuD,WAAYC,EAChE,MACEF,EAAO1C,EAAiB,QAAEmD,cAAc,OAAQ,CAC9CJ,MAAO,CACLd,SAAU,WACVI,IAAK,MACLD,MAAO,SAER,CAAC,SAAU,SAASgB,KAAI,SAAUM,EAAMzJ,GACzC,OAAO+F,EAAiB,QAAEmD,cAAc,OAAQ,CAC9C1F,IAAKxD,EACL4I,WAAY,YAAcJ,EAAMrD,MAAM4F,gBAAgBlC,OACtDC,MAAOhE,EAAS,CAAC,EAAG0D,EAAMwC,cAAcvB,GAAOjB,EAAMrD,MAAMmD,OAAOwC,UAEtE,KAEF,OAAO/E,EAAiB,QAAEmD,cAAc,MAAO,CAC7CN,WAAY,mBAAqBhJ,KAAKuF,MAAMyD,WAAWC,OACvDC,MAAOhE,EAAS,CAAC,EA/CM,CACvBkD,SAAU,WACVe,MAAO,GACPd,OAAQ,GACRE,MAAO,EACPC,IAAK,GA0CmCxI,KAAKuF,MAAMmD,OAAO2C,gBACzDlF,EAAiB,QAAEmD,cAAc,SAAU,CAC5CO,KAAM,SACNC,GAAI,yBACJC,QAAS/J,KAAKuF,MAAMwE,QACpBb,MA7CgB,CAChBd,SAAU,WACVE,KAAM,EACNE,IAAK,EACL5G,OAAQ,EACRuH,MAAO,OACPd,OAAQ,OACRgC,OAAQ,EACRC,QAAS,EACTC,OAAQ,OACRC,SAAU,EACVC,WAAY,cACZC,OAAQ,WAkCRY,SAAUtL,KAAKuF,MAAMgG,OAAS,GAAK,GAClC,cAAe1C,EACpB,KAEKmC,CACT,CA/EgB,CA+Ed9E,EAAOyE,WACTtG,EAAA,QAAqB2G,EACrBA,EAAUJ,UAAY,CACpBO,eAAgB/E,EAAqB,QAAEyE,OACvC/B,WAAY1C,EAAqB,QAAE0E,QACnCS,OAAQnF,EAAqB,QAAEoF,KAC/B9C,OAAQtC,EAAqB,QAAEU,QAEjCkE,EAAUD,aAAe,CACvBI,eAAgB,GAChBnC,UAAW,GACXN,OAAQ,CAAC,EACT6C,QAAQ,GAEVnH,EAAOC,QAAUA,EAAiB,O,kCCvLlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAoDTH,EAAA,QAlDa,CACXoH,QAAS,SAAiBF,GACxB,MAAO,CACLnD,SAAU,QACVxG,OAAQ,IACRuH,MAAO,OACPd,OAAQ,OACRoC,WAAY,qBACZhC,QAAS8C,EAAS,EAAI,EACtBG,aAAcH,EAAS,GAAK,0BAC5BI,YAAaJ,EAAS,GAAK,0BAC3BK,WAAYL,EAAS,GAAK,0BAC1BM,gBAAiBN,EAAS,GAAK,0BAC/BN,UAAWM,EAAS,GAAK,0BACzBO,WAAYP,EAAS,eAAiB,kCAE1C,EACAQ,SAAU,SAAkBR,EAAQpC,EAAOZ,GACzC,MAAO,CACLH,SAAU,QACVG,MAAOA,EAAQ,EAAI,UACnB3G,OAAQ,KACRuH,MAAOA,EACPd,OAAQ,OACRqD,aAAcH,EAAS,GAAKhD,EAAQ,0BAA4B,2BAChEoD,YAAaJ,EAAS,GAAKhD,EAAQ,0BAA4B,2BAC/DqD,WAAYL,EAAS,GAAKhD,EAAQ,0BAA4B,2BAC9DsD,gBAAiBN,EAAS,GAAKhD,EAAQ,0BAA4B,2BACnE0C,UAAWM,EAAS,GAAKhD,EAAQ,0BAA4B,2BAC7DuD,WAAY,WAEhB,EACAE,KAAM,WACJ,MAAO,CACL3D,OAAQ,OACR4D,UAAW,aACXC,SAAU,OAEd,EACAC,SAAU,WACR,MAAO,CACL9D,OAAQ,OAEZ,EACArG,KAAM,WACJ,MAAO,CACLoK,QAAS,QAEb,GAGFhI,EAAOC,QAAUA,EAAiB,O,iCC5ClC,SAASgI,IACP,IAAIC,EAAY3L,MAAM4L,KAAKC,SAASC,uBAAuB,YAAYC,QACnEJ,GACFA,EAAUK,OAEd,CACA,SAASC,IACP,IAAIC,EAAWlM,MAAM4L,KAAKC,SAASC,uBAAuB,YAAYK,MAClED,GACFA,EAASF,OAEb,CACA,SAASI,IACP,IAAIC,EAAcR,SAASS,eAAe,0BACtCD,GACFA,EAAYL,OAEhB,CAOA,SAASO,EAAgBC,GACvB,GAAIX,SAASY,cAAcpE,UAAUqE,SAAS,WAAY,CACxD,IAAIC,EAAUd,SAASY,cAAcD,GACjCG,EACFA,EAAQX,QAERI,GAEJ,KACsB,2BAAhBI,EACFP,IAEAP,GAGN,CAjDA9L,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAETH,EAAQgI,qBAAuBA,EAC/BhI,EAAQuI,oBAAsBA,EAC9BvI,EAAQ0I,mBAAqBA,EAC7B1I,EAAQkJ,kBAsBR,WACE,IAAIC,EAAahB,SAASS,eAAe,yBACrCO,GACFA,EAAWb,OAEf,EA1BAtI,EAAQ6I,gBAAkBA,EAC1B7I,EAAQoJ,oBA0CR,WACEP,EAAgB,qBAClB,EA3CA7I,EAAQqJ,wBA4CR,WACER,EAAgB,yBAClB,C,oCCvDA3M,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAETH,EAAA,QAAqB,WACnB,IAAIsJ,OAAOvG,EACX,IACEuG,EAAO,EAAQ,KAGjB,CAFE,QACA,OAAOA,CACT,CACF,EACAvJ,EAAOC,QAAUA,EAAiB,O,iCCXlC9D,OAAOgE,eAAeF,EAAS,aAAc,CAC3CG,OAAO,IAKTH,EAAQuJ,QAHM,SAAiBC,GAC7B,OAAOC,SAASD,EAAI1M,MAAM,GAAI,GAAI,GACpC,C,oCCLAZ,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAET,IAAIuJ,EAuBK,SAAUC,EAAK5N,GACpB,GAAIO,MAAMd,QAAQmO,GAChB,OAAOA,EACF,GAAIC,OAAOC,YAAY3N,OAAOyN,GACnC,OA1BJ,SAAuBA,EAAK5N,GAC1B,IAAI+N,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKlH,EACT,IACE,IAAK,IAAiCmH,EAA7BC,EAAKR,EAAIC,OAAOC,cAAmBE,GAAMG,EAAKC,EAAGC,QAAQC,QAChEP,EAAKxM,KAAK4M,EAAG/J,QACTpE,GAAK+N,EAAK7N,SAAWF,GAF8CgO,GAAK,GAahF,CATE,MAAOO,GACPN,GAAK,EACLC,EAAKK,CACP,CAAE,QACA,KACOP,GAAMI,EAAW,QAAGA,EAAW,QAGtC,CAFE,QACA,GAAIH,EAAI,MAAMC,CAChB,CACF,CACA,OAAOH,CACT,CAKWS,CAAcZ,EAAK5N,GAE1B,MAAM,IAAIoG,UAAU,uDAExB,EAEEtB,EAAW3E,OAAO+D,QAAU,SAAUa,GACxC,IAAK,IAAI/E,EAAI,EAAGA,EAAIgB,UAAUd,OAAQF,IAAK,CACzC,IAAIgF,EAAShE,UAAUhB,GACvB,IAAK,IAAIwD,KAAOwB,EACV7E,OAAOC,UAAUyC,eAAepC,KAAKuE,EAAQxB,KAC/CuB,EAAOvB,GAAOwB,EAAOxB,GAG3B,CACA,OAAOuB,CACT,EACA,SAASY,EAAuBC,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,EAEf,CACA,IACIG,EAAUJ,EADD,EAAQ,OAKjBK,GAFaL,EADD,EAAQ,OAGNA,EADD,EAAQ,QAGrB8I,EAAsB9I,EADD,EAAQ,OAE7B+I,EAAc,EAAQ,KAEtBC,EAAyBhJ,EADD,EAAQ,OAGhCiJ,EAAwBjJ,EADD,EAAQ,OAEnC1B,EAAA,QAAqB,SAAUqE,GAC7B,IAAKA,EACH,MAAM,IAAIuG,MAAM,sBAElB,IAAIC,EAAa,YACbC,EAAW,UAYf,IAAIC,EAAO,SAAc7J,GACvB,IARmBf,EACf6K,EAOAC,EAAkBnJ,EAAiB,QAAEoJ,UAAS,GAC9CC,EAAmBzB,EAAeuB,EAAiB,GACnD/D,EAASiE,EAAiB,GAC1BC,EAAYD,EAAiB,GAC7BE,EAAYvJ,EAAiB,QAAEwJ,SAC/BC,EAAgBzJ,EAAiB,QAAEwJ,OAAO,CAAC,GAC3CE,GAderL,EAcce,EAAMgG,OAbnC8D,EAAMlJ,EAAiB,QAAEwJ,OAAOnL,GACpC2B,EAAiB,QAAE2J,WAAU,WAC3BT,EAAIU,QAAUvL,CAChB,IACO6K,EAAIU,SAqFX,SAASC,IACP,IAAIC,EAAU7O,UAAUd,QAAU,QAAsB8G,IAAjBhG,UAAU,GAAmB,CAAC,EAAIA,UAAU,GACnFwO,EAAcG,QAAUE,EACxBC,IAGAC,YAAW,WACTV,GAAU,SAAUW,GAClB,YAAiC,IAAnBH,EAAQ1E,OAAyB0E,EAAQ1E,QAAU6E,CACnE,GACF,GACF,CAQA,SAASC,IACsB,mBAAlB9K,EAAM+K,QACf/K,EAAM+K,UAENN,GAEJ,CACA,SAASO,EAASrH,EAAOf,GACvB,IAAIgB,EAAQ5D,EAAM4D,MACdZ,EAAQhD,EAAMgD,MAElB,OAAOW,EAAMqC,EADyB,iBAAVpC,EAAqBA,EAAQ,KAAOA,EAC3BZ,EAAOJ,EAC9C,CAGA,SAASqI,EAAUC,EAAItI,EAAOuI,GAC5B,IAAIC,EAAW,KAAOF,EAAG5N,QAAQ4N,EAAGG,OAAO,GAAIH,EAAGG,OAAO,GAAGC,eAGxDC,EAASjC,EAA6B,QAAE4B,GAAMF,EAAS1B,EAA6B,QAAE4B,IAAO,CAAC,EAsBlG,OAnBI/H,EAAO+H,KACTK,EAAS5L,EAAS,CAAC,EAAG4L,EAAQP,EAAS7H,EAAO+H,GAAKtI,EAAQ,KAIzD5C,EAAMmD,OAAOiI,KACfG,EAAS5L,EAAS,CAAC,EAAG4L,EAAQvL,EAAMmD,OAAOiI,KAIzCD,IACFI,EAAS5L,EAAS,CAAC,EAAG4L,EAAQJ,IAK5BnL,EAAMwL,qBACDD,EAAOhF,WAETgF,CACT,CAMA,SAASE,EAAsBlH,EAAImH,EAAeC,GAChD,IAAIC,EAAU3E,SAASS,eAAenD,GACtC,GAAKqH,EAAL,CAIA,IAAIC,EAAcb,EAASU,GAC3B,IAAK,IAAII,KAAQD,EACXA,EAAYnO,eAAeoO,KAC7BF,EAAQjI,MAAMmI,GAAQH,EAAME,EAAYC,GAAQ,IASpD,IAAIC,EAAgB,SAAuBb,GACzC,OAAOA,EAAGvH,MAAM,cAAgBgI,EAAM,SAAW,EACnD,EACK3L,EAAMgM,eACTD,EAAc9E,SAASgF,cAAc,SAElCjM,EAAMkM,eACTH,EAAc9E,SAASgF,cAAc,QApBvC,MAFEE,QAAQC,MAAM,oBAAsB7H,EAAK,cAwB7C,CAGA,SAASoG,IACP,IAAIgB,EAAM9P,UAAUd,QAAU,QAAsB8G,IAAjBhG,UAAU,IAA0BA,UAAU,GAC7EwQ,EAAa,SAAoBnB,EAAIzH,GACvC,OAAOyH,EAAGoB,UAAUX,EAAM,MAAQ,UAAUlI,EAC9C,EACIzD,EAAMgM,eACRK,EAAWpF,SAASgF,cAAc,QAASjM,EAAMgM,eAE/ChM,EAAMkM,eACRG,EAAWpF,SAASgF,cAAc,QAASjM,EAAMkM,eAE/C/I,EAAOoJ,UAAYvM,EAAMwM,YAC3Bf,EAAsBzL,EAAMwM,WAAYrJ,EAAOoJ,SAAUZ,GAEvDxI,EAAOsJ,gBAAkBzM,EAAM0M,kBACjCjB,EAAsBzL,EAAM0M,iBAAkBvJ,EAAOsJ,eAAgBd,GAEvE,IAAInF,EAAWS,SAASgF,cAAc,iBAClCzF,IACEmF,EACFnF,EAASmG,gBAAgB,UAEzBnG,EAASoG,aAAa,UAAU,GAGtC,CAGA,SAASC,IACH1C,EAAUK,SACZsC,aAAa3C,EAAUK,QAE3B,CACA,SAASuC,EAAc9P,GAErB,QADAA,EAAIA,GAAKzC,OAAOmD,OACNU,KACR,IAnOO,SAqOA2B,EAAMgN,oBACTlC,KACA,EAAIvB,EAAYvB,sBAElB,MACF,KAAK2B,GACH,EAAIJ,EAAYrB,uBAChB,MACF,KAAK0B,GACH,EAAIL,EAAYpB,2BAChB,MACF,IA9OK,QA+OH,EAAIoB,EAAYzC,wBAChB,MACF,IAhPI,OAiPF,EAAIyC,EAAYlC,uBAGtB,CACA,SAAS4F,EAAgBhQ,GAGvB,IAFAA,EAAIA,GAAKzC,OAAOmD,OAEViC,SAAWqH,SAASS,eAAe,yBACvC,OAAQzK,EAAEoB,KACR,KAAKsL,EACL,IA7PI,IA+PFc,IACA,MACF,KAAKb,EAEHa,EAAW,CACTyC,iBAAiB,IAK3B,CAQA,OA/PAtM,EAAiB,QAAE2J,WAAU,WAO3B,OANIvK,EAAMgG,QACRyE,EAAW,CACTzE,QAAQ,EACRmH,eAAe,IAGZ,WACLxC,GAAmB,GACnBkC,GACF,CACF,GAAG,IACHjM,EAAiB,QAAE2J,WAAU,WAC3B,IAQQ6C,EACAC,OATiC,IAAjBrN,EAAMgG,QAA0BhG,EAAMgG,SAAWA,GAAUhG,EAAMgG,SAAWsE,EAElGG,IAIEtH,EAAOmK,MAEHF,EAAanG,SAASS,eAAe,kBACrC2F,EAAOlK,EAAOmK,IAAIC,IAAIH,GAAYI,OAAO,QACzCxH,EAEF7C,EAAOmK,IAAIG,QAAQJ,GAGnBzC,YAAW,WACTyC,EAAKK,KAAK,IAAKvK,EAAOmK,IAAIK,YAC5B,GAAG,KAIX,IACA/M,EAAiB,QAAE2J,WAAU,WAC3B,IAAIqD,EAAyBvD,EAAcG,QACvC2C,EAAgBS,EAAuBT,cACvCD,EAAkBU,EAAuBV,gBACxCC,GACHnN,EAAM6N,cAAc,CAClB7H,OAAQA,IAGPhG,EAAM8N,mBAGL9H,EACFkH,GAAkB,EAAI3D,EAAYlC,wBAAyB,EAAIkC,EAAYzC,wBAEvEG,SAASY,cACXZ,SAASY,cAAckG,OAEvB9G,SAAS+G,KAAKD,QAMpBlB,IACA1C,EAAUK,QAAUI,YAAW,WAC7BT,EAAUK,QAAU,KACfxE,GACH2E,GAAmB,EAEvB,GAAG,KAGH,IAAIsD,EAAmBjI,EAAS+G,EAAgBE,EAC5CiB,EAAYlO,EAAMmO,iBAAmBF,EAEzC,OADAzT,OAAO4T,iBAAiB,UAAWF,GAC5B,WACL1T,OAAO6T,oBAAoB,UAAWH,EACxC,CACF,GAAG,CAAClI,IAqLGpF,EAAiB,QAAEmD,cAAc,MAAO,MAAO/D,EAAMsO,WAAa1N,EAAiB,QAAEmD,cAAc,MAAO,CAC/GN,WAAY,cAAgBzD,EAAMuO,kBAAkB7K,OACpDc,QATF,YACoC,IAA9BxE,EAAMwO,qBAAqE,mBAA9BxO,EAAMwO,qBAAsCxO,EAAMwO,uBAGjG1D,GAEJ,EAIEnH,MAAOsH,EAAU,cACY,IAA3BjL,EAAMyO,kBAA8B7N,EAAiB,QAAEmD,cAAc,MAAO,CAC9EJ,MAAOsH,EAAU,eAChBrK,EAAiB,QAAEmD,cAAcyF,EAAgC,QAAG,CACrEhF,QA/KF,WAC8B,mBAAjBxE,EAAM0O,OACf1O,EAAM0O,SAENjE,GAEJ,EA0KEtH,OAAQnD,EAAMmD,OACdI,WAAYvD,EAAMyO,iBAClBhL,UAAWzD,EAAM2O,sBACjBzK,aAAclE,EAAM4O,mBACpBC,kBAAmB7O,EAAM6O,qBACtBjO,EAAiB,QAAEmD,cAAc,MAAO,CAC3CQ,GAAIvE,EAAMuE,GACVd,WAAY,gBAAkBzD,EAAMyD,WAAWC,OAC/CC,MAAOsH,EAAU,YACjB,eAAgBjF,GACf7C,EAAOmK,KAAO1M,EAAiB,QAAEmD,cAAc,MAAO,CACvDQ,GAAI,iBACJd,WAAY,kBAAoBzD,EAAM8O,qBAAqBpL,OAC3DC,MAAOsH,EAAU,eAChBrK,EAAiB,QAAEmD,cAAc,MAAO,CACzCH,MAAO,OACPd,OAAQ,OACRiM,QAAS,cACTC,oBAAqB,QACpBpO,EAAiB,QAAEmD,cAAc,OAAQ,CAC1CkL,EAAG9L,EAAOmK,IAAIK,gBACV/M,EAAiB,QAAEmD,cAAc,MAAO,CAC5CN,WAAY,WAAazD,EAAMkP,eAAexL,OAC9CC,MAAOsH,EAAU,SAChBrK,EAAiB,QAAEmD,cAAc/D,EAAMmP,gBAAiB,CACzD1L,WAAY,gBAAkBzD,EAAMoP,mBAAmB1L,OACvDC,MAAOsH,EAAU,aAChBrK,EAAiB,QAAEyO,SAASrL,IAAIhE,EAAMsP,UAAU,SAAU7S,EAAMmG,GACjE,GAAInG,EAAM,CACR,IAGI+G,EAAa,CACfnF,IAAKuE,EACLa,UALc,CAAC,UAAWzD,EAAMuP,cAAe9S,EAAKuD,MAAMyD,WAAW+L,QAAO,SAAU/L,GACtF,QAASA,CACX,IAAGzF,KAAK,KAIN2F,MAAOsH,EAAU,OAAQrI,EAAOnG,EAAKuD,MAAM2D,OAC3CoC,SAAUC,EAAS,GAAK,GAE1B,OAAOpF,EAAiB,QAAEkD,aAAarH,EAAM+G,EAC/C,CACF,OAAgC,IAA1BxD,EAAMyP,iBAA6B7O,EAAiB,QAAEmD,cAAc,MAAO,CAC/EJ,MAAOsH,EAAU,gBAChBrK,EAAiB,QAAEmD,cAAc0F,EAA+B,QAAG,CACpEjF,QAASsG,EACT3H,OAAQnD,EAAMmD,OACdI,WAAYvD,EAAMyP,gBAClBhM,UAAWzD,EAAM0P,qBACjB9J,eAAgB5F,EAAM4F,eACtBI,OAAQA,MAEZ,EA6DA,OA5DA6D,EAAKxE,UAAY,CACf6G,cAAerL,EAAqB,QAAEyE,OACtCsJ,mBAAoB/N,EAAqB,QAAEyE,OAC3CqJ,sBAAuB9N,EAAqB,QAAEyE,OAC9C7B,UAAW5C,EAAqB,QAAEyE,OAClCoK,qBAAsB7O,EAAqB,QAAEyE,OAC7CM,eAAgB/E,EAAqB,QAAEyE,OACvCmJ,iBAAkB5N,EAAqB,QAAE8O,UAAU,CAAC9O,EAAqB,QAAE0E,QAAS1E,EAAqB,QAAE+O,MAAM,EAAC,MAClHH,gBAAiB5O,EAAqB,QAAE8O,UAAU,CAAC9O,EAAqB,QAAE0E,QAAS1E,EAAqB,QAAE+O,MAAM,EAAC,MACjHzB,gBAAiBtN,EAAqB,QAAEgP,KACxC/B,iBAAkBjN,EAAqB,QAAEoF,KACzC+G,kBAAmBnM,EAAqB,QAAEoF,KAC1CuI,oBAAqB3N,EAAqB,QAAE8O,UAAU,CAAC9O,EAAqB,QAAEoF,KAAMpF,EAAqB,QAAEgP,OAC3G7D,cAAenL,EAAqB,QAAEyE,OACtCf,GAAI1D,EAAqB,QAAEyE,OAC3BU,OAAQnF,EAAqB,QAAEoF,KAC/BsJ,cAAe1O,EAAqB,QAAEyE,OACtC8J,kBAAmBvO,EAAqB,QAAEyE,OAC1C6J,gBAAiBtO,EAAqB,QAAE+O,MAAM,CAAC,MAAO,QACtDV,cAAerO,EAAqB,QAAEyE,OACtCwJ,oBAAqBjO,EAAqB,QAAEyE,OAC5CgJ,UAAWzN,EAAqB,QAAEoF,KAClCuF,aAAc3K,EAAqB,QAAEoF,KACrC8E,QAASlK,EAAqB,QAAEgP,KAChClL,kBAAmB9D,EAAqB,QAAEgP,KAC1CnB,OAAQ7N,EAAqB,QAAEgP,KAC/BhC,cAAehN,EAAqB,QAAEgP,KACtCnD,iBAAkBvJ,GAAUA,EAAOsJ,eAAiB5L,EAAqB,QAAEyE,OAAOwK,WAAajP,EAAqB,QAAEyE,OACtHiJ,iBAAkB1N,EAAqB,QAAEyE,OACzCkH,WAAYrJ,GAAUA,EAAOoJ,SAAW1L,EAAqB,QAAEyE,OAAOwK,WAAajP,EAAqB,QAAEyE,OAC1GtC,MAAOnC,EAAqB,QAAEoF,KAC9B9C,OAAQtC,EAAqB,QAAEU,OAC/BqC,MAAO/C,EAAqB,QAAE8O,UAAU,CAAC9O,EAAqB,QAAEkP,OAAQlP,EAAqB,QAAEyE,UAEjGuE,EAAKrE,aAAe,CAClB0G,cAAe,GACf0C,mBAAoB,GACpBD,sBAAuB,GACvBlL,UAAW,GACXiM,qBAAsB,GACtB9J,eAAgB,GAChBkI,kBAAkB,EAClBd,mBAAmB,EACnBhB,cAAe,GACfzH,GAAI,GACJgL,cAAe,GACfH,kBAAmB,GACnBF,cAAe,GACfJ,oBAAqB,GACrBR,WAAW,EACX9C,cAAc,EACdqC,cAAe,WAA0B,EACzCnB,iBAAkB,GAClB6B,iBAAkB,GAClB/B,WAAY,GACZrJ,OAAQ,CAAC,EACTS,MAAO,IACPe,kBAAmB,WAA8B,EACjDwK,gBAAiB,OAEZtF,CACT,EACAhL,EAAOC,QAAUA,EAAiB,O,oCC/clC,SAAS0B,EAAuBC,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,EAEf,CAPAzF,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IACI+Q,EAA2BxP,EADD,EAAQ,OAGlCyP,EAAgBzP,EADD,EAAQ,OAEvB0P,EAAgB,EAAQ,KAExB/M,EAAS,CACXmK,IAAK,CACHC,IAAKyC,EAAkC,QACvCrC,YAAa,kEACbwC,SAAU,4IACV1C,QAAS,SAAiBJ,GACxB,IAAI+C,EAAM,EACNC,EAAQ5V,KAAK0V,SAASnT,MAAM,KAC5BsT,EAAaD,EAAMtV,OACnBwV,EAAO/V,OAAO+V,MACH,SAASC,IAClBJ,EAAME,EAAa,IACvBjD,EAAKI,QAAQ,CACXJ,KAAMgD,EAAMD,IACH,IAARA,EAAY,IAAM,IAAa,IAARA,EAAYG,EAAKE,OAASF,EAAKnR,SAAS,WAChEoR,GACF,IACAJ,IACF,CACAI,EACF,GAEFpD,WAAY,SAAoBpH,EAAQpC,EAAOZ,GAC7C,MAAO,CACLH,SAAU,WACVe,MAAO,OACPd,OAAQ,OACRE,MAAOA,EAAQ,UAAY,EAC3BD,KAAMC,EAAQ,EAAI,UAClBmD,aAAcnD,EAAQ,kBAAoB,gBAC1CoD,YAAapD,EAAQ,kBAAoB,gBACzCqD,WAAYrD,EAAQ,kBAAoB,gBACxCsD,gBAAiBtD,EAAQ,kBAAoB,gBAC7C0C,UAAW1C,EAAQ,kBAAoB,gBAE3C,EACAwD,SAAU,SAAkBR,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACpFoD,YAAaJ,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACnFqD,WAAYL,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BAClFsD,gBAAiBN,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACvF0C,UAAWM,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACjFuD,WAAYP,EAAS,oBAAsB,iBAE/C,EACAS,KAAM,SAAcT,EAAQpC,EAAOZ,GACjC,IAAI0N,GAAa,EAAIR,EAAc7H,SAASzE,GAhD7B,IAiDf,MAAO,CACLf,SAAU,QACVsD,aAAcH,EAAS,GAAKhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC7GtK,YAAaJ,EAAS,GAAKhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC5GrK,WAAYL,EAAS,GAAKhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC3GpK,gBAAiBN,EAAS,GAAKhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAChHhL,UAAWM,EAAS,GAAKhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC1GnK,WAAYP,EAAS,2GAA6G,uGAClI9C,QAAS8C,EAAS,EAAI,EAE1B,EACAvJ,KAAM,SAAcuJ,EAAQpC,EAAOZ,EAAO2N,GACxC,IAAID,GAAa,EAAIR,EAAc7H,SAASzE,GA7D7B,IA8Df,MAAO,CACLuC,aAAcH,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UACjItK,YAAaJ,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAChIrK,WAAYL,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC/HpK,gBAAiBN,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UACpIhL,UAAWM,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC9HnK,WAAYP,EAAS,yCAA2C,uGAChE9C,QAAS8C,EAAS,EAAI,EAE1B,EACA4K,YAAa,SAAqB5K,EAAQpC,EAAOZ,GAC/C,IAAI0N,GAAa,EAAIR,EAAc7H,SAASzE,GAzE7B,IA0Ef,MAAO,CACLuC,aAAcH,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UACjItK,YAAaJ,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAChIrK,WAAYL,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC/HpK,gBAAiBN,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UACpIhL,UAAWM,EAAS,uBAAyBhD,EAAQ,eAAiB0N,EAAa,UAAY,gBAAkBA,EAAa,UAC9HnK,WAAYP,EAAS,2GAA6G,uGAClI9C,QAAS8C,EAAS,EAAI,EAE1B,GAEFlH,EAAA,SAAqB,EAAImR,EAAuB,SAAG9M,GACnDtE,EAAOC,QAAUA,EAAiB,O,oCChGlC,SAAS0B,EAAuBC,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnC,QAAWA,EAEf,CAPAzF,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IACI+Q,EAA2BxP,EADD,EAAQ,OAGlCyP,EAAgBzP,EADD,EAAQ,OAEvB0P,EAAgB,EAAQ,KAExB/M,EAAS,CACXmK,IAAK,CACHC,IAAKyC,EAAkC,QACvCrC,YAAa,kFACbwC,SAAU,kDACV1C,QAAS,SAAiBJ,GACxBA,EAAKI,QAAQ,CACXJ,KAAM5S,KAAK0V,UACV,IAAK3V,OAAO+V,KAAKM,UACtB,GAEFzD,WAAY,SAAoBpH,EAAQpC,EAAOZ,GAC7C,MAAO,CACLH,SAAU,WACVe,MAfkB,IAgBlBd,OAAQ,OACRE,MAAOA,EAAQ,UAAY,EAC3BD,KAAMC,EAAQ,EAAI,UAClBmD,aAAcnD,EAAQ,kBAAoB,GAC1CoD,YAAapD,EAAQ,kBAAoB,GACzCqD,WAAYrD,EAAQ,kBAAoB,GACxCsD,gBAAiBtD,EAAQ,kBAAoB,GAC7C0C,UAAW1C,EAAQ,kBAAoB,GAE3C,EACAwD,SAAU,SAAkBR,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACpFoD,YAAaJ,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACnFqD,WAAYL,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BAClFsD,gBAAiBN,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACvF0C,UAAWM,EAAS,uBAAyBhD,EAAQ,0BAA4B,2BACjFuD,WAAY,WAEhB,EACAE,KAAM,SAAcT,EAAQpC,EAAOZ,GACjC,MAAO,CACLH,SAAU,QACVG,MAAOA,EAAQ,EAAI,UACnBY,OAAO,EAAIsM,EAAc7H,SAASzE,GAxChB,IAyClBkN,WAAY,SACZpK,UAAW,aACXC,SAAU,UAEd,EACAC,SAAU,SAAkBZ,EAAQpC,EAAOZ,GACzC,GAAIA,EACF,MAAO,CACLH,SAAU,WACVE,KAAM,SACNa,MAAO,OACP+C,SAAU,OAGhB,EACA4F,SAAU,SAAkBvG,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,4BAA8B,2BAClEoD,YAAaJ,EAAS,GAAKhD,EAAQ,4BAA8B,2BACjEqD,WAAYL,EAAS,GAAKhD,EAAQ,4BAA8B,2BAChEsD,gBAAiBN,EAAS,GAAKhD,EAAQ,4BAA8B,2BACrE0C,UAAWM,EAAS,GAAKhD,EAAQ,4BAA8B,2BAC/DuD,WAAYP,EAAS,WAAa,gBAEtC,EACAyG,eAAgB,SAAwBzG,GACtC,MAAO,CACLW,SAAUX,EAAS,GAAK,SAE5B,GAEFlH,EAAA,SAAqB,EAAImR,EAAuB,SAAG9M,GACnDtE,EAAOC,QAAUA,EAAiB,O,oCCtFlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAkCf3B,EAAA,SAAqB,EAAImR,EAAuB,SA7BnC,CACXzJ,SAAU,SAAkBR,GAC1B,MAAO,CACLG,aAAcH,EAAS,GAAK,2BAC5BI,YAAaJ,EAAS,GAAK,2BAC3BK,WAAYL,EAAS,GAAK,2BAC1BM,gBAAiBN,EAAS,GAAK,2BAC/BN,UAAWM,EAAS,GAAK,2BACzBO,WAAY,uBAEhB,EACAgG,SAAU,SAAkBvG,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACnGwC,YAAaJ,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAClGyC,WAAYL,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACjG0C,gBAAiBN,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACtG8B,UAAWM,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAChG2C,WAAY,WAEhB,EACAkG,eAAgB,SAAwBzG,GACtC,MAAO,CACLgL,YAAa,SACbC,kBAAmB,SACnBtK,SAAUX,EAAS,GAAK,SAE5B,IAGFnH,EAAOC,QAAUA,EAAiB,O,oCCxClC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAsBf3B,EAAA,SAAqB,EAAImR,EAAuB,SAjBnC,CACX1D,SAAU,SAAkBvG,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACnGwC,YAAaJ,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAClGyC,WAAYL,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACjG0C,gBAAiBN,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACtG8B,UAAWM,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAChG2C,WAAY,WAEhB,EACAkG,eAAgB,SAAwBzG,GACtC,MAAO,CACLW,SAAUX,EAAS,GAAK,SAE5B,IAGFnH,EAAOC,QAAUA,EAAiB,O,oCC5BlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAyBf3B,EAAA,SAAqB,EAAImR,EAAuB,SApBnC,CACX1D,SAAU,SAAkBvG,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAClHwC,YAAaJ,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,yBAA2B,eAAiBA,EAAQ,0BACjHyC,WAAYL,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAChH0C,gBAAiBN,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,yBAA2B,eAAiBA,EAAQ,0BACrH8B,UAAWM,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAC/GsN,gBAAiBlO,EAAQ,WAAa,SACtCmO,eAAgB,cAChB5K,WAAY,WAEhB,EACAkG,eAAgB,SAAwBzG,GACtC,MAAO,CACLgL,YAAa,SACbrK,SAAUX,EAAS,GAAK,SAE5B,IAGFnH,EAAOC,QAAUA,EAAiB,O,oCC/BlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GA0Df3B,EAAA,SAAqB,EAAImR,EAAuB,SArDnC,CACXzJ,SAAU,SAAkBR,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAc,uBACdC,YAAa,uBACbC,WAAY,uBACZC,gBAAiB,uBACjBZ,UAAW,uBACXrJ,OAAQ2J,EAAS,KAAQ,EAE7B,EACAE,QAAS,SAAiBF,EAAQpC,EAAOZ,GACvC,MAAO,CACL3G,OAAQ,KACR8J,aAAcH,EAAShD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBAC1GwC,YAAaJ,EAAShD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACzGyC,WAAYL,EAAShD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACxG0C,gBAAiBN,EAAShD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBAC7G8B,UAAWM,EAAShD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACvG2C,WAAY,WACZ6K,WAAYpL,EAAS,UAAY,SAErC,EACAuG,SAAU,SAAkBvG,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACnGwC,YAAaJ,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAClGyC,WAAYL,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACjG0C,gBAAiBN,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UACtG8B,UAAWM,EAAS,GAAKhD,EAAQ,gBAAkBY,EAAQ,UAAY,eAAiBA,EAAQ,UAChG2C,WAAY,WACZlK,OAAQ,KACRwG,SAAU,WAEd,EACAwO,WAAY,SAAoBrL,EAAQpC,EAAOZ,GAC7C,MAAO,CACLmD,aAAcH,EAAShD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBAC1GwC,YAAaJ,EAAShD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACzGyC,WAAYL,EAAShD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACxG0C,gBAAiBN,EAAShD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBAC7G8B,UAAWM,EAAShD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACvG2C,WAAY,WACZ1D,SAAU,WACVxG,OAAQ,KAEZ,EACAoQ,eAAgB,SAAwBzG,GACtC,MAAO,CACLW,SAAUX,EAAS,GAAK,SAE5B,IAGFnH,EAAOC,QAAUA,EAAiB,O,oCChElC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAwBf3B,EAAA,SAAqB,EAAImR,EAAuB,SAnBnC,CACX1D,SAAU,SAAkBvG,EAAQpC,GAClC,MAAO,CACLuC,aAAcH,EAAS,GAAK,sBAAwBpC,EAAQ,IAC5DwC,YAAaJ,EAAS,GAAK,sBAAwBpC,EAAQ,IAC3DyC,WAAYL,EAAS,GAAK,sBAAwBpC,EAAQ,IAC1D0C,gBAAiBN,EAAS,GAAK,sBAAwBpC,EAAQ,IAC/D8B,UAAWM,EAAS,GAAK,sBAAwBpC,EAAQ,IACzDsN,gBAAiB,OACjBC,eAAgB,cAChB5K,WAAY,WAEhB,EACAkG,eAAgB,WACd,MAAO,CACLuE,YAAa,SAEjB,IAGFnS,EAAOC,QAAUA,EAAiB,O,oCC9BlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAyBf3B,EAAA,SAAqB,EAAImR,EAAuB,SApBnC,CACX1D,SAAU,SAAkBvG,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,gDAAkD,gDACtFoD,YAAaJ,EAAS,GAAKhD,EAAQ,gDAAkD,gDACrFqD,WAAYL,EAAS,GAAKhD,EAAQ,gDAAkD,gDACpFsD,gBAAiBN,EAAS,GAAKhD,EAAQ,gDAAkD,gDACzF0C,UAAWM,EAAS,GAAKhD,EAAQ,gDAAkD,gDACnFmO,eAAgB,cAChB5K,WAAY,WACZI,SAAUX,EAAS,GAAK,SAE5B,EACAyG,eAAgB,SAAwBzG,GACtC,MAAO,CACLgL,YAAa,SACbrK,SAAUX,EAAS,GAAK,SAE5B,IAGFnH,EAAOC,QAAUA,EAAiB,O,oCC/BlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GAMf3B,EAAA,SAAqB,EAAImR,EAAuB,SADnC,CAAC,GAEdpR,EAAOC,QAAUA,EAAiB,O,mCCZlC9D,OAAOgE,eAAeF,EAAS,aAA/B,CACEG,OAAO,IAOT,IALgCwB,EAK5BsQ,EAAe,EAAQ,MACvBd,GAN4BxP,EAMWsQ,IAL3BtQ,EAAIC,WAAaD,EAAM,CACnC,QAAWA,GA2Bf3B,EAAA,SAAqB,EAAImR,EAAuB,SAtBnC,CACXzJ,SAAU,SAAkBR,EAAQpC,EAAOZ,GACzC,MAAO,CACLmD,aAAcH,EAAS,GAAKhD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UACnGwC,YAAaJ,EAAS,GAAKhD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAClGyC,WAAYL,EAAS,GAAKhD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UACjG0C,gBAAiBN,EAAS,GAAKhD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UACtG8B,UAAWM,EAAS,GAAKhD,EAAQ,eAAiBY,EAAQ,UAAY,gBAAkBA,EAAQ,UAChG2C,WAAYP,EAAS,8CAAgD,8CAEzE,EACAvJ,KAAM,SAAcuJ,EAAQpC,EAAOZ,EAAO2N,GACxC,MAAO,CACLxK,aAAcH,EAAS,GAAK,kBAA+B,IAAX2K,EAAiB,SACjEvK,YAAaJ,EAAS,GAAK,kBAA+B,IAAX2K,EAAiB,SAChEtK,WAAYL,EAAS,GAAK,kBAA+B,IAAX2K,EAAiB,SAC/DrK,gBAAiBN,EAAS,GAAK,kBAA+B,IAAX2K,EAAiB,SACpEjL,UAAWM,EAAS,GAAK,kBAA+B,IAAX2K,EAAiB,SAC9DpK,WAAYP,EAAS,8CAAgD,iDAEzE,IAGFnH,EAAOC,QAAUA,EAAiB,O,mBCjClC,IAAIwS,EAAoC,oBAAZC,QACxBC,EAAwB,mBAARC,IAChBC,EAAwB,mBAARC,IAChBC,EAAwC,mBAAhBC,eAAgCA,YAAYC,OAIxE,SAASC,EAAMrX,EAAGC,GAEhB,GAAID,IAAMC,EAAG,OAAO,EACpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAE8H,cAAgB7H,EAAE6H,YAAa,OAAO,EAC5C,IAAIzH,EAAQF,EAAGmX,EA8BXC,EA7BJ,GAAI7W,MAAMd,QAAQI,GAAI,CAEpB,IADAK,EAASL,EAAEK,SACGJ,EAAEI,OAAQ,OAAO,EAC/B,IAAKF,EAAIE,EAAgB,GAARF,KACf,IAAKkX,EAAMrX,EAAEG,GAAIF,EAAEE,IAAK,OAAO,EAEjC,OAAO,CACT,CAuBA,GAAI2W,GAAU9W,aAAa+W,KAAO9W,aAAa8W,IAAK,CAClD,GAAI/W,EAAEwX,OAASvX,EAAEuX,KAAM,OAAO,EAE9B,IADAD,EAAKvX,EAAEyX,YACEtX,EAAIoX,EAAG/I,QAAQC,MACtB,IAAKxO,EAAEd,IAAIgB,EAAEoE,MAAM,IAAK,OAAO,EAGjC,IADAgT,EAAKvX,EAAEyX,YACEtX,EAAIoX,EAAG/I,QAAQC,MACtB,IAAK4I,EAAMlX,EAAEoE,MAAM,GAAItE,EAAEoH,IAAIlH,EAAEoE,MAAM,KAAM,OAAO,EAEpD,OAAO,CACT,CACA,GAAIyS,GAAUhX,aAAaiX,KAAOhX,aAAagX,IAAK,CAClD,GAAIjX,EAAEwX,OAASvX,EAAEuX,KAAM,OAAO,EAE9B,IADAD,EAAKvX,EAAEyX,YACEtX,EAAIoX,EAAG/I,QAAQC,MACtB,IAAKxO,EAAEd,IAAIgB,EAAEoE,MAAM,IAAK,OAAO,EAEjC,OAAO,CACT,CAGA,GAAI2S,GAAkBC,YAAYC,OAAOpX,IAAMmX,YAAYC,OAAOnX,GAAI,CAEpE,IADAI,EAASL,EAAEK,SACGJ,EAAEI,OAAQ,OAAO,EAC/B,IAAKF,EAAIE,EAAgB,GAARF,KACf,GAAIH,EAAEG,KAAOF,EAAEE,GAAI,OAAO,EAE5B,OAAO,CACT,CACA,GAAIH,EAAE8H,cAAgBjF,OAAQ,OAAO7C,EAAEmF,SAAWlF,EAAEkF,QAAUnF,EAAE0X,QAAUzX,EAAEyX,MAC5E,GAAI1X,EAAE2X,UAAYrX,OAAOC,UAAUoX,QAAS,OAAO3X,EAAE2X,YAAc1X,EAAE0X,UACrE,GAAI3X,EAAEQ,WAAaF,OAAOC,UAAUC,SAAU,OAAOR,EAAEQ,aAAeP,EAAEO,WAGxE,IADAH,GADAiX,EAAOhX,OAAOgX,KAAKtX,IACLK,UACCC,OAAOgX,KAAKrX,GAAGI,OAAQ,OAAO,EAC7C,IAAKF,EAAIE,EAAgB,GAARF,KACf,IAAKG,OAAOC,UAAUyC,eAAepC,KAAKX,EAAGqX,EAAKnX,IAAK,OAAO,EAMhE,GAAIyW,GAAkB5W,aAAa6W,QAAS,OAAO,EAGnD,IAAK1W,EAAIE,EAAgB,GAARF,KACf,IAAiB,WAAZmX,EAAKnX,IAA+B,QAAZmX,EAAKnX,IAA4B,QAAZmX,EAAKnX,KAAiBH,EAAE4X,YAarEP,EAAMrX,EAAEsX,EAAKnX,IAAKF,EAAEqX,EAAKnX,KAAM,OAAO,EAK7C,OAAO,CACT,CACA,OAAOH,GAAMA,GAAKC,GAAMA,CAC1B,CAGAkE,EAAOC,QAAU,SAAiBpE,EAAGC,GACnC,IACE,OAAOoX,EAAMrX,EAAGC,EAalB,CAZE,MAAOyR,GACP,IAAKA,EAAMmG,SAAW,IAAIC,MAAM,oBAO9B,OADArG,QAAQsG,KAAK,mDACN,EAGT,MAAMrG,CACR,CACF,C,wCCoIMsG,EAsSuBtN,EACvBuN,EAAQC,E,sFA1iBVC,EACI,iBADJA,EAEI,iBAFJA,EAGK,kBAELC,EAAY,CACdC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,SAAU,WACVC,OAAQ,SACRC,MAAO,QACPC,MAAO,SAKLC,GAHkBzY,OAAOgX,KAAKc,GAAW9O,KAAI,SAAUzI,GACzD,OAAOuX,EAAUvX,EACnB,IAEW,WADPkY,EAEQ,UAFRA,EAGI,OAHJA,EAIS,aAJTA,EAKU,YALVA,EAMS,WANTA,EAOI,OAPJA,EAQQ,WARRA,EASG,MATHA,EAUG,MAVHA,EAWM,SAENC,EAAgB,CAClBC,UAAW,YACXC,QAAS,UACTC,MAAO,YACPC,gBAAiB,kBACjBC,YAAa,cACb,aAAc,YACdC,SAAU,WACVC,SAAU,YAERC,EACa,eADbA,EAEK,QAFLA,EAGyB,0BAHzBA,EAIsB,sBAJtBA,EAKc,gBAEdC,EAAenZ,OAAOgX,KAAK0B,GAAeU,QAAO,SAAU3T,EAAKpC,GAElE,OADAoC,EAAIiT,EAAcrV,IAAQA,EACnBoC,CACT,GAAG,CAAC,GACA4T,EAAoB,CAACvB,EAAUO,SAAUP,EAAUQ,OAAQR,EAAUS,OACrEe,EAAmB,oBACnBC,EAA4B,mBAAX7L,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUlI,GAC5F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAyB,mBAAXiI,QAAyBjI,EAAI+B,cAAgBkG,QAAUjI,IAAQiI,OAAOzN,UAAY,gBAAkBwF,CAC3H,EACI+T,EAAiB,SAAwBxT,EAAUX,GACrD,KAAMW,aAAoBX,GACxB,MAAM,IAAIY,UAAU,oCAExB,EACIwT,EAAc,WAChB,SAAS1U,EAAiBH,EAAQI,GAChC,IAAK,IAAInF,EAAI,EAAGA,EAAImF,EAAMjF,OAAQF,IAAK,CACrC,IAAIoF,EAAaD,EAAMnF,GACvBoF,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDpF,OAAOgE,eAAeY,EAAQK,EAAW5B,IAAK4B,EAChD,CACF,CACA,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYpF,UAAWqF,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,CACT,CACF,CAfkB,GAgBdV,EAAW3E,OAAO+D,QAAU,SAAUa,GACxC,IAAK,IAAI/E,EAAI,EAAGA,EAAIgB,UAAUd,OAAQF,IAAK,CACzC,IAAIgF,EAAShE,UAAUhB,GACvB,IAAK,IAAIwD,KAAOwB,EACV7E,OAAOC,UAAUyC,eAAepC,KAAKuE,EAAQxB,KAC/CuB,EAAOvB,GAAOwB,EAAOxB,GAG3B,CACA,OAAOuB,CACT,EAeI8U,EAA0B,SAAiCjU,EAAKuR,GAClE,IAAIpS,EAAS,CAAC,EACd,IAAK,IAAI/E,KAAK4F,EACRuR,EAAK2C,QAAQ9Z,IAAM,GAClBG,OAAOC,UAAUyC,eAAepC,KAAKmF,EAAK5F,KAC/C+E,EAAO/E,GAAK4F,EAAI5F,IAElB,OAAO+E,CACT,EACIgV,EAA4B,SAAmCC,EAAMvZ,GACvE,IAAKuZ,EACH,MAAM,IAAIC,eAAe,6DAE3B,OAAOxZ,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BuZ,EAAPvZ,CAC5E,EACIyZ,EAA0B,SAAiCC,GAC7D,IAAIC,IAASpZ,UAAUd,OAAS,QAAsB8G,IAAjBhG,UAAU,KAAmBA,UAAU,GAC5E,OAAe,IAAXoZ,EACK9Z,OAAO6Z,GAET7Z,OAAO6Z,GAAK1X,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,SAC9H,EACI4X,EAAwB,SAA+BC,GACzD,IAAIC,EAAiBC,EAAqBF,EAAWrC,EAAUU,OAC3D8B,EAAoBD,EAAqBF,EAAWjB,GACxD,GAAIoB,GAAqBF,EAEvB,OAAOE,EAAkBhY,QAAQ,OAAO,WACtC,OAAOlC,MAAMd,QAAQ8a,GAAkBA,EAAepX,KAAK,IAAMoX,CACnE,IAEF,IAAIG,EAAwBF,EAAqBF,EAAWjB,GAC5D,OAAOkB,GAAkBG,QAAyB1T,CACpD,EACI2T,EAAyB,SAAgCL,GAC3D,OAAOE,EAAqBF,EAAWjB,IAAwC,WAAa,CAC9F,EACIuB,EAA6B,SAAoCC,EAASP,GAC5E,OAAOA,EAAU3F,QAAO,SAAUxP,GAChC,YAAiC,IAAnBA,EAAM0V,EACtB,IAAG1R,KAAI,SAAUhE,GACf,OAAOA,EAAM0V,EACf,IAAGtB,QAAO,SAAUuB,EAAUnL,GAC5B,OAAO7K,EAAS,CAAC,EAAGgW,EAAUnL,EAChC,GAAG,CAAC,EACN,EACIoL,EAA0B,SAAiCC,EAAmBV,GAChF,OAAOA,EAAU3F,QAAO,SAAUxP,GAChC,YAAwC,IAA1BA,EAAM8S,EAAUC,KAChC,IAAG/O,KAAI,SAAUhE,GACf,OAAOA,EAAM8S,EAAUC,KACzB,IAAG+C,UAAU1B,QAAO,SAAU2B,EAAkBC,GAC9C,IAAKD,EAAiBhb,OAEpB,IADA,IAAIiX,EAAOhX,OAAOgX,KAAKgE,GACdnb,EAAI,EAAGA,EAAImX,EAAKjX,OAAQF,IAAK,CACpC,IACIob,EADejE,EAAKnX,GACiBqb,cACzC,IAA0D,IAAtDL,EAAkBlB,QAAQsB,IAAiCD,EAAIC,GACjE,OAAOF,EAAiB5Y,OAAO6Y,EAEnC,CAEF,OAAOD,CACT,GAAG,GACL,EACII,EAAuB,SAA8BC,EAASP,EAAmBV,GAEnF,IAAIkB,EAAmB,CAAC,EACxB,OAAOlB,EAAU3F,QAAO,SAAUxP,GAChC,QAAI5E,MAAMd,QAAQ0F,EAAMoW,WAGM,IAAnBpW,EAAMoW,IACf3D,GAAK,WAAa2D,EAAU,mDAAwD7B,EAAQvU,EAAMoW,IAAY,MAEzG,EACT,IAAGpS,KAAI,SAAUhE,GACf,OAAOA,EAAMoW,EACf,IAAGN,UAAU1B,QAAO,SAAUkC,EAAcC,GAC1C,IAAIC,EAAmB,CAAC,EACxBD,EAAa/G,QAAO,SAAUwG,GAG5B,IAFA,IAAIS,OAAsB,EACtBzE,EAAOhX,OAAOgX,KAAKgE,GACdnb,EAAI,EAAGA,EAAImX,EAAKjX,OAAQF,IAAK,CACpC,IAAI6b,EAAe1E,EAAKnX,GACpBob,EAAwBS,EAAaR,eAGiB,IAAtDL,EAAkBlB,QAAQsB,IAAmCQ,IAAwBhD,GAAiE,cAA3CuC,EAAIS,GAAqBP,eAAoCD,IAA0BxC,GAAmE,eAA7CuC,EAAIC,GAAuBC,gBACrPO,EAAsBR,IAGyB,IAA7CJ,EAAkBlB,QAAQ+B,IAAyBA,IAAiBjD,GAA6BiD,IAAiBjD,GAA2BiD,IAAiBjD,IAChKgD,EAAsBC,EAE1B,CACA,IAAKD,IAAwBT,EAAIS,GAC/B,OAAO,EAET,IAAIxX,EAAQ+W,EAAIS,GAAqBP,cAOrC,OANKG,EAAiBI,KACpBJ,EAAiBI,GAAuB,CAAC,GAEtCD,EAAiBC,KACpBD,EAAiBC,GAAuB,CAAC,IAEtCJ,EAAiBI,GAAqBxX,KACzCuX,EAAiBC,GAAqBxX,IAAS,GACxC,EAGX,IAAG6W,UAAUa,SAAQ,SAAUX,GAC7B,OAAOM,EAAala,KAAK4Z,EAC3B,IAIA,IADA,IAAIhE,EAAOhX,OAAOgX,KAAKwE,GACd3b,EAAI,EAAGA,EAAImX,EAAKjX,OAAQF,IAAK,CACpC,IAAI6b,EAAe1E,EAAKnX,GACpB+b,EAAW,IAAa,CAAC,EAAGP,EAAiBK,GAAeF,EAAiBE,IACjFL,EAAiBK,GAAgBE,CACnC,CACA,OAAON,CACT,GAAG,IAAIR,SACT,EACIT,EAAuB,SAA8BF,EAAW3T,GAClE,IAAK,IAAI3G,EAAIsa,EAAUpa,OAAS,EAAGF,GAAK,EAAGA,IAAK,CAC9C,IAAImF,EAAQmV,EAAUta,GACtB,GAAImF,EAAMtC,eAAe8D,GACvB,OAAOxB,EAAMwB,EAEjB,CACA,OAAO,IACT,EAkBIqV,GACEnE,EAAQoE,KAAKC,MACV,SAAUC,GACf,IAAIC,EAAcH,KAAKC,MACnBE,EAAcvE,EAAQ,IACxBA,EAAQuE,EACRD,EAASC,IAETrM,YAAW,WACTiM,EAAYG,EACd,GAAG,EAEP,GAEEE,GAAc,SAAqB3S,GACrC,OAAOuI,aAAavI,EACtB,EACI4S,GAA0C,oBAAX3c,OAAyBA,OAAO2c,uBAAyB3c,OAAO2c,sBAAsBC,KAAK5c,SAAWA,OAAO6c,6BAA+B7c,OAAO8c,0BAA4BT,EAAc,EAAAU,EAAOJ,uBAAyBN,EAC5PW,GAAyC,oBAAXhd,OAAyBA,OAAOgd,sBAAwBhd,OAAOid,4BAA8Bjd,OAAOkd,yBAA2BR,GAAc,EAAAK,EAAOC,sBAAwBN,GAC1MzE,GAAO,SAAckF,GACvB,OAAOxL,SAAmC,mBAAjBA,QAAQsG,MAAuBtG,QAAQsG,KAAKkF,EACvE,EACIC,GAAkB,KAgBlBC,GAAmB,SAA0BC,EAAUC,GACzD,IAAIC,EAAUF,EAASE,QACrBC,EAAiBH,EAASG,eAC1BC,EAAiBJ,EAASI,eAC1BC,EAAWL,EAASK,SACpBC,EAAWN,EAASM,SACpBC,EAAeP,EAASO,aACxBC,EAAsBR,EAASQ,oBAC/BC,EAAaT,EAASS,WACtBC,EAAYV,EAASU,UACrBC,EAAQX,EAASW,MACjBC,EAAkBZ,EAASY,gBAC7BC,GAAiB7F,EAAUE,KAAMiF,GACjCU,GAAiB7F,EAAUI,KAAMgF,GACjCU,GAAYH,EAAOC,GACnB,IAAIG,EAAa,CACfb,QAASc,GAAWhG,EAAUC,KAAMiF,GACpCG,SAAUW,GAAWhG,EAAUK,KAAMgF,GACrCC,SAAUU,GAAWhG,EAAUM,KAAMgF,GACrCC,aAAcS,GAAWhG,EAAUO,SAAUgF,GAC7CE,WAAYO,GAAWhG,EAAUQ,OAAQiF,GACzCC,UAAWM,GAAWhG,EAAUS,MAAOiF,IAErCO,EAAY,CAAC,EACbC,EAAc,CAAC,EACnBhe,OAAOgX,KAAK6G,GAAYlC,SAAQ,SAAUjB,GACxC,IAAIuD,EAAsBJ,EAAWnD,GACnCwD,EAAUD,EAAoBC,QAC9BC,EAAUF,EAAoBE,QAC5BD,EAAQne,SACVge,EAAUrD,GAAWwD,GAEnBC,EAAQpe,SACVie,EAAYtD,GAAWmD,EAAWnD,GAASyD,QAE/C,IACApB,GAAMA,IACNO,EAAoBR,EAAUiB,EAAWC,EAC3C,EACII,GAAe,SAAsBC,GACvC,OAAOje,MAAMd,QAAQ+e,GAAiBA,EAAcrb,KAAK,IAAMqb,CACjE,EACIT,GAAc,SAAqBH,EAAOa,QACvB,IAAVb,GAAyBxR,SAASwR,QAAUA,IACrDxR,SAASwR,MAAQW,GAAaX,IAEhCE,GAAiB7F,EAAUU,MAAO8F,EACpC,EACIX,GAAmB,SAA0BvC,EAASkD,GACxD,IAAIC,EAAatS,SAASuS,qBAAqBpD,GAAS,GACxD,GAAKmD,EAAL,CAOA,IAJA,IAAIE,EAAwBF,EAAWG,aAAapF,GAChDqF,EAAmBF,EAAwBA,EAAsBzc,MAAM,KAAO,GAC9E4c,EAAqB,GAAGzc,OAAOwc,GAC/BE,EAAgB7e,OAAOgX,KAAKsH,GACvBze,EAAI,EAAGA,EAAIgf,EAAc9e,OAAQF,IAAK,CAC7C,IAAIif,EAAYD,EAAchf,GAC1BoE,EAAQqa,EAAWQ,IAAc,GACjCP,EAAWG,aAAaI,KAAe7a,GACzCsa,EAAW3M,aAAakN,EAAW7a,IAEQ,IAAzC0a,EAAiBhF,QAAQmF,IAC3BH,EAAiBvd,KAAK0d,GAExB,IAAIC,EAAcH,EAAmBjF,QAAQmF,IACxB,IAAjBC,GACFH,EAAmBtb,OAAOyb,EAAa,EAE3C,CACA,IAAK,IAAI9Q,EAAK2Q,EAAmB7e,OAAS,EAAGkO,GAAM,EAAGA,IACpDsQ,EAAW5M,gBAAgBiN,EAAmB3Q,IAE5C0Q,EAAiB5e,SAAW6e,EAAmB7e,OACjDwe,EAAW5M,gBAAgB2H,GAClBiF,EAAWG,aAAapF,KAAsBuF,EAAc7b,KAAK,MAC1Eub,EAAW3M,aAAa0H,EAAkBuF,EAAc7b,KAAK,KAzB/D,CA2BF,EACI8a,GAAa,SAAoBxU,EAAM0V,GACzC,IAAIC,EAAchT,SAASiT,MAAQjT,SAASgF,cAAc6G,EAAUG,MAChEkH,EAAWF,EAAYG,iBAAiB9V,EAAO,IAAPA,sBACxC6U,EAAU/d,MAAMH,UAAUW,MAAMN,KAAK6e,GACrCjB,EAAU,GACVmB,OAAgB,EAuCpB,OAtCIL,GAAQA,EAAKjf,QACfif,EAAKrD,SAAQ,SAAUX,GACrB,IAAIsE,EAAarT,SAASlD,cAAcO,GACxC,IAAK,IAAIwV,KAAa9D,EACpB,GAAIA,EAAItY,eAAeoc,GACrB,GAAIA,IAAcrG,EAChB6G,EAAWC,UAAYvE,EAAIuE,eACtB,GAAIT,IAAcrG,EACnB6G,EAAWE,WACbF,EAAWE,WAAWC,QAAUzE,EAAIyE,QAEpCH,EAAWI,YAAYzT,SAAS0T,eAAe3E,EAAIyE,cAEhD,CACL,IAAIxb,OAAkC,IAAnB+W,EAAI8D,GAA6B,GAAK9D,EAAI8D,GAC7DQ,EAAW1N,aAAakN,EAAW7a,EACrC,CAGJqb,EAAW1N,aAAa0H,EAAkB,QAGtC6E,EAAQyB,MAAK,SAAUC,EAAajY,GAEtC,OADAyX,EAAgBzX,EACT0X,EAAWQ,YAAYD,EAChC,IACE1B,EAAQ7a,OAAO+b,EAAe,GAE9BnB,EAAQ9c,KAAKke,EAEjB,IAEFnB,EAAQxC,SAAQ,SAAUX,GACxB,OAAOA,EAAI+E,WAAWC,YAAYhF,EACpC,IACAkD,EAAQvC,SAAQ,SAAUX,GACxB,OAAOiE,EAAYS,YAAY1E,EACjC,IACO,CACLmD,QAASA,EACTD,QAASA,EAEb,EACI+B,GAAoC,SAA2C3B,GACjF,OAAOte,OAAOgX,KAAKsH,GAAYlF,QAAO,SAAUY,EAAK3W,GACnD,IAAIqP,OAAkC,IAApB4L,EAAWjb,GAAuBA,EAAM,KAAQib,EAAWjb,GAAO,IAAO,GAAKA,EAChG,OAAO2W,EAAMA,EAAM,IAAMtH,EAAOA,CAClC,GAAG,GACL,EAmBIwN,GAAuC,SAA8C5B,GACvF,IAAI6B,EAAYtf,UAAUd,OAAS,QAAsB8G,IAAjBhG,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACrF,OAAOb,OAAOgX,KAAKsH,GAAYlF,QAAO,SAAU3T,EAAKpC,GAEnD,OADAoC,EAAIiT,EAAcrV,IAAQA,GAAOib,EAAWjb,GACrCoC,CACT,GAAG0a,EACL,EAsCIC,GAAmB,SAA0B9W,EAAM0V,EAAM/E,GAC3D,OAAQ3Q,GACN,KAAKwO,EAAUU,MACb,MAAO,CACL6H,YAAa,WACX,OAnCuE5C,EAmC5BuB,EAAKvB,MAnC8Ba,EAmCvBU,EAAKtB,iBA/BnD4C,EAAa,CAC5Bjd,IAAKoa,IACOnE,IAAoB,EAC9BtU,EAAQkb,GAAqC5B,EADTgC,GAEjC,CAAC,gBAAoBxI,EAAUU,MAAOxT,EAAOyY,IARlB,IAA6CA,EAAOa,EAClFgC,EAMAtb,CA6BE,EACA9E,SAAU,WACR,OAtEkB,SAA+BoJ,EAAMmU,EAAOa,EAAYrE,GAClF,IAAIsG,EAAkBN,GAAkC3B,GACpDkC,EAAiBpC,GAAaX,GAClC,OAAO8C,EAAkB,IAAMjX,EAAN,6BAAqDiX,EAAkB,IAAMxG,EAAwByG,EAAgBvG,GAAU,KAAO3Q,EAAO,IAAM,IAAMA,EAAN,6BAAqDyQ,EAAwByG,EAAgBvG,GAAU,KAAO3Q,EAAO,GACnS,CAkEiBmX,CAAsBnX,EAAM0V,EAAKvB,MAAOuB,EAAKtB,gBAAiBzD,EACvE,GAEJ,KAAKpC,EACL,KAAKA,EACH,MAAO,CACLwI,YAAa,WACX,OAAOH,GAAqClB,EAC9C,EACA9e,SAAU,WACR,OAAO+f,GAAkCjB,EAC3C,GAEJ,QACE,MAAO,CACLqB,YAAa,WACX,OA5CyB,SAAsC/W,EAAM0V,GAC7E,OAAOA,EAAKhW,KAAI,SAAUgS,EAAKnb,GAC7B,IAAI6gB,EACAC,IAAaD,EAAa,CAC5Brd,IAAKxD,IACOyZ,IAAoB,EAAMoH,GAYxC,OAXA1gB,OAAOgX,KAAKgE,GAAKW,SAAQ,SAAUmD,GACjC,IAAI8B,EAAkBlI,EAAcoG,IAAcA,EAClD,GAAI8B,IAAoBnI,GAA6BmI,IAAoBnI,EAAyB,CAChG,IAAIoI,EAAU7F,EAAIuE,WAAavE,EAAIyE,QACnCkB,EAAUG,wBAA0B,CAClCC,OAAQF,EAEZ,MACEF,EAAUC,GAAmB5F,EAAI8D,EAErC,IACO,gBAAoBxV,EAAMqX,EACnC,GACF,CAyBiBK,CAA6B1X,EAAM0V,EAC5C,EACA9e,SAAU,WACR,OApFiB,SAA8BoJ,EAAM0V,EAAM/E,GACnE,OAAO+E,EAAK5F,QAAO,SAAUY,EAAKgB,GAChC,IAAIiG,EAAgBjhB,OAAOgX,KAAKgE,GAAKxG,QAAO,SAAUsK,GACpD,QAASA,IAAcrG,GAA6BqG,IAAcrG,EACpE,IAAGW,QAAO,SAAU9O,EAAQwU,GAC1B,IAAIpM,OAAiC,IAAnBsI,EAAI8D,GAA6BA,EAAYA,EAAY,KAAQ/E,EAAwBiB,EAAI8D,GAAY7E,GAAU,IACrI,OAAO3P,EAASA,EAAS,IAAMoI,EAAOA,CACxC,GAAG,IACCwO,EAAalG,EAAIuE,WAAavE,EAAIyE,SAAW,GAC7C0B,GAAqD,IAArC9H,EAAkBM,QAAQrQ,GAC9C,OAAO0Q,EAAM,IAAM1Q,EAAZ0Q,6BAA2DiH,GAAiBE,EAAgB,KAAO,IAAMD,EAAa,KAAO5X,EAAO,IAC7I,GAAG,GACL,CAwEiB8X,CAAqB9X,EAAM0V,EAAM/E,EAC1C,GAGR,EACIoH,GAAmB,SAA0BC,GAC/C,IAAItE,EAAUsE,EAAKtE,QACjBC,EAAiBqE,EAAKrE,eACtBhD,EAASqH,EAAKrH,OACdiD,EAAiBoE,EAAKpE,eACtBC,EAAWmE,EAAKnE,SAChBC,EAAWkE,EAAKlE,SAChBC,EAAeiE,EAAKjE,aACpBE,EAAa+D,EAAK/D,WAClBC,EAAY8D,EAAK9D,UACjB+D,EAAaD,EAAK7D,MAClBA,OAAuB5W,IAAf0a,EAA2B,GAAKA,EACxC7D,EAAkB4D,EAAK5D,gBACzB,MAAO,CACL8D,KAAMpB,GAAiBtI,EAAUC,KAAMiF,EAAS/C,GAChDgD,eAAgBmD,GAAiBvI,EAAsBoF,EAAgBhD,GACvEiD,eAAgBkD,GAAiBvI,EAAsBqF,EAAgBjD,GACvEwH,KAAMrB,GAAiBtI,EAAUK,KAAMgF,EAAUlD,GACjDyH,KAAMtB,GAAiBtI,EAAUM,KAAMgF,EAAUnD,GACjD0H,SAAUvB,GAAiBtI,EAAUO,SAAUgF,EAAcpD,GAC7D2H,OAAQxB,GAAiBtI,EAAUQ,OAAQiF,EAAYtD,GACvDtR,MAAOyX,GAAiBtI,EAAUS,MAAOiF,EAAWvD,GACpDwD,MAAO2C,GAAiBtI,EAAUU,MAAO,CACvCiF,MAAOA,EACPC,gBAAiBA,GAChBzD,GAEP,EA4MI4H,GAAoB,KAngBC,SAA4B1H,GACnD,MAAO,CACL6C,QAASpC,EAAwB,CAACnC,EAAqBA,GAAwB0B,GAC/E8C,eAAgBxC,EAA2B5C,EAAsBsC,GACjE2H,MAAOzH,EAAqBF,EAAWjB,GACvCe,OAAQI,EAAqBF,EAAWjB,GACxCgE,eAAgBzC,EAA2B5C,EAAsBsC,GACjEgD,SAAUhC,EAAqBrD,EAAUK,KAAM,CAACM,EAAoBA,GAAsB0B,GAC1FiD,SAAUjC,EAAqBrD,EAAUM,KAAM,CAACK,EAAqBA,EAAwBA,EAA0BA,EAAyBA,GAA2B0B,GAC3KkD,aAAclC,EAAqBrD,EAAUO,SAAU,CAACI,GAA4B0B,GACpFmD,oBAAqB9C,EAAuBL,GAC5CoD,WAAYpC,EAAqBrD,EAAUQ,OAAQ,CAACG,EAAoBA,GAA4B0B,GACpGqD,UAAWrC,EAAqBrD,EAAUS,MAAO,CAACE,GAA0B0B,GAC5EsD,MAAOvD,EAAsBC,GAC7BuD,gBAAiBjD,EAA2B5C,EAAuBsC,GAEvE,IAwB8B,SAAiC2C,GACzDF,IACFJ,GAAqBI,IAEnBE,EAASgF,MACXlF,GAAkBT,IAAsB,WACtCU,GAAiBC,GAAU,WACzBF,GAAkB,IACpB,GACF,KAEAC,GAAiBC,GACjBF,GAAkB,KAEtB,GA6coFyE,GAA5D,EAHJ,WAClB,OAAO,IACT,IAEIU,IA5MyB3X,EA4MHyX,GA1MjBjK,EAAQD,EAAS,SAAUqK,GAEhC,SAASC,IAEP,OADAzI,EAAe/Z,KAAMwiB,GACdrI,EAA0Bna,KAAMuiB,EAAiBzgB,MAAM9B,KAAMoB,WACtE,CAuJA,OA1mBW,SAAkBwG,EAAUC,GACzC,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrB,UAAU,kEAAoEqB,GAE1FD,EAASpH,UAAYD,OAAOuH,OAAOD,GAAcA,EAAWrH,UAAW,CACrEuH,YAAa,CACXvD,MAAOoD,EACPnC,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdmC,IAAYtH,OAAOyH,eAAiBzH,OAAOyH,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,EAC7G,CAkcI4a,CAASD,EAAeD,GAKxBC,EAAchiB,UAAUkiB,sBAAwB,SAA+BC,GAC7E,OAAQ,IAAQ3iB,KAAKuF,MAAOod,EAC9B,EACAH,EAAchiB,UAAUoiB,yBAA2B,SAAkCC,EAAOC,GAC1F,IAAKA,EACH,OAAO,KAET,OAAQD,EAAMhZ,MACZ,KAAKwO,EAAUQ,OACf,KAAKR,EAAUO,SACb,MAAO,CACLkH,UAAWgD,GAEf,KAAKzK,EAAUS,MACb,MAAO,CACLkH,QAAS8C,GAGf,MAAM,IAAI7T,MAAM,IAAM4T,EAAMhZ,KAAO,qGACrC,EACA2Y,EAAchiB,UAAUuiB,yBAA2B,SAAkClB,GACnF,IAAImB,EACAH,EAAQhB,EAAKgB,MACfI,EAAoBpB,EAAKoB,kBACzBC,EAAgBrB,EAAKqB,cACrBJ,EAAiBjB,EAAKiB,eACxB,OAAO5d,EAAS,CAAC,EAAG+d,IAAoBD,EAAwB,CAAC,GAAyBH,EAAMhZ,MAAQ,GAAGnH,OAAOugB,EAAkBJ,EAAMhZ,OAAS,GAAI,CAAC3E,EAAS,CAAC,EAAGge,EAAeljB,KAAK4iB,yBAAyBC,EAAOC,MAAoBE,GAC/O,EACAR,EAAchiB,UAAU2iB,sBAAwB,SAA+BC,GAC7E,IAAIC,EAAwBC,EACxBT,EAAQO,EAAMP,MAChBU,EAAWH,EAAMG,SACjBL,EAAgBE,EAAMF,cACtBJ,EAAiBM,EAAMN,eACzB,OAAQD,EAAMhZ,MACZ,KAAKwO,EAAUU,MACb,OAAO7T,EAAS,CAAC,EAAGqe,IAAWF,EAAyB,CAAC,GAA0BR,EAAMhZ,MAAQiZ,EAAgBO,EAAuBpF,gBAAkB/Y,EAAS,CAAC,EAAGge,GAAgBG,IACzL,KAAKhL,EAAUE,KACb,OAAOrT,EAAS,CAAC,EAAGqe,EAAU,CAC5B/F,eAAgBtY,EAAS,CAAC,EAAGge,KAEjC,KAAK7K,EAAUI,KACb,OAAOvT,EAAS,CAAC,EAAGqe,EAAU,CAC5B9F,eAAgBvY,EAAS,CAAC,EAAGge,KAGnC,OAAOhe,EAAS,CAAC,EAAGqe,IAAWD,EAAyB,CAAC,GAA0BT,EAAMhZ,MAAQ3E,EAAS,CAAC,EAAGge,GAAgBI,GAChI,EACAd,EAAchiB,UAAUgjB,4BAA8B,SAAqCP,EAAmBM,GAC5G,IAAIE,EAAoBve,EAAS,CAAC,EAAGqe,GAKrC,OAJAhjB,OAAOgX,KAAK0L,GAAmB/G,SAAQ,SAAUwH,GAC/C,IAAIC,EACJF,EAAoBve,EAAS,CAAC,EAAGue,IAAoBE,EAAyB,CAAC,GAA0BD,GAAkBT,EAAkBS,GAAiBC,GAChK,IACOF,CACT,EACAjB,EAAchiB,UAAUojB,sBAAwB,SAA+Bf,EAAOC,GAgBpF,OAAO,CACT,EACAN,EAAchiB,UAAUqjB,mBAAqB,SAA4BhP,EAAU0O,GACjF,IAAIO,EAAS9jB,KACTijB,EAAoB,CAAC,EAkCzB,OAjCA,mBAAuBpO,GAAU,SAAUgO,GACzC,GAAKA,GAAUA,EAAMtd,MAArB,CAGA,IAAIwe,EAAelB,EAAMtd,MACvBud,EAAiBiB,EAAalP,SAE5BqO,EA7L4B,SAA2C3d,GACjF,IAAIye,EAAiB5iB,UAAUd,OAAS,QAAsB8G,IAAjBhG,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC1F,OAAOb,OAAOgX,KAAKhS,GAAOoU,QAAO,SAAU3T,EAAKpC,GAE9C,OADAoC,EAAI0T,EAAa9V,IAAQA,GAAO2B,EAAM3B,GAC/BoC,CACT,GAAGge,EACL,CAuL4BC,CADLhK,EAAwB8J,EAAc,CAAC,cAGtD,OADAD,EAAOF,sBAAsBf,EAAOC,GAC5BD,EAAMhZ,MACZ,KAAKwO,EAAUK,KACf,KAAKL,EAAUM,KACf,KAAKN,EAAUO,SACf,KAAKP,EAAUQ,OACf,KAAKR,EAAUS,MACbmK,EAAoBa,EAAOf,yBAAyB,CAClDF,MAAOA,EACPI,kBAAmBA,EACnBC,cAAeA,EACfJ,eAAgBA,IAElB,MACF,QACES,EAAWO,EAAOX,sBAAsB,CACtCN,MAAOA,EACPU,SAAUA,EACVL,cAAeA,EACfJ,eAAgBA,IAxBtB,CA4BF,IACAS,EAAWvjB,KAAKwjB,4BAA4BP,EAAmBM,EAEjE,EACAf,EAAchiB,UAAU0jB,OAAS,WAC/B,IAAIC,EAASnkB,KAAKuF,MAChBsP,EAAWsP,EAAOtP,SAClBtP,EAAQ0U,EAAwBkK,EAAQ,CAAC,aACvCZ,EAAWre,EAAS,CAAC,EAAGK,GAI5B,OAHIsP,IACF0O,EAAWvjB,KAAK6jB,mBAAmBhP,EAAU0O,IAExC,gBAAoB5Y,EAAW4Y,EACxC,EACAvJ,EAAYwI,EAAe,KAAM,CAAC,CAChC5e,IAAK,YAuBLsN,IAAK,SAAgBkT,GACnBzZ,EAAUyZ,UAAYA,CACxB,KAEK5B,CACT,CA7JwB,CA6JtB,aAAkBtK,EAAOtN,UAAY,CACrCmX,KAAM,WACNvE,eAAgB,WAChB3I,SAAU,cAAoB,CAAC,YAAkB,UAAiB,WAClEwP,aAAc,WACdhC,MAAO,SACP/H,wBAAyB,SACzBmD,eAAgB,WAChBuE,KAAM,YAAkB,YACxBC,KAAM,YAAkB,YACxBC,SAAU,YAAkB,YAC5BrE,oBAAqB,SACrBsE,OAAQ,YAAkB,YAC1BjZ,MAAO,YAAkB,YACzB8U,MAAO,WACPC,gBAAiB,WACjBqG,cAAe,YACdpM,EAAOnN,aAAe,CACvBsX,OAAO,EACP/H,yBAAyB,GACxBpC,EAAOqM,KAAO5Z,EAAU4Z,KAAMrM,EAAOsM,OAAS,WAC/C,IAAIC,EAAc9Z,EAAU6Z,SAiB5B,OAhBKC,IAEHA,EAAc7C,GAAiB,CAC7BrE,QAAS,GACTC,eAAgB,CAAC,EACjBlD,yBAAyB,EACzBmD,eAAgB,CAAC,EACjBC,SAAU,GACVC,SAAU,GACVC,aAAc,GACdE,WAAY,GACZC,UAAW,GACXC,MAAO,GACPC,gBAAiB,CAAC,KAGfwG,CACT,EAAGtM,GAOLmK,GAAaoC,aAAepC,GAAakC,OACzC,M,oCCvvBA,IAHyBG,EAGrBC,EAAQ,EAAQ,MAChBC,GAJqBF,EAIYC,IAHR,iBAAPD,GAAmB,YAAaA,EAAKA,EAAY,QAAIA,EAI3E,SAASG,EAAgB9e,EAAKpC,EAAKY,GAWjC,OAVIZ,KAAOoC,EACTzF,OAAOgE,eAAeyB,EAAKpC,EAAK,CAC9BY,MAAOA,EACPiB,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZK,EAAIpC,GAAOY,EAENwB,CACT,CAMA,IAAIoe,IAAiC,oBAAXrkB,SAA0BA,OAAOyM,WAAYzM,OAAOyM,SAASlD,eA0EvFlF,EAAOC,QAzEP,SAAwB0gB,EAAoBC,EAA2BpD,GACrE,GAAkC,mBAAvBmD,EACT,MAAM,IAAI9V,MAAM,iDAElB,GAAyC,mBAA9B+V,EACT,MAAM,IAAI/V,MAAM,wDAElB,QAAgC,IAArB2S,GAAgE,mBAArBA,EACpD,MAAM,IAAI3S,MAAM,mEAKlB,OAAO,SAAcgW,GACnB,GAAgC,mBAArBA,EACT,MAAM,IAAIhW,MAAM,sDAElB,IACIvH,EADAwd,EAAmB,GAEvB,SAASC,IACPzd,EAAQqd,EAAmBG,EAAiB3b,KAAI,SAAUhD,GACxD,OAAOA,EAAShB,KAClB,KACI6f,EAAWhB,UACbY,EAA0Btd,GACjBka,IACTla,EAAQka,EAAiBla,GAE7B,CACA,IAAI0d,EACJ,SAAUC,GApCd,IAAwBzd,EAAUC,EAsC5B,SAASud,IACP,OAAOC,EAAevjB,MAAM9B,KAAMoB,YAAcpB,IAClD,CAxC4B6H,EAqCDwd,GArCTzd,EAqCHwd,GApCV5kB,UAAYD,OAAOuH,OAAOD,EAAWrH,WAC9CoH,EAASpH,UAAUuH,YAAcH,EACjCA,EAASK,UAAYJ,EAyCjBud,EAAWb,KAAO,WAChB,OAAO7c,CACT,EACA0d,EAAWZ,OAAS,WAClB,GAAIY,EAAWhB,UACb,MAAM,IAAInV,MAAM,oFAElB,IAAIqW,EAAgB5d,EAGpB,OAFAA,OAAQN,EACR8d,EAAmB,GACZI,CACT,EACA,IAAIC,EAASH,EAAW5kB,UAgBxB,OAfA+kB,EAAOC,0BAA4B,WACjCN,EAAiBvjB,KAAK3B,MACtBmlB,GACF,EACAI,EAAOE,mBAAqB,WAC1BN,GACF,EACAI,EAAOG,qBAAuB,WAC5B,IAAIvd,EAAQ+c,EAAiBhL,QAAQla,MACrCklB,EAAiBrhB,OAAOsE,EAAO,GAC/Bgd,GACF,EACAI,EAAOrB,OAAS,WACd,OAAOW,EAAevb,cAAc2b,EAAkBjlB,KAAKuF,MAC7D,EACO6f,CACT,CArCA,CAqCER,EAAMe,eAGR,OAFAb,EAAgBM,EAAY,cAAe,cA1D7C,SAAwBH,GACtB,OAAOA,EAAiBW,aAAeX,EAAiBnkB,MAAQ,WAClE,CAwD6D+kB,CAAeZ,GAAoB,KAC9FH,EAAgBM,EAAY,YAAahB,GAClCgB,CACT,CACF,C,oCCjGA,IAAIU,EAAI,EAAQ,MACZC,EAAmB,EAAQ,MAC3BC,EAAW,EAAQ,MACnBC,EAAoB,EAAQ,MAC5BC,EAAsB,EAAQ,MAC9BC,EAAqB,EAAQ,MAIjCL,EAAE,CAAE3gB,OAAQ,QAASihB,OAAO,GAAQ,CAClCC,KAAM,WACJ,IAAIC,EAAWllB,UAAUd,OAASc,UAAU,QAAKgG,EAC7Cmf,EAAIP,EAAShmB,MACbwmB,EAAYP,EAAkBM,GAC9BE,EAAIN,EAAmBI,EAAG,GAE9B,OADAE,EAAEnmB,OAASylB,EAAiBU,EAAGF,EAAGA,EAAGC,EAAW,OAAgBpf,IAAbkf,EAAyB,EAAIJ,EAAoBI,IAC7FG,CACT,G,uBChBqB,EAAQ,KAG/BC,CAAiB,O,mBCLjBtiB,EAAOC,QAAU,CACfsiB,UAAW,UACXC,gBAAiB,oBACjBC,WAAY,WACZC,gBAAiB,WACjBC,aAAc,GACdC,gBAAgB,EAChBC,kBAAkB,GAClBC,QAAS,6BACTC,cAAe,0BAEfC,WAAY,IACZC,UAAW,oBACXC,kBAAmB,gBACnBC,iBAAkB,UAClBC,YAAa,UACbpb,QAAS,aACTvD,KAAM,6BACN4e,aAAc,EACdC,gBAAiB,UACjBC,YAAa,CACX,CACEC,MAAO,cACPC,IAAK,KAEP,CACED,MAAO,QACPC,IAAK,UAEP,CACED,MAAO,YACPC,IAAK,iBAEP,CACED,MAAO,eACPC,IAAK,oBAEP,CACED,MAAO,gBACPC,IAAK,mBAEP,CACED,MAAO,sBACPC,IAAK,mBAEP,CACED,MAAO,eACPC,IAAK,oBAITC,YAAa,CACX,CACE,kBACA,CACEF,MAAO,SACPG,OAAQ,cACRF,IAAK,8BAGT,CACE,OACA,CACED,MAAO,OACPG,OAAQ,GACRF,IAAK,KAEP,CACED,MAAO,QACPG,OAAQ,GACRF,IAAK,WAGT,CACE,SACA,CACED,MAAO,SACPC,IAAK,iC,4ICzEAG,GAAcC,EAAAA,EAAAA,mBAAiB,6QA+B/BC,GAAaC,EAAAA,EAAAA,SAAOC,EAAAA,MAAK,yEAAZD,CAAY,wFAQzBE,EAAOF,EAAAA,QAAAA,EAAAA,WAAQ,wDAARA,CAAQ,sC,mGCtCtBG,EAAG,8DAwCN,OAxCM,wBACPpE,OAAA,WACE,MAA+ClkB,KAAKuF,MAA5CgjB,EAAU,EAAVA,WAAW,EAAD,EAAE3V,KAAAA,OAAI,MAAG,GAAE,MAAE4V,KAAAA,OAAI,MAAG,KAAI,EACpCxK,EAAQhe,KAAKuF,MAAMyY,MAClBhe,KAAKuF,MAAMyY,MAAK,MAAMyK,IAAAA,UACzBA,IAAAA,UACEC,EAAkBD,IAAAA,QAAAA,UACtB,EACAA,IAAAA,QAAAA,OAA4B,GAMxBE,EAAK,GAAMD,GAHf1oB,KAAKuF,MAAMqjB,SAAW5oB,KAAKuF,MAAMsjB,QAASC,EAAAA,EAAAA,YAAWL,IAAAA,YAIjDM,EAAY,GAAML,GAFtB1oB,KAAKuF,MAAMyjB,SAAWhpB,KAAKuF,MAAMsjB,QAASC,EAAAA,EAAAA,YAAWL,IAAAA,YAGjDQ,EAAcjpB,KAAKuF,MAAM0jB,aAAeR,IAAAA,gBAE9C,OACE,gBAAC,IAAM,CAACzK,MAAOA,GAEb,wBAAMwK,KAAMA,IACZ,wBAAM1nB,KAAK,cAAcsgB,QAAS6H,IAClC,wBAAMC,IAAI,YAAYC,KAAMT,GAAkBI,EAAAA,EAAAA,YAAWlW,KAGzD,wBAAM7L,SAAS,SAASqa,QAASsH,GAAkBI,EAAAA,EAAAA,YAAWlW,KAC9D,wBAAM7L,SAAS,UAAUqa,QAASmH,EAAa,UAAY,YAC3D,wBAAMxhB,SAAS,WAAWqa,QAASpD,IACnC,wBAAMjX,SAAS,iBAAiBqa,QAAS6H,IACzC,wBAAMliB,SAAS,WAAWqa,QAASuH,IAGnC,wBAAM7nB,KAAK,eAAesgB,QAAQ,wBAClC,wBAAMtgB,KAAK,kBAAkBsgB,QAASqH,IAAAA,kBACtC,wBAAM3nB,KAAK,gBAAgBsgB,QAASpD,IACpC,wBAAMld,KAAK,sBAAsBsgB,QAAS6H,IAC1C,wBAAMnoB,KAAK,gBAAgBsgB,QAAS2H,IAG1C,EAAC,EAxCM,CAASnE,EAAAA,WA2ClB,K,uCC9CMwE,E,QAAUjB,QAAAA,KAAAA,MAAkB,CAChCkB,KAAM,SACN,6DAFclB,CAEd,8RAmBF,K,0HClBMmB,EAAmBnB,EAAAA,QAAAA,IAAAA,WAAU,qEAAVA,CAAU,0ZAyC7B,IAeAoB,GAAWpB,EAAAA,EAAAA,SAAOC,EAAAA,MAAK,wEAAZD,CAAY,wKAcvBqB,EAAM,8DAeT,OAfS,wBACVtF,OAAA,WACE,IAAQyD,EAAgB3nB,KAAKuF,MAArBoiB,YAER,OACE,gBAAC2B,EAAgB,KACf,gBAACG,EAAA,MAAU,KACR9B,EAAYpe,KAAI,SAACmgB,EAAYtpB,GAAC,OAC7B,gBAACmpB,EAAQ,CAACI,GAAID,EAAW7B,IAAKjkB,IAAG,eAAiBxD,GAC/CspB,EAAW9B,MACH,KAKrB,EAAC,EAfS,CAAShD,EAAAA,WAkBrB,ICzFMgF,EAAgBzB,EAAAA,QAAAA,OAAAA,WAAa,iEAAbA,CAAa,swBAuE7B0B,EAAM,8DAoDT,OApDS,wBACV3F,OAAA,WACE,IAAQ4D,EAAgB9nB,KAAKuF,MAAMkjB,WAA3BX,YAEFgC,EAAa,SAAH,GAAkB,IAAZ9nB,EAAI,EAAJA,KACpB,MAAoB,iBAATA,EAEP,sBAAIgH,UAAU,eAAepF,IAAK5B,GAC/BA,GAIHA,EAAK6lB,IAAIkC,WAAW,KAEpB,wBAAM/gB,UAAU,eACbhH,EAAK+lB,OACN,gBAAC,EAAAK,KAAI,CAACpf,UAAU,cAAc2gB,GAAI3nB,EAAK6lB,KACpC7lB,EAAK4lB,QAMZ,wBAAM5e,UAAU,eACbhH,EAAK+lB,OACN,qBAAG/e,UAAWhH,EAAKgoB,gBACnB,qBAAGhhB,UAAU,cAAcmgB,KAAMnnB,EAAK6lB,KACnC7lB,EAAK4lB,OAId,EAEMqC,EAAe,SAAH,GAAoB,IAAdC,EAAM,EAANA,OACtB,OACE,uBAAKlhB,UAAU,cACZkhB,EAAO3gB,KAAI,SAACvH,EAAM5B,GACjB,OAAO,gBAAC0pB,EAAU,CAAC9nB,KAAMA,EAAM4B,IAAG,sBAAwBxD,GAC5D,IAGN,EAEA,OACE,gBAACwpB,EAAa,KACZ,2BACG9B,EAAYve,KAAI,SAAC2gB,EAAQ9pB,GACxB,OAAO,gBAAC6pB,EAAY,CAACC,OAAQA,EAAQtmB,IAAG,iBAAmBxD,GAC7D,KAIR,EAAC,EApDS,CAASwkB,EAAAA,WAuDrB,I,4BC1HMuF,EAAQ,8DAYX,OAZW,wBACZjG,OAAA,WACE,IAAQrP,EAAa7U,KAAKuF,MAAlBsP,SAER,OACE,gBAAC,EAAAuV,SAAQ,KACP,gBAAC,KAAW,MACZ,gBAAC,EAAI,CAACzC,YAAac,IAAAA,cACnB,uBAAKvf,MAAO,CAAEmB,OAAQ,QAAUwK,GAChC,gBAAC,EAAM,CAAC4T,WAAYA,MAG1B,EAAC,EAZW,CAAS7D,EAAAA,WAevB,G","sources":["webpack://040-code/./node_modules/eve/eve.js","webpack://040-code/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://040-code/./node_modules/react-burger-menu/lib/BurgerMenu.js","webpack://040-code/./node_modules/react-burger-menu/lib/components/BurgerIcon.js","webpack://040-code/./node_modules/react-burger-menu/lib/components/CrossIcon.js","webpack://040-code/./node_modules/react-burger-menu/lib/helpers/baseStyles.js","webpack://040-code/./node_modules/react-burger-menu/lib/helpers/dom.js","webpack://040-code/./node_modules/react-burger-menu/lib/helpers/snapsvgImporter.js","webpack://040-code/./node_modules/react-burger-menu/lib/helpers/utils.js","webpack://040-code/./node_modules/react-burger-menu/lib/menuFactory.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/bubble.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/elastic.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/fallDown.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/push.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/pushRotate.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/reveal.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/scaleDown.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/scaleRotate.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/slide.js","webpack://040-code/./node_modules/react-burger-menu/lib/menus/stack.js","webpack://040-code/./node_modules/react-fast-compare/index.js","webpack://040-code/./node_modules/react-helmet/es/Helmet.js","webpack://040-code/./node_modules/react-side-effect/lib/index.js","webpack://040-code/./node_modules/core-js/modules/es.array.flat.js","webpack://040-code/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://040-code/./data/siteConfig.js","webpack://040-code/./src/components/Commons.js","webpack://040-code/./src/components/SEO.js","webpack://040-code/./src/components/Wrapper.js","webpack://040-code/./src/components/SideMenu.js","webpack://040-code/./src/components/Footer.js","webpack://040-code/./src/components/layout.js"],"sourcesContent":["// Copyright (c) 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ┌────────────────────────────────────────────────────────────┐ \\\\\n// │ Eve 0.5.4 - JavaScript Events Library │ \\\\\n// ├────────────────────────────────────────────────────────────┤ \\\\\n// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\\\\n// └────────────────────────────────────────────────────────────┘ \\\\\n\n(function (glob) {\n var version = \"0.5.4\",\n has = \"hasOwnProperty\",\n separator = /[\\.\\/]/,\n comaseparator = /\\s*,\\s*/,\n wildcard = \"*\",\n numsort = function numsort(a, b) {\n return a - b;\n },\n current_event,\n stop,\n events = {\n n: {}\n },\n firstDefined = function firstDefined() {\n for (var i = 0, ii = this.length; i < ii; i++) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n lastDefined = function lastDefined() {\n var i = this.length;\n while (--i) {\n if (typeof this[i] != \"undefined\") {\n return this[i];\n }\n }\n },\n objtos = Object.prototype.toString,\n Str = String,\n isArray = Array.isArray || function (ar) {\n return ar instanceof Array || objtos.call(ar) == \"[object Array]\";\n },\n /*\\\n * eve\n [ method ]\n * Fires event with given `name`, given scope and other parameters.\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\n - scope (object) context for the event handlers\n - varargs (...) the rest of arguments will be sent to event handlers\n = (object) array of returned values from the listeners. Array has two methods `.firstDefined()` and `.lastDefined()` to get first or last not `undefined` value.\n \\*/\n eve = function eve(name, scope) {\n var oldstop = stop,\n args = Array.prototype.slice.call(arguments, 2),\n listeners = eve.listeners(name),\n z = 0,\n l,\n indexed = [],\n queue = {},\n out = [],\n ce = current_event;\n out.firstDefined = firstDefined;\n out.lastDefined = lastDefined;\n current_event = name;\n stop = 0;\n for (var i = 0, ii = listeners.length; i < ii; i++) {\n if (\"zIndex\" in listeners[i]) {\n indexed.push(listeners[i].zIndex);\n if (listeners[i].zIndex < 0) {\n queue[listeners[i].zIndex] = listeners[i];\n }\n }\n }\n indexed.sort(numsort);\n while (indexed[z] < 0) {\n l = queue[indexed[z++]];\n out.push(l.apply(scope, args));\n if (stop) {\n stop = oldstop;\n return out;\n }\n }\n for (i = 0; i < ii; i++) {\n l = listeners[i];\n if (\"zIndex\" in l) {\n if (l.zIndex == indexed[z]) {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n do {\n z++;\n l = queue[indexed[z]];\n l && out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n } while (l);\n } else {\n queue[l.zIndex] = l;\n }\n } else {\n out.push(l.apply(scope, args));\n if (stop) {\n break;\n }\n }\n }\n stop = oldstop;\n current_event = ce;\n return out;\n };\n // Undocumented. Debug only.\n eve._events = events;\n /*\\\n * eve.listeners\n [ method ]\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\n = (array) array of event handlers\n \\*/\n eve.listeners = function (name) {\n var names = isArray(name) ? name : name.split(separator),\n e = events,\n item,\n items,\n k,\n i,\n ii,\n j,\n jj,\n nes,\n es = [e],\n out = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n nes = [];\n for (j = 0, jj = es.length; j < jj; j++) {\n e = es[j].n;\n items = [e[names[i]], e[wildcard]];\n k = 2;\n while (k--) {\n item = items[k];\n if (item) {\n nes.push(item);\n out = out.concat(item.f || []);\n }\n }\n }\n es = nes;\n }\n return out;\n };\n /*\\\n * eve.separator\n [ method ]\n * If for some reasons you don’t like default separators (`.` or `/`) you can specify yours\n * here. Be aware that if you pass a string longer than one character it will be treated as\n * a list of characters.\n - separator (string) new separator. Empty string resets to default: `.` or `/`.\n \\*/\n eve.separator = function (sep) {\n if (sep) {\n sep = Str(sep).replace(/(?=[\\.\\^\\]\\[\\-])/g, \"\\\\\");\n sep = \"[\" + sep + \"]\";\n separator = new RegExp(sep);\n } else {\n separator = /[\\.\\/]/;\n }\n };\n /*\\\n * eve.on\n [ method ]\n **\n * Binds given event handler with a given name. You can use wildcards “`*`” for the names:\n | eve.on(\"*.under.*\", f);\n | eve(\"mouse.under.floor\"); // triggers f\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n - name (array) if you don’t want to use separators, you can use array of strings\n - f (function) event handler function\n **\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment.\n > Example:\n | eve.on(\"mouse\", eatIt)(2);\n | eve.on(\"mouse\", scream);\n | eve.on(\"mouse\", catchIt)(1);\n * This will ensure that `catchIt` function will be called before `eatIt`.\n *\n * If you want to put your handler before non-indexed handlers, specify a negative value.\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”.\n \\*/\n eve.on = function (name, f) {\n if (typeof f != \"function\") {\n return function () {};\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n for (var i = 0, ii = names.length; i < ii; i++) {\n (function (name) {\n var names = isArray(name) ? name : Str(name).split(separator),\n e = events,\n exist;\n for (var i = 0, ii = names.length; i < ii; i++) {\n e = e.n;\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {\n n: {}\n });\n }\n e.f = e.f || [];\n for (i = 0, ii = e.f.length; i < ii; i++) {\n if (e.f[i] == f) {\n exist = true;\n break;\n }\n }\n !exist && e.f.push(f);\n })(names[i]);\n }\n return function (zIndex) {\n if (+zIndex == +zIndex) {\n f.zIndex = +zIndex;\n }\n };\n };\n /*\\\n * eve.f\n [ method ]\n **\n * Returns function that will fire given event with optional arguments.\n * Arguments that will be passed to the result function will be also\n * concated to the list of final arguments.\n | el.onclick = eve.f(\"click\", 1, 2);\n | eve.on(\"click\", function (a, b, c) {\n | console.log(a, b, c); // 1, 2, [event object]\n | });\n - event (string) event name\n - varargs (…) and any other arguments\n = (function) possible event handler function\n \\*/\n eve.f = function (event) {\n var attrs = [].slice.call(arguments, 1);\n return function () {\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\n };\n };\n /*\\\n * eve.stop\n [ method ]\n **\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\n \\*/\n eve.stop = function () {\n stop = 1;\n };\n /*\\\n * eve.nt\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n - subname (string) #optional subname of the event\n **\n = (string) name of the event, if `subname` is not specified\n * or\n = (boolean) `true`, if current event’s name contains `subname`\n \\*/\n eve.nt = function (subname) {\n var cur = isArray(current_event) ? current_event.join(\".\") : current_event;\n if (subname) {\n return new RegExp(\"(?:\\\\.|\\\\/|^)\" + subname + \"(?:\\\\.|\\\\/|$)\").test(cur);\n }\n return cur;\n };\n /*\\\n * eve.nts\n [ method ]\n **\n * Could be used inside event handler to figure out actual name of the event.\n **\n **\n = (array) names of the event\n \\*/\n eve.nts = function () {\n return isArray(current_event) ? current_event : current_event.split(separator);\n };\n /*\\\n * eve.off\n [ method ]\n **\n * Removes given function from the list of event listeners assigned to given name.\n * If no arguments specified all the events will be cleared.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n \\*/\n /*\\\n * eve.unbind\n [ method ]\n **\n * See @eve.off\n \\*/\n eve.off = eve.unbind = function (name, f) {\n if (!name) {\n eve._events = events = {\n n: {}\n };\n return;\n }\n var names = isArray(name) ? isArray(name[0]) ? name : [name] : Str(name).split(comaseparator);\n if (names.length > 1) {\n for (var i = 0, ii = names.length; i < ii; i++) {\n eve.off(names[i], f);\n }\n return;\n }\n names = isArray(name) ? name : Str(name).split(separator);\n var e,\n key,\n splice,\n i,\n ii,\n j,\n jj,\n cur = [events],\n inodes = [];\n for (i = 0, ii = names.length; i < ii; i++) {\n for (j = 0; j < cur.length; j += splice.length - 2) {\n splice = [j, 1];\n e = cur[j].n;\n if (names[i] != wildcard) {\n if (e[names[i]]) {\n splice.push(e[names[i]]);\n inodes.unshift({\n n: e,\n name: names[i]\n });\n }\n } else {\n for (key in e) {\n if (e[has](key)) {\n splice.push(e[key]);\n inodes.unshift({\n n: e,\n name: key\n });\n }\n }\n }\n cur.splice.apply(cur, splice);\n }\n }\n for (i = 0, ii = cur.length; i < ii; i++) {\n e = cur[i];\n while (e.n) {\n if (f) {\n if (e.f) {\n for (j = 0, jj = e.f.length; j < jj; j++) {\n if (e.f[j] == f) {\n e.f.splice(j, 1);\n break;\n }\n }\n !e.f.length && delete e.f;\n }\n for (key in e.n) {\n if (e.n[has](key) && e.n[key].f) {\n var funcs = e.n[key].f;\n for (j = 0, jj = funcs.length; j < jj; j++) {\n if (funcs[j] == f) {\n funcs.splice(j, 1);\n break;\n }\n }\n !funcs.length && delete e.n[key].f;\n }\n }\n } else {\n delete e.f;\n for (key in e.n) {\n if (e.n[has](key) && e.n[key].f) {\n delete e.n[key].f;\n }\n }\n }\n e = e.n;\n }\n }\n // prune inner nodes in path\n prune: for (i = 0, ii = inodes.length; i < ii; i++) {\n e = inodes[i];\n for (key in e.n[e.name].f) {\n // not empty (has listeners)\n continue prune;\n }\n for (key in e.n[e.name].n) {\n // not empty (has children)\n continue prune;\n }\n // is empty\n delete e.n[e.name];\n }\n };\n /*\\\n * eve.once\n [ method ]\n **\n * Binds given event handler with a given name to only run once then unbind itself.\n | eve.once(\"login\", f);\n | eve(\"login\"); // triggers f\n | eve(\"login\"); // no listeners\n * Use @eve to trigger the listener.\n **\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\n - f (function) event handler function\n **\n = (function) same return function as @eve.on\n \\*/\n eve.once = function (name, f) {\n var f2 = function f2() {\n eve.off(name, f2);\n return f.apply(this, arguments);\n };\n return eve.on(name, f2);\n };\n /*\\\n * eve.version\n [ property (string) ]\n **\n * Current version of the library.\n \\*/\n eve.version = version;\n eve.toString = function () {\n return \"You are running Eve \" + version;\n };\n glob.eve = eve;\n typeof module != \"undefined\" && module.exports ? module.exports = eve : typeof define === \"function\" && define.amd ? define(\"eve\", [], function () {\n return eve;\n }) : glob.eve = eve;\n})(typeof window != \"undefined\" ? window : this);","\"use strict\";\n\nmodule.exports = Object.assign;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = {\n slide: require('./menus/slide'),\n stack: require('./menus/stack'),\n elastic: require('./menus/elastic'),\n bubble: require('./menus/bubble'),\n push: require('./menus/push'),\n pushRotate: require('./menus/pushRotate'),\n scaleDown: require('./menus/scaleDown'),\n scaleRotate: require('./menus/scaleRotate'),\n fallDown: require('./menus/fallDown'),\n reveal: require('./menus/reveal')\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _get = function get(_x, _x2, _x3) {\n var _again = true;\n _function: while (_again) {\n var object = _x,\n property = _x2,\n receiver = _x3;\n _again = false;\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n _x = parent;\n _x2 = property;\n _x3 = receiver;\n _again = true;\n desc = parent = undefined;\n continue _function;\n }\n } else if ('value' in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n }\n};\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar BurgerIcon = function (_Component) {\n _inherits(BurgerIcon, _Component);\n function BurgerIcon(props) {\n _classCallCheck(this, BurgerIcon);\n _get(Object.getPrototypeOf(BurgerIcon.prototype), 'constructor', this).call(this, props);\n this.state = {\n hover: false\n };\n }\n _createClass(BurgerIcon, [{\n key: 'getLineStyle',\n value: function getLineStyle(index) {\n return _extends({\n position: 'absolute',\n height: '20%',\n left: 0,\n right: 0,\n top: 20 * (index * 2) + '%',\n opacity: this.state.hover ? 0.6 : 1\n }, this.state.hover && this.props.styles.bmBurgerBarsHover);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n var icon = undefined;\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-icon ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({\n width: '100%',\n height: '100%'\n }, this.props.styles.bmIcon)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement('span', null, [0, 1, 2].map(function (bar) {\n return _react2['default'].createElement('span', {\n key: bar,\n className: ('bm-burger-bars ' + _this.props.barClassName + ' ' + (_this.state.hover ? 'bm-burger-bars-hover' : '')).trim(),\n style: _extends({}, _this.getLineStyle(bar), _this.props.styles.bmBurgerBars)\n });\n }));\n }\n return _react2['default'].createElement('div', {\n className: ('bm-burger-button ' + this.props.className).trim(),\n style: _extends({\n zIndex: 1000\n }, this.props.styles.bmBurgerButton)\n }, _react2['default'].createElement('button', {\n type: 'button',\n id: 'react-burger-menu-btn',\n onClick: this.props.onClick,\n onMouseOver: function onMouseOver() {\n _this.setState({\n hover: true\n });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({\n isMouseIn: true\n });\n }\n },\n onMouseOut: function onMouseOut() {\n _this.setState({\n hover: false\n });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({\n isMouseIn: false\n });\n }\n },\n style: buttonStyle\n }, 'Open Menu'), icon);\n }\n }]);\n return BurgerIcon;\n}(_react.Component);\nexports['default'] = BurgerIcon;\nBurgerIcon.propTypes = {\n barClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n styles: _propTypes2['default'].object\n};\nBurgerIcon.defaultProps = {\n barClassName: '',\n className: '',\n styles: {}\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _get = function get(_x, _x2, _x3) {\n var _again = true;\n _function: while (_again) {\n var object = _x,\n property = _x2,\n receiver = _x3;\n _again = false;\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n _x = parent;\n _x2 = property;\n _x3 = receiver;\n _again = true;\n desc = parent = undefined;\n continue _function;\n }\n } else if ('value' in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n }\n};\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar CrossIcon = function (_Component) {\n _inherits(CrossIcon, _Component);\n function CrossIcon() {\n _classCallCheck(this, CrossIcon);\n _get(Object.getPrototypeOf(CrossIcon.prototype), 'constructor', this).apply(this, arguments);\n }\n _createClass(CrossIcon, [{\n key: 'getCrossStyle',\n value: function getCrossStyle(type) {\n return {\n position: 'absolute',\n width: 3,\n height: 14,\n transform: type === 'before' ? 'rotate(45deg)' : 'rotate(-45deg)'\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n var icon;\n var buttonWrapperStyle = {\n position: 'absolute',\n width: 24,\n height: 24,\n right: 8,\n top: 8\n };\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-cross ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({\n width: '100%',\n height: '100%'\n }, this.props.styles.bmCross)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement('span', {\n style: {\n position: 'absolute',\n top: '6px',\n right: '14px'\n }\n }, ['before', 'after'].map(function (type, i) {\n return _react2['default'].createElement('span', {\n key: i,\n className: ('bm-cross ' + _this.props.crossClassName).trim(),\n style: _extends({}, _this.getCrossStyle(type), _this.props.styles.bmCross)\n });\n }));\n }\n return _react2['default'].createElement('div', {\n className: ('bm-cross-button ' + this.props.className).trim(),\n style: _extends({}, buttonWrapperStyle, this.props.styles.bmCrossButton)\n }, _react2['default'].createElement('button', {\n type: 'button',\n id: 'react-burger-cross-btn',\n onClick: this.props.onClick,\n style: buttonStyle,\n tabIndex: this.props.isOpen ? 0 : -1\n }, 'Close Menu'), icon);\n }\n }]);\n return CrossIcon;\n}(_react.Component);\nexports['default'] = CrossIcon;\nCrossIcon.propTypes = {\n crossClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n isOpen: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object\n};\nCrossIcon.defaultProps = {\n crossClassName: '',\n className: '',\n styles: {},\n isOpen: false\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar styles = {\n overlay: function overlay(isOpen) {\n return {\n position: 'fixed',\n zIndex: 1000,\n width: '100%',\n height: '100%',\n background: 'rgba(0, 0, 0, 0.3)',\n opacity: isOpen ? 1 : 0,\n MozTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n MsTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n OTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transition: isOpen ? 'opacity 0.3s' : 'opacity 0.3s, transform 0s 0.3s'\n };\n },\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n zIndex: 1100,\n width: width,\n height: '100%',\n MozTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.5s'\n };\n },\n menu: function menu() {\n return {\n height: '100%',\n boxSizing: 'border-box',\n overflow: 'auto'\n };\n },\n itemList: function itemList() {\n return {\n height: '100%'\n };\n },\n item: function item() {\n return {\n display: 'block'\n };\n }\n};\nexports['default'] = styles;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.focusOnFirstMenuItem = focusOnFirstMenuItem;\nexports.focusOnLastMenuItem = focusOnLastMenuItem;\nexports.focusOnCrossButton = focusOnCrossButton;\nexports.focusOnMenuButton = focusOnMenuButton;\nexports.focusOnMenuItem = focusOnMenuItem;\nexports.focusOnNextMenuItem = focusOnNextMenuItem;\nexports.focusOnPreviousMenuItem = focusOnPreviousMenuItem;\nfunction focusOnFirstMenuItem() {\n var firstItem = Array.from(document.getElementsByClassName('bm-item')).shift();\n if (firstItem) {\n firstItem.focus();\n }\n}\nfunction focusOnLastMenuItem() {\n var lastItem = Array.from(document.getElementsByClassName('bm-item')).pop();\n if (lastItem) {\n lastItem.focus();\n }\n}\nfunction focusOnCrossButton() {\n var crossButton = document.getElementById('react-burger-cross-btn');\n if (crossButton) {\n crossButton.focus();\n }\n}\nfunction focusOnMenuButton() {\n var menuButton = document.getElementById('react-burger-menu-btn');\n if (menuButton) {\n menuButton.focus();\n }\n}\nfunction focusOnMenuItem(siblingType) {\n if (document.activeElement.className.includes('bm-item')) {\n var sibling = document.activeElement[siblingType];\n if (sibling) {\n sibling.focus();\n } else {\n focusOnCrossButton();\n }\n } else {\n if (siblingType === 'previousElementSibling') {\n focusOnLastMenuItem();\n } else {\n focusOnFirstMenuItem();\n }\n }\n}\nfunction focusOnNextMenuItem() {\n focusOnMenuItem('nextElementSibling');\n}\nfunction focusOnPreviousMenuItem() {\n focusOnMenuItem('previousElementSibling');\n}","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = function () {\n var Snap = undefined;\n try {\n Snap = require('snapsvg-cjs');\n } finally {\n return Snap;\n }\n};\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar pxToNum = function pxToNum(val) {\n return parseInt(val.slice(0, -2), 10);\n};\nexports.pxToNum = pxToNum;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i['return']) _i['return']();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError('Invalid attempt to destructure non-iterable instance');\n }\n };\n}();\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _reactDom = require('react-dom');\nvar _reactDom2 = _interopRequireDefault(_reactDom);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar _helpersBaseStyles = require('./helpers/baseStyles');\nvar _helpersBaseStyles2 = _interopRequireDefault(_helpersBaseStyles);\nvar _helpersDom = require('./helpers/dom');\nvar _componentsBurgerIcon = require('./components/BurgerIcon');\nvar _componentsBurgerIcon2 = _interopRequireDefault(_componentsBurgerIcon);\nvar _componentsCrossIcon = require('./components/CrossIcon');\nvar _componentsCrossIcon2 = _interopRequireDefault(_componentsCrossIcon);\nexports['default'] = function (styles) {\n if (!styles) {\n throw new Error('No styles supplied');\n }\n var ARROW_DOWN = 'ArrowDown';\n var ARROW_UP = 'ArrowUp';\n var ESCAPE = 'Escape';\n var SPACE = ' ';\n var HOME = 'Home';\n var END = 'End';\n function usePrevious(value) {\n var ref = _react2['default'].useRef(value);\n _react2['default'].useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n }\n var Menu = function Menu(props) {\n var _React$useState = _react2['default'].useState(false);\n var _React$useState2 = _slicedToArray(_React$useState, 2);\n var isOpen = _React$useState2[0];\n var setIsOpen = _React$useState2[1];\n var timeoutId = _react2['default'].useRef();\n var toggleOptions = _react2['default'].useRef({});\n var prevIsOpenProp = usePrevious(props.isOpen);\n _react2['default'].useEffect(function () {\n if (props.isOpen) {\n toggleMenu({\n isOpen: true,\n noStateChange: true\n });\n }\n return function cleanup() {\n applyWrapperStyles(false);\n clearCurrentTimeout();\n };\n }, []);\n _react2['default'].useEffect(function () {\n var wasToggled = typeof props.isOpen !== 'undefined' && props.isOpen !== isOpen && props.isOpen !== prevIsOpenProp;\n if (wasToggled) {\n toggleMenu();\n // Toggling changes SVG animation requirements, so defer these until next update\n return;\n }\n if (styles.svg) {\n (function () {\n var morphShape = document.getElementById('bm-morph-shape');\n var path = styles.svg.lib(morphShape).select('path');\n if (isOpen) {\n // Animate SVG path\n styles.svg.animate(path);\n } else {\n // Reset path (timeout ensures animation happens off screen)\n setTimeout(function () {\n path.attr('d', styles.svg.pathInitial);\n }, 300);\n }\n })();\n }\n });\n _react2['default'].useEffect(function () {\n var _toggleOptions$current = toggleOptions.current;\n var noStateChange = _toggleOptions$current.noStateChange;\n var focusOnLastItem = _toggleOptions$current.focusOnLastItem;\n if (!noStateChange) {\n props.onStateChange({\n isOpen: isOpen\n });\n }\n if (!props.disableAutoFocus) {\n // For accessibility reasons, ensures that when we toggle open,\n // we focus the first or last menu item according to given parameter\n if (isOpen) {\n focusOnLastItem ? (0, _helpersDom.focusOnLastMenuItem)() : (0, _helpersDom.focusOnFirstMenuItem)();\n } else {\n if (document.activeElement) {\n document.activeElement.blur();\n } else {\n document.body.blur(); // Needed for IE\n }\n }\n }\n\n // Timeout ensures wrappers are cleared after animation finishes\n clearCurrentTimeout();\n timeoutId.current = setTimeout(function () {\n timeoutId.current = null;\n if (!isOpen) {\n applyWrapperStyles(false);\n }\n }, 500);\n\n // Bind keydown handlers (or custom function if supplied)\n var defaultOnKeyDown = isOpen ? onKeyDownOpen : onKeyDownClosed;\n var onKeyDown = props.customOnKeyDown || defaultOnKeyDown;\n window.addEventListener('keydown', onKeyDown);\n return function cleanup() {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [isOpen]);\n function toggleMenu() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n toggleOptions.current = options;\n applyWrapperStyles();\n\n // Ensures wrapper styles are applied before the menu is toggled\n setTimeout(function () {\n setIsOpen(function (open) {\n return typeof options.isOpen !== 'undefined' ? options.isOpen : !open;\n });\n });\n }\n function open() {\n if (typeof props.onOpen === 'function') {\n props.onOpen();\n } else {\n toggleMenu();\n }\n }\n function close() {\n if (typeof props.onClose === 'function') {\n props.onClose();\n } else {\n toggleMenu();\n }\n }\n function getStyle(style, index) {\n var width = props.width;\n var right = props.right;\n var formattedWidth = typeof width !== 'string' ? width + 'px' : width;\n return style(isOpen, formattedWidth, right, index);\n }\n\n // Builds styles incrementally for a given element\n function getStyles(el, index, inline) {\n var propName = 'bm' + el.replace(el.charAt(0), el.charAt(0).toUpperCase());\n\n // Set base styles\n var output = _helpersBaseStyles2['default'][el] ? getStyle(_helpersBaseStyles2['default'][el]) : {};\n\n // Add animation-specific styles\n if (styles[el]) {\n output = _extends({}, output, getStyle(styles[el], index + 1));\n }\n\n // Add custom styles\n if (props.styles[propName]) {\n output = _extends({}, output, props.styles[propName]);\n }\n\n // Add element inline styles\n if (inline) {\n output = _extends({}, output, inline);\n }\n\n // Remove transition if required\n // (useful if rendering open initially)\n if (props.noTransition) {\n delete output.transition;\n }\n return output;\n }\n\n // Sets or unsets styles on DOM elements outside the menu component\n // This is necessary for correct page interaction with some of the menus\n // Throws and returns if the required external elements don't exist,\n // which means any external page animations won't be applied\n function handleExternalWrapper(id, wrapperStyles, set) {\n var wrapper = document.getElementById(id);\n if (!wrapper) {\n console.error(\"Element with ID '\" + id + \"' not found\");\n return;\n }\n var builtStyles = getStyle(wrapperStyles);\n for (var prop in builtStyles) {\n if (builtStyles.hasOwnProperty(prop)) {\n wrapper.style[prop] = set ? builtStyles[prop] : '';\n }\n }\n\n // Prevent any horizontal scroll\n // Only set overflow-x as an inline style if htmlClassName or\n // bodyClassName is not passed in. Otherwise, it is up to the caller to\n // decide if they want to set the overflow style in CSS using the custom\n // class names\n var applyOverflow = function applyOverflow(el) {\n return el.style['overflow-x'] = set ? 'hidden' : '';\n };\n if (!props.htmlClassName) {\n applyOverflow(document.querySelector('html'));\n }\n if (!props.bodyClassName) {\n applyOverflow(document.querySelector('body'));\n }\n }\n\n // Applies component-specific styles to external wrapper elements\n function applyWrapperStyles() {\n var set = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n var applyClass = function applyClass(el, className) {\n return el.classList[set ? 'add' : 'remove'](className);\n };\n if (props.htmlClassName) {\n applyClass(document.querySelector('html'), props.htmlClassName);\n }\n if (props.bodyClassName) {\n applyClass(document.querySelector('body'), props.bodyClassName);\n }\n if (styles.pageWrap && props.pageWrapId) {\n handleExternalWrapper(props.pageWrapId, styles.pageWrap, set);\n }\n if (styles.outerContainer && props.outerContainerId) {\n handleExternalWrapper(props.outerContainerId, styles.outerContainer, set);\n }\n var menuWrap = document.querySelector('.bm-menu-wrap');\n if (menuWrap) {\n if (set) {\n menuWrap.removeAttribute('hidden');\n } else {\n menuWrap.setAttribute('hidden', true);\n }\n }\n }\n\n // Avoids potentially attempting to update an unmounted component\n function clearCurrentTimeout() {\n if (timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }\n function onKeyDownOpen(e) {\n e = e || window.event;\n switch (e.key) {\n case ESCAPE:\n // Close on ESC, unless disabled\n if (!props.disableCloseOnEsc) {\n close();\n (0, _helpersDom.focusOnMenuButton)();\n }\n break;\n case ARROW_DOWN:\n (0, _helpersDom.focusOnNextMenuItem)();\n break;\n case ARROW_UP:\n (0, _helpersDom.focusOnPreviousMenuItem)();\n break;\n case HOME:\n (0, _helpersDom.focusOnFirstMenuItem)();\n break;\n case END:\n (0, _helpersDom.focusOnLastMenuItem)();\n break;\n }\n }\n function onKeyDownClosed(e) {\n e = e || window.event;\n // Key downs came from menu button\n if (e.target === document.getElementById('react-burger-menu-btn')) {\n switch (e.key) {\n case ARROW_DOWN:\n case SPACE:\n // If down arrow, space or enter, open menu and focus on first menuitem\n toggleMenu();\n break;\n case ARROW_UP:\n // If arrow up, open menu and focus on last menuitem\n toggleMenu({\n focusOnLastItem: true\n });\n break;\n }\n }\n }\n function handleOverlayClick() {\n if (props.disableOverlayClick === true || typeof props.disableOverlayClick === 'function' && props.disableOverlayClick()) {\n return;\n } else {\n close();\n }\n }\n return _react2['default'].createElement('div', null, !props.noOverlay && _react2['default'].createElement('div', {\n className: ('bm-overlay ' + props.overlayClassName).trim(),\n onClick: handleOverlayClick,\n style: getStyles('overlay')\n }), props.customBurgerIcon !== false && _react2['default'].createElement('div', {\n style: getStyles('burgerIcon')\n }, _react2['default'].createElement(_componentsBurgerIcon2['default'], {\n onClick: open,\n styles: props.styles,\n customIcon: props.customBurgerIcon,\n className: props.burgerButtonClassName,\n barClassName: props.burgerBarClassName,\n onIconStateChange: props.onIconStateChange\n })), _react2['default'].createElement('div', {\n id: props.id,\n className: ('bm-menu-wrap ' + props.className).trim(),\n style: getStyles('menuWrap'),\n 'aria-hidden': !isOpen\n }, styles.svg && _react2['default'].createElement('div', {\n id: 'bm-morph-shape',\n className: ('bm-morph-shape ' + props.morphShapeClassName).trim(),\n style: getStyles('morphShape')\n }, _react2['default'].createElement('svg', {\n width: '100%',\n height: '100%',\n viewBox: '0 0 100 800',\n preserveAspectRatio: 'none'\n }, _react2['default'].createElement('path', {\n d: styles.svg.pathInitial\n }))), _react2['default'].createElement('div', {\n className: ('bm-menu ' + props.menuClassName).trim(),\n style: getStyles('menu')\n }, _react2['default'].createElement(props.itemListElement, {\n className: ('bm-item-list ' + props.itemListClassName).trim(),\n style: getStyles('itemList')\n }, _react2['default'].Children.map(props.children, function (item, index) {\n if (item) {\n var classList = ['bm-item', props.itemClassName, item.props.className].filter(function (className) {\n return !!className;\n }).join(' ');\n var extraProps = {\n key: index,\n className: classList,\n style: getStyles('item', index, item.props.style),\n tabIndex: isOpen ? 0 : -1\n };\n return _react2['default'].cloneElement(item, extraProps);\n }\n }))), props.customCrossIcon !== false && _react2['default'].createElement('div', {\n style: getStyles('closeButton')\n }, _react2['default'].createElement(_componentsCrossIcon2['default'], {\n onClick: close,\n styles: props.styles,\n customIcon: props.customCrossIcon,\n className: props.crossButtonClassName,\n crossClassName: props.crossClassName,\n isOpen: isOpen\n }))));\n };\n Menu.propTypes = {\n bodyClassName: _propTypes2['default'].string,\n burgerBarClassName: _propTypes2['default'].string,\n burgerButtonClassName: _propTypes2['default'].string,\n className: _propTypes2['default'].string,\n crossButtonClassName: _propTypes2['default'].string,\n crossClassName: _propTypes2['default'].string,\n customBurgerIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customCrossIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customOnKeyDown: _propTypes2['default'].func,\n disableAutoFocus: _propTypes2['default'].bool,\n disableCloseOnEsc: _propTypes2['default'].bool,\n disableOverlayClick: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].func]),\n htmlClassName: _propTypes2['default'].string,\n id: _propTypes2['default'].string,\n isOpen: _propTypes2['default'].bool,\n itemClassName: _propTypes2['default'].string,\n itemListClassName: _propTypes2['default'].string,\n itemListElement: _propTypes2['default'].oneOf(['div', 'nav']),\n menuClassName: _propTypes2['default'].string,\n morphShapeClassName: _propTypes2['default'].string,\n noOverlay: _propTypes2['default'].bool,\n noTransition: _propTypes2['default'].bool,\n onClose: _propTypes2['default'].func,\n onIconHoverChange: _propTypes2['default'].func,\n onOpen: _propTypes2['default'].func,\n onStateChange: _propTypes2['default'].func,\n outerContainerId: styles && styles.outerContainer ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n overlayClassName: _propTypes2['default'].string,\n pageWrapId: styles && styles.pageWrap ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n right: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object,\n width: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].string])\n };\n Menu.defaultProps = {\n bodyClassName: '',\n burgerBarClassName: '',\n burgerButtonClassName: '',\n className: '',\n crossButtonClassName: '',\n crossClassName: '',\n disableAutoFocus: false,\n disableCloseOnEsc: false,\n htmlClassName: '',\n id: '',\n itemClassName: '',\n itemListClassName: '',\n menuClassName: '',\n morphShapeClassName: '',\n noOverlay: false,\n noTransition: false,\n onStateChange: function onStateChange() {},\n outerContainerId: '',\n overlayClassName: '',\n pageWrapId: '',\n styles: {},\n width: 300,\n onIconHoverChange: function onIconHoverChange() {},\n itemListElement: 'nav'\n };\n return Menu;\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _helpersSnapsvgImporter = require('../helpers/snapsvgImporter');\nvar _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter);\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar _helpersUtils = require('../helpers/utils');\nvar BUBBLE_WIDTH = 140;\nvar styles = {\n svg: {\n lib: _helpersSnapsvgImporter2['default'],\n pathInitial: 'M-7.312,0H0c0,0,0,113.839,0,400c0,264.506,0,400,0,400h-7.312V0z',\n pathOpen: 'M-7.312,0H15c0,0,66,113.339,66,399.5C81,664.006,15,800,15,800H-7.312V0z;M-7.312,0H100c0,0,0,113.839,0,400c0,264.506,0,400,0,400H-7.312V0z',\n animate: function animate(path) {\n var pos = 0;\n var steps = this.pathOpen.split(';');\n var stepsTotal = steps.length;\n var mina = window.mina;\n var nextStep = function nextStep() {\n if (pos > stepsTotal - 1) return;\n path.animate({\n path: steps[pos]\n }, pos === 0 ? 400 : 500, pos === 0 ? mina.easein : mina.elastic, function () {\n nextStep();\n });\n pos++;\n };\n nextStep();\n }\n },\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: '100%',\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n MsTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n OTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n WebkitTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n transform: right ? 'rotateY(180deg)' : 'rotateY(0deg)'\n };\n },\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: isOpen ? 'transform 0.4s 0s' : 'transform 0.4s'\n };\n },\n menu: function menu(isOpen, width, right) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n position: 'fixed',\n MozTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n item: function item(isOpen, width, right, nthChild) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s, transform 0.3s 0.4s' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n closeButton: function closeButton(isOpen, width, right) {\n var finalWidth = (0, _helpersUtils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _helpersSnapsvgImporter = require('../helpers/snapsvgImporter');\nvar _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter);\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar _helpersUtils = require('../helpers/utils');\nvar MORPH_SHAPE_WIDTH = 120;\nvar styles = {\n svg: {\n lib: _helpersSnapsvgImporter2['default'],\n pathInitial: 'M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z',\n pathOpen: 'M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z',\n animate: function animate(path) {\n path.animate({\n path: this.pathOpen\n }, 400, window.mina.easeinout);\n }\n },\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: MORPH_SHAPE_WIDTH,\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : '',\n MsTransform: right ? 'rotateY(180deg)' : '',\n OTransform: right ? 'rotateY(180deg)' : '',\n WebkitTransform: right ? 'rotateY(180deg)' : '',\n transform: right ? 'rotateY(180deg)' : ''\n };\n },\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.3s'\n };\n },\n menu: function menu(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n width: (0, _helpersUtils.pxToNum)(width) - MORPH_SHAPE_WIDTH,\n whiteSpace: 'nowrap',\n boxSizing: 'border-box',\n overflow: 'visible'\n };\n },\n itemList: function itemList(isOpen, width, right) {\n if (right) {\n return {\n position: 'relative',\n left: '-110px',\n width: '170%',\n overflow: 'auto'\n };\n }\n },\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)',\n transition: isOpen ? 'all 0.3s' : 'all 0.3s 0.1s'\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n menuWrap: function menuWrap(isOpen) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n MsTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n OTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n transform: isOpen ? '' : 'translate3d(0, -100%, 0)',\n transition: 'all 0.5s ease-in-out'\n };\n },\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s'\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n perspectiveOrigin: '0% 50%',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s'\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transformOrigin: right ? '100% 50%' : '0% 50%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: 'translate3d(0, 0, 0)',\n MsTransform: 'translate3d(0, 0, 0)',\n OTransform: 'translate3d(0, 0, 0)',\n WebkitTransform: 'translate3d(0, 0, 0)',\n transform: 'translate3d(0, 0, 0)',\n zIndex: isOpen ? 1000 : -1\n };\n },\n overlay: function overlay(isOpen, width, right) {\n return {\n zIndex: 1400,\n MozTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n MsTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n OTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n WebkitTransform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transform: isOpen ? right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transition: 'all 0.5s',\n visibility: isOpen ? 'visible' : 'hidden'\n };\n },\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0)' : 'translate3d(' + width + ', 0, 0)',\n transition: 'all 0.5s',\n zIndex: 1200,\n position: 'relative'\n };\n },\n burgerIcon: function burgerIcon(isOpen, width, right) {\n return {\n MozTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n MsTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n OTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n WebkitTransform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transform: isOpen ? right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)' : 'translate3d(0, 0, 0)',\n transition: 'all 0.1s',\n position: 'relative',\n zIndex: 1300\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n pageWrap: function pageWrap(isOpen, width) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n MsTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n OTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n WebkitTransform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n transform: isOpen ? '' : 'translate3d(0, 0, -' + width + ')',\n transformOrigin: '100%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n outerContainer: function outerContainer() {\n return {\n perspective: '1500px'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n transform: isOpen ? '' : right ? 'translate3d(-100px, 0, -600px) rotateY(20deg)' : 'translate3d(100px, 0, -600px) rotateY(-20deg)',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s',\n overflow: isOpen ? '' : 'hidden'\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\nvar _menuFactory = require('../menuFactory');\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\nvar styles = {\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + width + ', 0, 0)' : 'translate3d(-' + width + ', 0, 0)',\n transition: isOpen ? 'transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)' : 'transform 0.4s cubic-bezier(0.7, 0, 0.3, 1)'\n };\n },\n item: function item(isOpen, width, right, nthChild) {\n return {\n MozTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n MsTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n OTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n transform: isOpen ? '' : 'translate3d(0, ' + nthChild * 500 + 'px, 0)',\n transition: isOpen ? 'transform 0.8s cubic-bezier(0.7, 0, 0.3, 1)' : 'transform 0s 0.2s cubic-bezier(0.7, 0, 0.3, 1)'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n it = a.entries();\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n return true;\n }\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n};\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (encode === false) {\n return String(str);\n }\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n return innermostBaseTag;\n }, []);\n};\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n var value = tag[primaryAttributeKey].toLowerCase();\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n return approvedTags;\n }, []).reverse();\n};\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n return null;\n};\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\nvar _helmetCallback = null;\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n if (!elementTag) {\n return;\n }\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" + type + \">\";\n};\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\" + type + \">\");\n }, \"\");\n};\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n return true;\n };\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n _this2.warnOnInvalidChildren(child, nestedChildren);\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n var newProps = _extends({}, props);\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n return React.createElement(Component, newProps);\n };\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n return mappedState;\n }, _temp;\n};\nvar NullComponent = function NullComponent() {\n return null;\n};\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\nvar React = require('react');\nvar React__default = _interopDefault(React);\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n var mountedInstances = [];\n var state;\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n var SideEffect = /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n var _proto = SideEffect.prototype;\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n return SideEffect;\n }(React.PureComponent);\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n return SideEffect;\n };\n}\nmodule.exports = withSideEffect;","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","module.exports = {\n siteTitle: '040code',\n siteDescription: 'A developers blog',\n authorName: '040 code',\n twitterUsername: 'niekos77',\n authorAvatar: '',\n multilangPosts: false, // enable/disable flags in post lists\n authorDescription: ``,\n siteUrl: 'https://040code.github.io/',\n disqusSiteUrl: 'https://www.disqus.com/',\n // Prefixes all links. For cases when deployed to maxpou.fr/gatsby-starter-morning-dew/\n pathPrefix: '/', // Note: it must *not* have a trailing slash.\n siteCover: '/images/cover.jpg',\n googleAnalyticsId: 'UA-97020149-1',\n background_color: '#ffffff',\n theme_color: '#222222',\n display: 'standalone',\n icon: 'src/assets/gatsby-icon.png',\n postsPerPage: 7,\n disqusShortname: '040code',\n headerLinks: [\n {\n label: '🏡 040 blog',\n url: '/',\n },\n {\n label: 'About',\n url: '/about',\n },\n {\n label: 'Niek Palm',\n url: '/authors/niek',\n },\n {\n label: 'Maarten Metz',\n url: '/authors/maarten',\n },\n {\n label: 'Jeroen Knoops',\n url: '/authors/jeroen',\n },\n {\n label: 'Stefan van den Oord',\n url: '/authors/stefan',\n },\n {\n label: 'Thales Sousa',\n url: '/authors/thales',\n },\n ],\n // Footer information (ex: Github, Netlify...)\n footerLinks: [\n [\n '040 code © 2019',\n {\n label: 'Gatsby',\n prefix: 'Built with ',\n url: 'https://www.gatsbyjs.org/',\n },\n ],\n [\n 'Blog',\n {\n label: 'home',\n prefix: '',\n url: '/',\n },\n {\n label: 'about',\n prefix: '',\n url: '/about',\n },\n ],\n [\n 'Source',\n {\n label: 'Github',\n url: 'https://github.com/040code/',\n },\n ],\n ],\n}\n","import styled from 'styled-components'\nimport { createGlobalStyle } from 'styled-components'\nimport { Link } from 'gatsby'\n\nexport const GlobalStyle = createGlobalStyle`\n* {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nbody {\n font-family: \"Lato\", sans-serif;\n color: #222222cc;\n background-color: #e8e8e8;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n vertical-align: middle;\n border: 0;\n}\n\na {\n text-decoration: none;\n color: #0366d6;\n}\n\nul,\nol {\n padding-left: 2em;\n margin: 1em 0 0 0;\n}\n`\nexport const StyledLink = styled(Link)`\n border-bottom: 1px dotted rgba(162, 162, 162, 0.8);\n\n &:hover {\n border-bottom-style: solid;\n }\n`\n\nexport const Text = styled.p`\n line-height: 1.6;\n margin: 1em 0 0 0;\n`\n","import React from 'react'\nimport Helmet from 'react-helmet'\nimport { withPrefix } from 'gatsby'\nimport siteConfig from '../../data/siteConfig'\n\nclass SEO extends React.Component {\n render() {\n const { isBlogPost, path = '', lang = 'en' } = this.props\n const title = this.props.title\n ? `${this.props.title} | ${siteConfig.siteTitle}`\n : siteConfig.siteTitle\n const formatedSiteUrl = siteConfig.siteUrl.substring(\n 0,\n siteConfig.siteUrl.length - 1\n )\n const imagePath =\n this.props.imageFb || this.props.cover || withPrefix(siteConfig.siteCover)\n const imagePathTwitter =\n this.props.imageTw || this.props.cover || withPrefix(siteConfig.siteCover)\n const image = `${formatedSiteUrl}${imagePath}`\n const imageTwitter = `${formatedSiteUrl}${imagePathTwitter}`\n const description = this.props.description || siteConfig.siteDescription\n\n return (\n \n {/* General tags */}\n \n \n \n\n {/* OpenGraph tags */}\n \n \n \n \n \n\n {/* Twitter Card tags */}\n \n \n \n \n \n \n )\n }\n}\n\nexport default SEO\n","import styled from 'styled-components'\n\nconst Wrapper = styled.main.attrs({\n role: 'main',\n})`\n position: relative;\n border-radius: 3px;\n width: 80%;\n max-width: 770px;\n border-bottom: 1px solid #ebf2f6;\n word-wrap: break-word;\n background-color: #fff;\n margin: 0px auto 30px auto;\n top: 30px;\n padding: 50px;\n box-shadow: 0 0 0 0, 0 6px 12px rgba(0, 0, 0, 0.1);\n\n @media (max-width: 780px) {\n width: 90%;\n padding: 25px;\n }\n`\n\nexport default Wrapper\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\nimport { slide as BurgerMenu } from 'react-burger-menu'\n\nconst StyledBurgerMenu = styled.div`\n /* Position and sizing of burger button */\n .bm-burger-button {\n position: fixed;\n width: 36px;\n height: 30px;\n left: 36px;\n top: 36px;\n }\n\n /* Color/shape of burger icon bars */\n .bm-burger-bars {\n background: #ffffff;\n }\n\n /* Position and sizing of clickable cross button */\n .bm-cross-button {\n height: 24px;\n width: 24px;\n }\n\n /* Color/shape of close button cross */\n .bm-cross {\n background: #ffffff;\n }\n\n /* General sidebar styles */\n .bm-menu {\n background: rgb(0, 0, 0, 0.5);\n padding: 2.5em 1em 0;\n font-size: 1.15em;\n }\n\n /* Morph shape necessary with bubble or elastic */\n .bm-morph-shape {\n fill: #373a47;\n }\n\n /* Wrapper for item list */\n .bm-item-list {\n padding-top: 2em;\n ${'' /* color: #b8b7ad; */}\n }\n\n /* Individual item */\n .bm-item {\n display: inline-block;\n padding: 0.5em;\n }\n\n /* Styling of overlay */\n .bm-overlay {\n background: rgba(0, 0, 0, 0.3);\n }\n`\n\nconst MenuLink = styled(Link)`\n position: relative;\n display: flex;\n align-items: center;\n color: #fff;\n border: 0;\n margin: 0;\n margin-right: 0.5rem;\n padding-left: 20px;\n padding-right: 20px;\n min-width: 42px;\n z-index: 10;\n`\n\nclass Header extends React.Component {\n render() {\n const { headerLinks } = this.props\n\n return (\n \n \n {headerLinks.map((headerLink, i) => (\n \n {headerLink.label}\n \n ))}\n \n \n )\n }\n}\n\nexport default Header\n","import React from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\n\nconst FooterWrapper = styled.footer`\n text-align: left;\n padding-top: 30px;\n padding-bottom: 50px;\n background-color: rgba(32, 35, 42, 0.85);\n color: #ffffff;\n padding-left: 20px;\n padding-right: 20px;\n margin: 3.5em auto 0 0 ;\n\n & nav {\n display: flex;\n flex-flow: row wrap;\n align-items: flex-start;\n max-width: 900px;\n margin: 0 auto;\n\n .footer-col {\n flex: 1 auto;\n display: inline-flex;\n flex-direction: column;\n margin-bottom: 1em;\n padding-right: 1em;\n }\n }\n\n & a {\n color: #ffffff;\n font-weight: bold;\n\n &:hover {\n color: #e8e8e8;\n border-bottom: 1px dotted #e8e8e8;\n }\n }\n\n .footer-col > p {\n margin: 0;\n }\n .footer-title {\n margin: 0 0 1rem;\n }\n\n .footer-item {\n padding: 0.25rem 0;\n color: #ffffff;\n }\n\n .footer-heart {\n color: red;\n }\n\n .footer-item-text {\n padding: 0.1rem 0;\n color: #ffffff;\n }\n\n .footer-header {\n order: 1;\n margin: 0 0.25rem;\n margin-right: 0.25rem;\n padding: 0.25rem;\n }\n\n @media (max-width: 564px) {\n .footer-col:first-child {\n width: 100%;\n }\n }\n`\n\nclass Footer extends React.Component {\n render() {\n const { footerLinks } = this.props.siteConfig\n\n const FooterItem = ({ item }) => {\n if (typeof item === 'string') {\n return (\n \n {item}\n \n )\n }\n if (item.url.startsWith('/')) {\n return (\n \n {item.prefix}\n \n {item.label}\n \n \n )\n }\n return (\n \n {item.prefix}\n \n \n {item.label}\n \n \n )\n }\n\n const FooterColumn = ({ column }) => {\n return (\n \n {column.map((item, i) => {\n return \n })}\n
\n )\n }\n\n return (\n \n \n {footerLinks.map((column, i) => {\n return \n })}\n \n \n )\n }\n}\n\nexport default Footer\n","import React, { Fragment } from 'react'\nimport Menu from './SideMenu'\nimport Footer from './Footer'\nimport siteConfig from '../../data/siteConfig'\n\nimport 'prismjs/themes/prism-tomorrow.css'\nimport { GlobalStyle } from './Commons'\n\nclass Template extends React.Component {\n render() {\n const { children } = this.props\n\n return (\n \n \n \n {children}
\n \n \n )\n }\n}\n\nexport default Template\n"],"names":["glob","current_event","stop","version","has","separator","comaseparator","numsort","events","firstDefined","lastDefined","objtos","Str","isArray","eve","window","this","a","b","n","i","ii","length","Object","prototype","toString","String","Array","ar","call","name","scope","l","oldstop","args","slice","arguments","listeners","z","indexed","queue","out","ce","push","zIndex","sort","apply","_events","item","items","k","j","jj","nes","names","split","e","es","concat","f","sep","replace","RegExp","on","exist","hasOwnProperty","event","attrs","nt","subname","cur","join","test","nts","off","unbind","key","splice","inodes","unshift","funcs","prune","once","f2","module","exports","assign","defineProperty","value","slide","stack","elastic","bubble","pushRotate","scaleDown","scaleRotate","fallDown","reveal","_extends","target","source","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_interopRequireDefault","obj","__esModule","_react","_react2","_propTypes2","BurgerIcon","_Component","instance","TypeError","_classCallCheck","_x","_x2","_x3","_again","object","property","receiver","Function","desc","getOwnPropertyDescriptor","undefined","getter","get","parent","getPrototypeOf","_get","state","hover","subClass","superClass","create","constructor","setPrototypeOf","__proto__","_inherits","index","position","height","left","right","top","opacity","styles","bmBurgerBarsHover","_this","icon","customIcon","extraProps","className","trim","style","width","bmIcon","cloneElement","createElement","map","bar","barClassName","getLineStyle","bmBurgerBars","bmBurgerButton","type","id","onClick","onMouseOver","setState","onIconHoverChange","isMouseIn","onMouseOut","margin","padding","border","fontSize","background","cursor","Component","propTypes","string","element","defaultProps","CrossIcon","transform","bmCross","crossClassName","getCrossStyle","bmCrossButton","tabIndex","isOpen","bool","overlay","MozTransform","MsTransform","OTransform","WebkitTransform","transition","menuWrap","menu","boxSizing","overflow","itemList","display","focusOnFirstMenuItem","firstItem","from","document","getElementsByClassName","shift","focus","focusOnLastMenuItem","lastItem","pop","focusOnCrossButton","crossButton","getElementById","focusOnMenuItem","siblingType","activeElement","includes","sibling","focusOnMenuButton","menuButton","focusOnNextMenuItem","focusOnPreviousMenuItem","Snap","pxToNum","val","parseInt","_slicedToArray","arr","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","_helpersBaseStyles2","_helpersDom","_componentsBurgerIcon2","_componentsCrossIcon2","Error","ARROW_DOWN","ARROW_UP","Menu","ref","_React$useState","useState","_React$useState2","setIsOpen","timeoutId","useRef","toggleOptions","prevIsOpenProp","useEffect","current","toggleMenu","options","applyWrapperStyles","setTimeout","open","close","onClose","getStyle","getStyles","el","inline","propName","charAt","toUpperCase","output","noTransition","handleExternalWrapper","wrapperStyles","set","wrapper","builtStyles","prop","applyOverflow","htmlClassName","querySelector","bodyClassName","console","error","applyClass","classList","pageWrap","pageWrapId","outerContainer","outerContainerId","removeAttribute","setAttribute","clearCurrentTimeout","clearTimeout","onKeyDownOpen","disableCloseOnEsc","onKeyDownClosed","focusOnLastItem","noStateChange","morphShape","path","svg","lib","select","animate","attr","pathInitial","_toggleOptions$current","onStateChange","disableAutoFocus","blur","body","defaultOnKeyDown","onKeyDown","customOnKeyDown","addEventListener","removeEventListener","noOverlay","overlayClassName","disableOverlayClick","customBurgerIcon","onOpen","burgerButtonClassName","burgerBarClassName","onIconStateChange","morphShapeClassName","viewBox","preserveAspectRatio","d","menuClassName","itemListElement","itemListClassName","Children","children","itemClassName","filter","customCrossIcon","crossButtonClassName","oneOfType","oneOf","func","isRequired","number","_helpersSnapsvgImporter2","_menuFactory2","_helpersUtils","pathOpen","pos","steps","stepsTotal","mina","nextStep","easein","finalWidth","nthChild","closeButton","easeinout","whiteSpace","_menuFactory","perspective","perspectiveOrigin","transformOrigin","transformStyle","visibility","burgerIcon","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","keys","it","size","entries","flags","valueOf","$$typeof","message","match","warn","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","classCallCheck","createClass","objectWithoutProperties","indexOf","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","forEach","tagUnion","rafPolyfill","Date","now","callback","currentTime","cafPolyfill","requestAnimationFrame","bind","webkitRequestAnimationFrame","mozRequestAnimationFrame","g","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","title","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","indexToSave","tags","headElement","head","tagNodes","querySelectorAll","indexToDelete","newElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref","_ref$title","base","link","meta","noscript","script","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_this2","_child$props","initAttributes","convertReactPropstoHtmlAttributes","render","_props","canUseDOM","defaultTitle","titleTemplate","peek","rewind","mappedState","renderStatic","ex","React","React__default","_defineProperty","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","PureComponent","displayName","getDisplayName","$","flattenIntoArray","toObject","lengthOfArrayLike","toIntegerOrInfinity","arraySpeciesCreate","proto","flat","depthArg","O","sourceLen","A","addToUnscopables","siteTitle","siteDescription","authorName","twitterUsername","authorAvatar","multilangPosts","authorDescription","siteUrl","disqusSiteUrl","pathPrefix","siteCover","googleAnalyticsId","background_color","theme_color","postsPerPage","disqusShortname","headerLinks","label","url","footerLinks","prefix","GlobalStyle","createGlobalStyle","StyledLink","styled","Link","Text","SEO","isBlogPost","lang","siteConfig","formatedSiteUrl","image","imageFb","cover","withPrefix","imageTwitter","imageTw","description","rel","href","Wrapper","role","StyledBurgerMenu","MenuLink","Header","BurgerMenu","headerLink","to","FooterWrapper","Footer","FooterItem","startsWith","iconClassName","FooterColumn","column","Template","Fragment"],"sourceRoot":""}
\ No newline at end of file
diff --git a/6dae301c9709e8c5899acc3516b7dd8f43382179-17a5b944edf4fe39f40f.js b/6dae301c9709e8c5899acc3516b7dd8f43382179-17a5b944edf4fe39f40f.js
new file mode 100644
index 00000000..6919afde
--- /dev/null
+++ b/6dae301c9709e8c5899acc3516b7dd8f43382179-17a5b944edf4fe39f40f.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunk_040_code=self.webpackChunk_040_code||[]).push([[20],{6837:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.CommentCount=void 0;var o=u(n(7294)),r=u(n(5697)),i=n(3222),a=n(4911);function u(e){return e&&e.__esModule?e:{default:e}}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function s(){return s=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,r,i=!0,u=!1;return{s:function(){o=e[Symbol.iterator]()},n:function(){var e=o.next();return i=e.done,e},e:function(e){u=!0,r=e},f:function(){try{i||null==o.return||o.return()}finally{if(u)throw r}}}}(new Set(Object.keys(t),Object.keys(n)));try{for(r.s();!(o=r.n()).done;){var c=o.value;if("object"===i(t[c])){if(e(t[c],n[c]))return!0}else if(t[c]!==n[c]&&!u(t[c]))return!0}}catch(s){r.e(s)}finally{r.f()}return!1};var o,r=(o=n(7294))&&o.__esModule?o:{default:o};function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&r.createElement(r.Fragment,null,r.createElement(a.Z,{tags:n})))},t}(r.Component),s=c,l=i.default.div.withConfig({displayName:"Content__ContentBody",componentId:"sc-1jppj8x-0"})(["line-height:1.6;& > *:first-child{padding-top:0;margin-top:0;}& > h1{margin-top:3rem;font-size:2em;}& > h2{margin-top:3rem;font-size:1.5em;}& > h3{padding-top:3rem;font-size:1.17em;}& > p{margin:1em 0 0 0;}& a{border-bottom:1px dotted rgba(162,162,162,0.8);&:hover{border-bottom-style:solid;}&.anchor,&.gatsby-resp-image-link{border:none;}}& > blockquote{box-sizing:border-box;margin:1.75em 0 1.75em -2.2em;padding:0 0 0 1.75em;border-left:0.4em solid rgba(32,35,42,0.85);}& > blockquote p{margin:0.8em 0;font-style:italic;}& .gatsby-highlight{border-radius:5px;font-size:15px;line-height:1.7;background:#2d2d2d;color:#ffffff;border-radius:10px;overflow:auto;tab-size:1.5em;margin:1.5em 0em 1.5em 0;font-size:0.7em;}& .gatsby-highlight > pre{border:0;margin:0;padding:1;}& .gatsby-highlight-code-line{background-color:#022a4b;display:block;margin-right:-1em;margin-left:-1em;padding-right:1em;padding-left:0.75em;border-left:0.25em solid #ffa7c4;}& p > code.language-text,& li > code.language-text{background:rgba(255,229,100,0.2);color:#222222cc;padding:0 3px;font-size:0.94em;border-radius:0.3rem;}& table{margin-top:1em;border-collapse:collapse;border-radius:0.5em;overflow:hidden;& th,& td{padding:0.5em;background:#e8e8e8;border-bottom:2px solid white;}}& :not(pre) a code[class*='language-']{color:#222222cc;background-color:rgba(255,229,100,0.2);}"]),f=function(e){function t(){return e.apply(this,arguments)||this}return(0,o.Z)(t,e),t.prototype.render=function(){var e=this.props,t=e.content,n=e.tags;return r.createElement("section",null,n&&r.createElement(s,{tags:n}),r.createElement(l,{dangerouslySetInnerHTML:{__html:t}}))},t}(r.Component),p=f},9990:function(e,t,n){var o=n(1721),r=n(7294),i=n(7202),a=n(3710),u=n.n(a),c=function(e){function t(){return e.apply(this,arguments)||this}return(0,o.Z)(t,e),t.prototype.render=function(){var e=u().disqusShortname;if(!e)return null;var t={url:""+u().disqusSiteUrl+this.props.slug,title:this.props.title};return r.createElement(i.ZP.DiscussionEmbed,{shortname:e,config:t})},t}(r.Component);t.Z=c},4529:function(e,t,n){var o=n(1721),r=n(7294),i=n(1082),a=n(3710),u=n.n(a),c=n(3494),s=c.default.div.withConfig({displayName:"Hero__HeroContainer",componentId:"sc-1i1rqpz-0"})(["position:relative;display:table;width:100%;height:340px;overflow:hidden;background-repeat:no-repeat;background-position:center;background-size:cover;"]),l=c.default.div.withConfig({displayName:"Hero__TitleContainer",componentId:"sc-1i1rqpz-1"})(["display:table-cell;vertical-align:middle;text-align:center;width:100%;"]),f=c.default.div.withConfig({displayName:"Hero__LocationContainer",componentId:"sc-1i1rqpz-2"})(["display:table-footer-group;vertical-align:center;text-align:right;width:100%;"]),p=c.default.h1.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-1i1rqpz-3"})(["font-size:3.5rem;margin:10px 60px;color:#fff;text-shadow:2px 2px #222222;font-weight:800;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;"]),d=c.default.h2.withConfig({displayName:"Hero__HeroSubtitle",componentId:"sc-1i1rqpz-4"})(["font-size:1.7rem;margin:10px 60px;color:#fff;text-shadow:2px 2px #222222;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;"]),m=c.default.span.withConfig({displayName:"Hero__DateAndAuthor",componentId:"sc-1i1rqpz-5"})(["font-weight:500;font-size:1.2rem;color:#fff;text-shadow:2px 2px #222222;"]),h=(0,c.default)(i.Link).withConfig({displayName:"Hero__AuthorLink",componentId:"sc-1i1rqpz-6"})(["margin-left:0.3rem;font-weight:500;font-size:1.2rem;color:#fff;text-shadow:2px 2px #222222;&:hover{border-bottom:1px dotted #787676;}&:before{content:'@';}"]),y=c.default.a.withConfig({displayName:"Hero__LocationLink",componentId:"sc-1i1rqpz-7"})(["margin-right:0.7rem;font-size:0.9rem;color:#fff;text-shadow:2px 2px #222222;font-size:1rem;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;font-style:italic;&:hover{border-bottom:1px dotted #787676;}"]),g=c.default.span.withConfig({displayName:"Hero__LocationMarker",componentId:"sc-1i1rqpz-8"})(["margin-right:0.4rem;font-size:0.75rem;color:#fff;text-shadow:2px 2px #222222;font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;"]),b=function(e){function t(){return e.apply(this,arguments)||this}return(0,o.Z)(t,e),t.prototype.render=function(){var e=this.props.heroImg||(0,i.withPrefix)(u().siteCover),t=this.props.title,n=this.props.subtitle,o=this.props.date,a=this.props.authors,c=this.props.coverDescription,b=this.props.coverLink;return r.createElement(s,{style:{backgroundImage:'url("'+e+'")'}},r.createElement(l,null,r.createElement(p,null,t),r.createElement(d,null,n),a&&0!=a.length&&r.createElement(m,null,"by:"," ",a&&a.map((function(e,t){return r.createElement(r.Fragment,{key:"author-list-"+t},r.createElement(h,{to:"/authors/"+e},e),t= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function () {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nvar queueResetCount = (0, _utils.debounce)(function () {\n if (window.DISQUSWIDGETS) window.DISQUSWIDGETS.getCount({\n reset: true\n });\n}, 300, false); // eslint-disable-line no-magic-numbers\n\nvar CommentCount = /*#__PURE__*/function (_React$Component) {\n _inherits(CommentCount, _React$Component);\n var _super = _createSuper(CommentCount);\n function CommentCount() {\n _classCallCheck(this, CommentCount);\n return _super.apply(this, arguments);\n }\n _createClass(CommentCount, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.loadInstance();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (this.props === nextProps) return false;\n return (0, _utils.shallowComparison)(this.props, nextProps);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.shortname !== prevProps.shortname) this.cleanInstance();\n this.loadInstance();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cleanInstance();\n }\n }, {\n key: \"loadInstance\",\n value: function loadInstance() {\n var doc = window.document;\n if (doc.getElementById(_constants.COMMENT_COUNT_SCRIPT_ID)) queueResetCount();else (0, _utils.insertScript)(\"https://\".concat(this.props.shortname, \".disqus.com/count.js\"), _constants.COMMENT_COUNT_SCRIPT_ID, doc.body);\n }\n }, {\n key: \"cleanInstance\",\n value: function cleanInstance() {\n var doc = window.document;\n (0, _utils.removeScript)(_constants.COMMENT_COUNT_SCRIPT_ID, doc.body); // count.js only reassigns this window object if it's undefined.\n\n window.DISQUSWIDGETS = undefined;\n (0, _utils.removeResources)();\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props,\n shortname = _this$props.shortname,\n config = _this$props.config,\n children = _this$props.children,\n className = _this$props.className,\n rest = _objectWithoutProperties(_this$props, [\"shortname\", \"config\", \"children\", \"className\"]);\n var additionalClass = className ? \" \".concat(className) : '';\n return /*#__PURE__*/_react[\"default\"].createElement(\"span\", _extends({}, rest, {\n className: \"\".concat(_constants.COMMENT_COUNT_CLASS).concat(additionalClass),\n \"data-disqus-identifier\": config.identifier,\n \"data-disqus-url\": config.url\n }), children);\n }\n }]);\n return CommentCount;\n}(_react[\"default\"].Component);\nexports.CommentCount = CommentCount;\nCommentCount.propTypes = {\n shortname: _propTypes[\"default\"].string.isRequired,\n config: _propTypes[\"default\"].shape({\n identifier: _propTypes[\"default\"].string,\n url: _propTypes[\"default\"].string,\n title: _propTypes[\"default\"].string\n }).isRequired,\n className: _propTypes[\"default\"].string,\n children: _propTypes[\"default\"].node\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CommentEmbed = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _constants = require(\"./constants\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function () {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nvar CommentEmbed = /*#__PURE__*/function (_React$Component) {\n _inherits(CommentEmbed, _React$Component);\n var _super = _createSuper(CommentEmbed);\n function CommentEmbed() {\n _classCallCheck(this, CommentEmbed);\n return _super.apply(this, arguments);\n }\n _createClass(CommentEmbed, [{\n key: \"getSrc\",\n value: function getSrc() {\n var radixBase = 36;\n var post = Number(this.props.commentId).toString(radixBase);\n var parentParam = this.props.showParentComment ? '1' : '0';\n var mediaParam = this.props.showMedia ? '1' : '0';\n return \"https://embed.disqus.com/p/\".concat(post, \"?p=\").concat(parentParam, \"&m=\").concat(mediaParam);\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props,\n width = _this$props.width,\n height = _this$props.height,\n commentId = _this$props.commentId,\n showMedia = _this$props.showMedia,\n showParentComment = _this$props.showParentComment,\n rest = _objectWithoutProperties(_this$props, [\"width\", \"height\", \"commentId\", \"showMedia\", \"showParentComment\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", _extends({}, rest, {\n src: this.getSrc(),\n width: width,\n height: height,\n seamless: \"seamless\",\n scrolling: \"no\",\n frameBorder: \"0\"\n }));\n }\n }]);\n return CommentEmbed;\n}(_react[\"default\"].Component);\nexports.CommentEmbed = CommentEmbed;\nCommentEmbed.defaultProps = {\n showMedia: true,\n showParentComment: true,\n width: _constants.COMMENT_EMBED_WIDTH,\n height: _constants.COMMENT_EMBED_HEIGHT\n};\nCommentEmbed.propTypes = {\n commentId: _propTypes[\"default\"].string.isRequired,\n showMedia: _propTypes[\"default\"].bool,\n showParentComment: _propTypes[\"default\"].bool,\n width: _propTypes[\"default\"].number,\n height: _propTypes[\"default\"].number,\n className: _propTypes[\"default\"].string\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DiscussionEmbed = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _utils = require(\"./utils\");\nvar _constants = require(\"./constants\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function () {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nvar DiscussionEmbed = /*#__PURE__*/function (_React$Component) {\n _inherits(DiscussionEmbed, _React$Component);\n var _super = _createSuper(DiscussionEmbed);\n function DiscussionEmbed() {\n _classCallCheck(this, DiscussionEmbed);\n return _super.apply(this, arguments);\n }\n _createClass(DiscussionEmbed, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (typeof window !== 'undefined' && window.disqus_shortname && window.disqus_shortname !== this.props.shortname) this.cleanInstance();\n this.loadInstance();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (this.props === nextProps) return false;\n return (0, _utils.shallowComparison)(this.props, nextProps);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(nextProps) {\n if (this.props.shortname !== nextProps.shortname) this.cleanInstance();\n this.loadInstance();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cleanInstance();\n }\n }, {\n key: \"loadInstance\",\n value: function loadInstance() {\n var doc = window.document;\n if (window && window.DISQUS && doc.getElementById(_constants.EMBED_SCRIPT_ID)) {\n window.DISQUS.reset({\n reload: true,\n config: this.getDisqusConfig(this.props.config)\n });\n } else {\n window.disqus_config = this.getDisqusConfig(this.props.config);\n window.disqus_shortname = this.props.shortname;\n (0, _utils.insertScript)(\"https://\".concat(this.props.shortname, \".disqus.com/embed.js\"), _constants.EMBED_SCRIPT_ID, doc.body);\n }\n }\n }, {\n key: \"cleanInstance\",\n value: function cleanInstance() {\n var doc = window.document;\n (0, _utils.removeScript)(_constants.EMBED_SCRIPT_ID, doc.body);\n if (window && window.DISQUS) window.DISQUS.reset({});\n try {\n delete window.DISQUS;\n } catch (error) {\n window.DISQUS = undefined;\n }\n var disqusThread = doc.getElementById(_constants.THREAD_ID);\n if (disqusThread) {\n while (disqusThread.hasChildNodes()) {\n disqusThread.removeChild(disqusThread.firstChild);\n }\n }\n (0, _utils.removeResources)();\n }\n }, {\n key: \"getDisqusConfig\",\n value: function getDisqusConfig(config) {\n return function () {\n var _this = this;\n this.page.identifier = config.identifier;\n this.page.url = config.url;\n this.page.title = config.title;\n this.page.category_id = config.categoryID;\n this.page.remote_auth_s3 = config.remoteAuthS3;\n this.page.api_key = config.apiKey;\n if (config.sso) this.sso = config.sso;\n if (config.language) this.language = config.language;\n _constants.CALLBACKS.forEach(function (callbackName) {\n _this.callbacks[callbackName] = [config[callbackName]];\n });\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props,\n shortname = _this$props.shortname,\n config = _this$props.config,\n rest = _objectWithoutProperties(_this$props, [\"shortname\", \"config\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, rest, {\n id: _constants.THREAD_ID\n }));\n }\n }]);\n return DiscussionEmbed;\n}(_react[\"default\"].Component);\nexports.DiscussionEmbed = DiscussionEmbed;\nDiscussionEmbed.propTypes = {\n shortname: _propTypes[\"default\"].string.isRequired,\n config: _propTypes[\"default\"].shape({\n identifier: _propTypes[\"default\"].string,\n url: _propTypes[\"default\"].string,\n title: _propTypes[\"default\"].string,\n language: _propTypes[\"default\"].string,\n categoryID: _propTypes[\"default\"].string,\n remoteAuthS3: _propTypes[\"default\"].string,\n apiKey: _propTypes[\"default\"].string,\n preData: _propTypes[\"default\"].func,\n preInit: _propTypes[\"default\"].func,\n onInit: _propTypes[\"default\"].func,\n onReady: _propTypes[\"default\"].func,\n afterRender: _propTypes[\"default\"].func,\n preReset: _propTypes[\"default\"].func,\n onIdentify: _propTypes[\"default\"].func,\n beforeComment: _propTypes[\"default\"].func,\n onNewComment: _propTypes[\"default\"].func,\n onPaginate: _propTypes[\"default\"].func,\n sso: _propTypes[\"default\"].shape({\n name: _propTypes[\"default\"].string,\n button: _propTypes[\"default\"].string,\n icon: _propTypes[\"default\"].string,\n url: _propTypes[\"default\"].string,\n logout: _propTypes[\"default\"].string,\n profile_url: _propTypes[\"default\"].string,\n width: _propTypes[\"default\"].string,\n height: _propTypes[\"default\"].string\n })\n }).isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Recommendations = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _utils = require(\"./utils\");\nvar _constants = require(\"./constants\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function () {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nvar Recommendations = /*#__PURE__*/function (_React$Component) {\n _inherits(Recommendations, _React$Component);\n var _super = _createSuper(Recommendations);\n function Recommendations() {\n _classCallCheck(this, Recommendations);\n return _super.apply(this, arguments);\n }\n _createClass(Recommendations, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.loadInstance();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (this.props === nextProps) return false;\n return (0, _utils.shallowComparison)(this.props, nextProps);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.loadInstance();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cleanInstance();\n }\n }, {\n key: \"getDisqusConfig\",\n value: function getDisqusConfig(config) {\n return function () {\n this.page.identifier = config.identifier;\n this.page.url = config.url;\n this.page.title = config.title;\n this.language = config.language;\n };\n }\n }, {\n key: \"loadInstance\",\n value: function loadInstance() {\n if (typeof window !== 'undefined' && window.document) {\n window.disqus_config = this.getDisqusConfig(this.props.config);\n if (window.document.getElementById(_constants.RECOMMENDATIONS_SCRIPT_ID)) {\n this.reloadInstance();\n } else {\n (0, _utils.insertScript)(\"https://\".concat(this.props.shortname, \".disqus.com/recommendations.js\"), _constants.RECOMMENDATIONS_SCRIPT_ID, window.document.body);\n }\n }\n }\n }, {\n key: \"reloadInstance\",\n value: function reloadInstance() {\n if (window && window.DISQUS_RECOMMENDATIONS) {\n window.DISQUS_RECOMMENDATIONS.reset({\n reload: true\n });\n }\n }\n }, {\n key: \"cleanInstance\",\n value: function cleanInstance() {\n (0, _utils.removeScript)(_constants.RECOMMENDATIONS_SCRIPT_ID, window.document.body);\n try {\n delete window.DISQUS_RECOMMENDATIONS;\n } catch (error) {\n window.DISQUS_RECOMMENDATIONS = undefined;\n }\n var recommendations = window.document.getElementById(_constants.RECOMMENDATIONS_ID);\n if (recommendations) {\n while (recommendations.hasChildNodes()) {\n recommendations.removeChild(recommendations.firstChild);\n }\n }\n (0, _utils.removeResources)();\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props,\n shortname = _this$props.shortname,\n config = _this$props.config,\n rest = _objectWithoutProperties(_this$props, [\"shortname\", \"config\"]);\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, rest, {\n id: _constants.RECOMMENDATIONS_ID\n }));\n }\n }]);\n return Recommendations;\n}(_react[\"default\"].Component);\nexports.Recommendations = Recommendations;\nRecommendations.propTypes = {\n shortname: _propTypes[\"default\"].string.isRequired,\n config: _propTypes[\"default\"].shape({\n identifier: _propTypes[\"default\"].string,\n url: _propTypes[\"default\"].string,\n title: _propTypes[\"default\"].string,\n language: _propTypes[\"default\"].string\n })\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CALLBACKS = exports.RECOMMENDATIONS_SCRIPT_ID = exports.RECOMMENDATIONS_ID = exports.COMMENT_EMBED_HEIGHT = exports.COMMENT_EMBED_WIDTH = exports.COMMENT_COUNT_SCRIPT_ID = exports.COMMENT_COUNT_CLASS = exports.EMBED_SCRIPT_ID = exports.THREAD_ID = void 0;\nvar THREAD_ID = 'disqus_thread';\nexports.THREAD_ID = THREAD_ID;\nvar EMBED_SCRIPT_ID = 'dsq-embed-scr';\nexports.EMBED_SCRIPT_ID = EMBED_SCRIPT_ID;\nvar COMMENT_COUNT_CLASS = 'disqus-comment-count';\nexports.COMMENT_COUNT_CLASS = COMMENT_COUNT_CLASS;\nvar COMMENT_COUNT_SCRIPT_ID = 'dsq-count-scr';\nexports.COMMENT_COUNT_SCRIPT_ID = COMMENT_COUNT_SCRIPT_ID;\nvar COMMENT_EMBED_WIDTH = 420;\nexports.COMMENT_EMBED_WIDTH = COMMENT_EMBED_WIDTH;\nvar COMMENT_EMBED_HEIGHT = 320;\nexports.COMMENT_EMBED_HEIGHT = COMMENT_EMBED_HEIGHT;\nvar RECOMMENDATIONS_ID = 'disqus_recommendations';\nexports.RECOMMENDATIONS_ID = RECOMMENDATIONS_ID;\nvar RECOMMENDATIONS_SCRIPT_ID = 'dsq-recs-scr';\nexports.RECOMMENDATIONS_SCRIPT_ID = RECOMMENDATIONS_SCRIPT_ID;\nvar CALLBACKS = ['preData', 'preInit', 'onInit', 'onReady', 'afterRender', 'preReset', 'onIdentify', 'beforeComment', 'onNewComment', 'onPaginate'];\nexports.CALLBACKS = CALLBACKS;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"CommentCount\", {\n enumerable: true,\n get: function get() {\n return _CommentCount.CommentCount;\n }\n});\nObject.defineProperty(exports, \"CommentEmbed\", {\n enumerable: true,\n get: function get() {\n return _CommentEmbed.CommentEmbed;\n }\n});\nObject.defineProperty(exports, \"DiscussionEmbed\", {\n enumerable: true,\n get: function get() {\n return _DiscussionEmbed.DiscussionEmbed;\n }\n});\nObject.defineProperty(exports, \"Recommendations\", {\n enumerable: true,\n get: function get() {\n return _Recommendations.Recommendations;\n }\n});\nexports[\"default\"] = void 0;\nvar _CommentCount = require(\"./CommentCount\");\nvar _CommentEmbed = require(\"./CommentEmbed\");\nvar _DiscussionEmbed = require(\"./DiscussionEmbed\");\nvar _Recommendations = require(\"./Recommendations\");\nvar Disqus = {\n CommentCount: _CommentCount.CommentCount,\n CommentEmbed: _CommentEmbed.CommentEmbed,\n DiscussionEmbed: _DiscussionEmbed.DiscussionEmbed,\n Recommendations: _Recommendations.Recommendations\n};\nvar _default = Disqus;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.insertScript = insertScript;\nexports.removeScript = removeScript;\nexports.removeResources = removeResources;\nexports.debounce = debounce;\nexports.isReactElement = isReactElement;\nexports.shallowComparison = shallowComparison;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) {\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction insertScript(src, id, parentElement) {\n var script = window.document.createElement('script');\n script.async = true;\n script.src = src;\n script.id = id;\n parentElement.appendChild(script);\n return script;\n}\nfunction removeScript(id, parentElement) {\n var script = window.document.getElementById(id);\n if (script) parentElement.removeChild(script);\n}\nfunction removeResources() {\n // Remove the bundles that the Disqus scripts add to prevent duplicated resources when navigating between pages\n var disqusResources = window.document.querySelectorAll(\n // eslint-disable-next-line max-len\n 'link[href*=\"disquscdn.com/next/embed\"], link[href*=\"disquscdn.com/next/recommendations\"], link[href*=\"disqus.com/next/config.js\"], script[src*=\"disquscdn.com/next/embed\"], script[src*=\"disqus.com/count-data.js\"], iframe[title=\"Disqus\"]');\n disqusResources.forEach(function (el) {\n return el.remove();\n });\n}\nfunction debounce(func, wait, runOnFirstCall) {\n var timeout;\n return function () {\n var context = this; // eslint-disable-line consistent-this\n\n var args = arguments;\n var deferredExecution = function deferredExecution() {\n timeout = null;\n if (!runOnFirstCall) func.apply(context, args);\n };\n var callNow = runOnFirstCall && !timeout;\n window.clearTimeout(timeout);\n timeout = setTimeout(deferredExecution, wait);\n if (callNow) func.apply(context, args);\n };\n}\nfunction isReactElement(element) {\n if (_react[\"default\"].isValidElement(element)) {\n return true;\n } else if (Array.isArray(element)) {\n return element.some(function (value) {\n return _react[\"default\"].isValidElement(value);\n });\n }\n return false;\n}\nfunction shallowComparison(currentProps, nextProps) {\n // Perform a comparison of all props, excluding React Elements, to prevent unnecessary updates\n var propNames = new Set(Object.keys(currentProps), Object.keys(nextProps)); // eslint-disable-line no-undef\n\n var _iterator = _createForOfIteratorHelper(propNames),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var name = _step.value;\n if (_typeof(currentProps[name]) === 'object') {\n if (shallowComparison(currentProps[name], nextProps[name])) return true;\n } else if (currentProps[name] !== nextProps[name] && !isReactElement(currentProps[name])) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return false;\n}","import React, { Fragment } from 'react'\nimport styled from 'styled-components'\nimport TagList from './TagList'\n\nconst Header = styled.header`\n margin-bottom: 2rem;\n color: #787676;\n`\n\nclass ContentIntro extends React.Component {\n render() {\n const { date, tags } = this.props\n\n return (\n \n {date && {date} }\n {Array.isArray(tags) && tags.length > 0 && (\n \n \n \n )}\n \n )\n }\n}\n\nexport default ContentIntro\n","import React from 'react'\nimport styled from 'styled-components'\nimport ContentHeader from './ContentHeader'\n\nconst ContentBody = styled.div`\n line-height: 1.6;\n\n\n & > *:first-child {\n padding-top: 0;\n margin-top: 0;\n }\n\n & > h1 {\n margin-top: 3rem;\n font-size: 2em;\n }\n\n & > h2 {\n margin-top: 3rem;\n font-size: 1.5em;\n }\n\n & > h3 {\n padding-top: 3rem;\n font-size: 1.17em;\n }\n\n & > p {\n margin: 1em 0 0 0;\n }\n\n & a {\n border-bottom: 1px dotted rgba(162, 162, 162, 0.8);\n\n &:hover {\n border-bottom-style: solid;\n }\n\n &.anchor,\n &.gatsby-resp-image-link {\n border: none;\n }\n }\n\n & > blockquote {\n box-sizing: border-box;\n margin: 1.75em 0 1.75em -2.2em;\n padding: 0 0 0 1.75em;\n border-left: 0.4em solid rgba(32, 35, 42, 0.85);\n }\n\n & > blockquote p {\n margin: 0.8em 0;\n font-style: italic;\n }\n\n & .gatsby-highlight {\n border-radius: 5px;\n font-size: 15px;\n line-height: 1.7;\n background: #2d2d2d;\n color: #ffffff;\n border-radius: 10px;\n overflow: auto;\n tab-size: 1.5em;\n margin: 1.5em 0em 1.5em 0;\n font-size: 0.7em;\n }\n\n & .gatsby-highlight > pre {\n border: 0;\n margin: 0;\n padding: 1;\n }\n\n & .gatsby-highlight-code-line {\n background-color: #022a4b;\n display: block;\n margin-right: -1em;\n margin-left: -1em;\n padding-right: 1em;\n padding-left: 0.75em;\n border-left: 0.25em solid #ffa7c4;\n }\n\n & p > code.language-text,\n & li > code.language-text {\n background: rgba(255, 229, 100, 0.2);\n color: #222222cc;\n padding: 0 3px;\n font-size: 0.94em;\n border-radius: 0.3rem;\n }\n\n & table {\n margin-top: 1em;\n border-collapse: collapse;\n border-radius: 0.5em;\n overflow: hidden;\n\n & th,\n & td {\n padding: 0.5em;\n background: #e8e8e8;\n border-bottom: 2px solid white;\n }\n }\n\n & :not(pre) a code[class*='language-'] {\n color: #222222cc;\n background-color: rgba(255, 229, 100, 0.2);\n }\n`\n\nclass Content extends React.Component {\n render() {\n const { content, tags } = this.props\n\n return (\n \n )\n }\n}\n\nexport default Content\n","import React from 'react'\nimport Disqus from 'disqus-react'\n\nimport siteConfig from '../../data/siteConfig'\n\nclass DisqusWrapper extends React.Component {\n render() {\n const disqusShortname = siteConfig.disqusShortname\n if (!disqusShortname) {\n return null\n }\n\n const disqusSiteUrl = siteConfig.disqusSiteUrl\n const disqusConfig = {\n url: `${disqusSiteUrl}${this.props.slug}`,\n title: this.props.title,\n }\n\n return (\n \n )\n }\n}\n\nexport default DisqusWrapper\n","import React, { Fragment } from 'react'\nimport { withPrefix, Link } from 'gatsby'\nimport siteConfig from '../../data/siteConfig'\nimport styled from 'styled-components'\n\nconst HeroContainer = styled.div`\n position: relative;\n display: table;\n width: 100%;\n height: 340px;\n overflow: hidden;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n`\n\nconst TitleContainer = styled.div`\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n width: 100%;\n`\n\nconst LocationContainer = styled.div`\n display: table-footer-group;\n vertical-align: center;\n text-align: right;\n width: 100%;\n`\n\nconst HeroTitle = styled.h1`\n font-size: 3.5rem;\n margin: 10px 60px;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-weight: 800;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n`\n\nconst HeroSubtitle = styled.h2`\n font-size: 1.7rem;\n margin: 10px 60px;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n`\n\nconst DateAndAuthor = styled.span`\n font-weight: 500;\n font-size: 1.2rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n`\n\nconst AuthorLink = styled(Link)`\n margin-left: 0.3rem;\n font-weight: 500;\n font-size: 1.2rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n &:before {\n content: '@';\n }\n`\n\nconst LocationLink = styled.a`\n margin-right: 0.7rem;\n font-size: 0.9rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-size: 1rem;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-style: italic;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n`\n\nconst LocationMarker = styled.span`\n margin-right: 0.4rem;\n font-size: 0.75rem;\n color: #fff;\n text-shadow: 2px 2px #222222;\n font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n`\n\nclass Hero extends React.Component {\n render() {\n const heroImg = this.props.heroImg || withPrefix(siteConfig.siteCover)\n const { title } = this.props\n const { subtitle } = this.props\n const { date } = this.props\n const { authors } = this.props\n const { coverDescription } = this.props\n const { coverLink } = this.props\n\n return (\n \n \n {title} \n {subtitle} \n {authors && authors.length != 0 && (\n \n by:{' '}\n {authors &&\n authors.map((author, i) => {\n return (\n \n {author} \n {i < authors.length - 1 ? ' ' : ''}\n \n )\n })}\n on {date}\n \n )}\n \n {coverDescription && coverLink && (\n \n \n \n \n \n {coverDescription}\n \n \n )}\n \n )\n }\n}\n\nexport default Hero\n","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport styled from 'styled-components'\n\nconst ListContainer = styled.div`\n display: inline;\n margin: 0 0.5rem 0 0;\n color: #787676;\n`\n\nconst TagListItem = styled(Link)`\n margin-left: 0.3rem;\n\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n\n &:hover {\n border-bottom: 1px dotted #787676;\n }\n`\n\nclass TagList extends React.Component {\n render() {\n const { tags, icon } = this.props\n\n return (\n \n {icon === true}\n {tags.map((tag, i) => {\n return (\n \n \n {tag}\n \n {i < tags.length - 1 ? ' ' : ''}\n \n )\n })}\n \n )\n }\n}\nexport default TagList\n"],"names":["Object","defineProperty","exports","value","CommentCount","_react","_interopRequireDefault","_propTypes","_utils","_constants","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_extends","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","enumerable","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","getPrototypeOf","queueResetCount","debounce","window","DISQUSWIDGETS","getCount","reset","_React$Component","subClass","superClass","create","_inherits","protoProps","staticProps","_super","loadInstance","nextProps","shallowComparison","prevProps","shortname","cleanInstance","doc","document","getElementById","COMMENT_COUNT_SCRIPT_ID","insertScript","concat","body","removeScript","undefined","removeResources","_this$props","config","children","className","rest","additionalClass","createElement","COMMENT_COUNT_CLASS","identifier","url","Component","propTypes","string","isRequired","shape","title","node","CommentEmbed","post","Number","commentId","parentParam","showParentComment","mediaParam","showMedia","width","height","src","getSrc","seamless","scrolling","frameBorder","defaultProps","COMMENT_EMBED_WIDTH","COMMENT_EMBED_HEIGHT","bool","number","DiscussionEmbed","disqus_shortname","DISQUS","EMBED_SCRIPT_ID","reload","getDisqusConfig","disqus_config","error","disqusThread","THREAD_ID","hasChildNodes","removeChild","firstChild","_this","page","category_id","categoryID","remote_auth_s3","remoteAuthS3","api_key","apiKey","sso","language","CALLBACKS","forEach","callbackName","callbacks","id","preData","func","preInit","onInit","onReady","afterRender","preReset","onIdentify","beforeComment","onNewComment","onPaginate","name","button","icon","logout","profile_url","Recommendations","RECOMMENDATIONS_SCRIPT_ID","reloadInstance","DISQUS_RECOMMENDATIONS","recommendations","RECOMMENDATIONS_ID","_CommentCount","_CommentEmbed","_DiscussionEmbed","_Recommendations","_default","parentElement","script","async","appendChild","querySelectorAll","el","remove","wait","runOnFirstCall","timeout","context","args","deferredExecution","callNow","clearTimeout","setTimeout","isReactElement","currentProps","_step","_iterator","Array","isArray","minLen","_arrayLikeToArray","n","slice","from","test","_unsupportedIterableToArray","F","s","done","_e","f","it","err","normalCompletion","didErr","step","next","_e2","_createForOfIteratorHelper","Set","arr","len","arr2","element","isValidElement","some","Header","styled","ContentIntro","render","date","tags","Fragment","TagList","React","ContentBody","Content","content","ContentHeader","dangerouslySetInnerHTML","__html","DisqusWrapper","disqusShortname","siteConfig","disqusConfig","slug","HeroContainer","TitleContainer","LocationContainer","HeroTitle","HeroSubtitle","DateAndAuthor","AuthorLink","Link","LocationLink","LocationMarker","Hero","heroImg","withPrefix","subtitle","authors","coverDescription","coverLink","style","backgroundImage","map","author","to","href","ListContainer","TagListItem","tag"],"sourceRoot":""}
\ No newline at end of file
diff --git a/777cf710-22ba04ebd4a029a4d41a.js b/777cf710-22ba04ebd4a029a4d41a.js
new file mode 100644
index 00000000..23ffbf9f
--- /dev/null
+++ b/777cf710-22ba04ebd4a029a4d41a.js
@@ -0,0 +1,2 @@
+(self.webpackChunk_040_code=self.webpackChunk_040_code||[]).push([[663],{4048:function(t,e,n){n(4944),n(3792),window.eve=n(3509);var r=function(t){var e,n={},r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,16,(new Date).getTime()),!0},i=Array.isArray||function(t){return t instanceof Array||"[object Array]"==Object.prototype.toString.call(t)},a=0,o="M"+(+new Date).toString(36),s=Date.now||function(){return+new Date},u=function(t){var e=this;if(null==t)return e.s;var n=e.s-t;e.b+=e.dur*n,e.B+=e.dur*n,e.s=t},l=function(t){if(null==t)return this.spd;this.spd=t},c=function(t){var e=this;if(null==t)return e.dur;e.s=e.s*t/e.dur,e.dur=t},h=function(){var e=this;delete n[e.id],e.update(),t("mina.stop."+e.id,e)},f=function(){var t=this;t.pdif||(delete n[t.id],t.update(),t.pdif=t.get()-t.b)},d=function(){var t=this;t.pdif&&(t.b=t.get()-t.pdif,delete t.pdif,n[t.id]=t,g())},p=function(){var t,e=this;if(i(e.start)){t=[];for(var n=0,r=e.start.length;n=1&&(delete n[s],u.s=1,o--,function(e){setTimeout((function(){t("mina.finish."+e.id,e)}))}(u)),u.update()}e=!!o&&r(i)}else e||(e=r(i))},v=function t(e,r,i,s,v,m,y){var x={id:o+(a++).toString(36),start:e,end:r,b:i,s:0,dur:s-i,spd:1,get:v,set:m,easing:y||t.linear,status:u,speed:l,duration:c,stop:h,pause:f,resume:d,update:p};n[x.id]=x;var b,F=0;for(b in n)if(n.hasOwnProperty(b)&&2==++F)break;return 1==F&&g(),x};return v.time=s,v.getById=function(t){return n[t]||null},v.linear=function(t){return t},v.easeout=function(t){return Math.pow(t,1.7)},v.easein=function(t){return Math.pow(t,.48)},v.easeinout=function(t){if(1==t)return 1;if(0==t)return 0;var e=.48-t/1.04,n=Math.sqrt(.1734+e*e),r=n-e,i=-n-e,a=Math.pow(Math.abs(r),1/3)*(r<0?-1:1)+Math.pow(Math.abs(i),1/3)*(i<0?-1:1)+.5;return 3*(1-a)*a*a+a*a*a},v.backin=function(t){if(1==t)return 1;var e=1.70158;return t*t*((e+1)*t-e)},v.backout=function(t){if(0==t)return 0;var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},v.elastic=function(t){return t==!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1},v.bounce=function(t){var e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},window.mina=v,v}("undefined"==typeof eve?function(){}:eve),i=function(t){function e(t,r){if(t){if(t.nodeType)return $(t);if(D(t,"array")&&e.set)return e.set.apply(e,t);if(t instanceof z)return t;if(null==r)try{return $(t=n.doc.querySelector(String(t)))}catch(i){return null}}return new I(t=null==t?"100%":t,r=null==r?"100%":r)}e.version="0.5.1",e.toString=function(){return"Snap v"+this.version},e._={};var n={win:t.window,doc:t.window.document};e._.glob=n;var r,i,a="hasOwnProperty",o=String,s=parseFloat,u=parseInt,l=Math,c=l.max,h=l.min,f=l.abs,d=(l.pow,l.PI),p=(l.round,Object.prototype.toString),v=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i,m=(e._.separator=/[,\s]+/,/[\s]*,[\s]*/),y={hs:1,rg:1},x=/([a-z])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi,b=/([rstm])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi,F=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\s]*,?[\s]*/gi,C=0,w="S"+(+new Date).toString(36),B=function(t){return(t&&t.type?t.type:"")+w+(C++).toString(36)},A="http://www.w3.org/1999/xlink",E="http://www.w3.org/2000/svg",S={};e.url=function(t){return"url('#"+t+"')"};function k(t,e){if(e){if("#text"==t&&(t=n.doc.createTextNode(e.text||e["#text"]||"")),"#comment"==t&&(t=n.doc.createComment(e.text||e["#text"]||"")),"string"==typeof t&&(t=k(t)),"string"==typeof e)return 1==t.nodeType?"xlink:"==e.substring(0,6)?t.getAttributeNS(A,e.substring(6)):"xml:"==e.substring(0,4)?t.getAttributeNS(E,e.substring(4)):t.getAttribute(e):"text"==e?t.nodeValue:null;if(1==t.nodeType){for(var r in e)if(e[a](r)){var i=o(e[r]);i?"xlink:"==r.substring(0,6)?t.setAttributeNS(A,r.substring(6),i):"xml:"==r.substring(0,4)?t.setAttributeNS(E,r.substring(4),i):t.setAttribute(r,i):t.removeAttribute(r)}}else"text"in e&&(t.nodeValue=e.text)}else t=n.doc.createElementNS(E,t);return t}function D(t,e){return"finite"==(e=o.prototype.toLowerCase.call(e))?isFinite(t):!("array"!=e||!(t instanceof Array||Array.isArray&&Array.isArray(t)))||("null"==e&&null===t||e==typeof t&&null!==t||"object"==e&&t===Object(t)||p.call(t).slice(8,-1).toLowerCase()==e)}function _(t,e){for(var n=0,r=t.length;n=1e3&&delete s[u.shift()],u.push(o),s[o]=t.apply(e,i),n?n(s[o]):s[o])}}function M(t){return t%360*d/180}e._.$=k,e._.id=B,e.format=(r=/\{([^\}]+)\}/g,i=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,function(t,e){return o(t).replace(r,(function(t,n){return function(t,e,n){var r=n;return e.replace(i,(function(t,e,n,i,a){e=e||i,r&&(e in r&&(r=r[e]),"function"==typeof r&&a&&(r=r()))})),r=(null==r||r==n?t:r)+""}(t,n,e)}))}),e._.clone=function t(e){if("function"==typeof e||Object(e)!==e)return e;var n=new e.constructor;for(var r in e)e[a](r)&&(n[r]=t(e[r]));return n},e._.cacher=T,e.rad=M,e.deg=function(t){return 180*t/d%360},e.sin=function(t){return l.sin(e.rad(t))},e.tan=function(t){return l.tan(e.rad(t))},e.cos=function(t){return l.cos(e.rad(t))},e.asin=function(t){return e.deg(l.asin(t))},e.acos=function(t){return e.deg(l.acos(t))},e.atan=function(t){return e.deg(l.atan(t))},e.atan2=function(t){return e.deg(l.atan2(t))},e.angle=function t(e,n,r,i,a,o){if(null==a){var s=e-r,u=n-i;return s||u?(180+180*l.atan2(-u,-s)/d+360)%360:0}return t(e,n,a,o)-t(r,i,a,o)},e.len=function(t,n,r,i){return Math.sqrt(e.len2(t,n,r,i))},e.len2=function(t,e,n,r){return(t-n)*(t-n)+(e-r)*(e-r)},e.closestPoint=function(t,e,n){function r(t){var r=t.x-e,i=t.y-n;return r*r+i*i}for(var i,a,o,s,u=t.node,l=u.getTotalLength(),c=l/u.pathSegList.numberOfItems*.125,h=1/0,f=0;f<=l;f+=c)(s=r(o=u.getPointAtLength(f))).5;){var d,p,g,v,m,y;(g=a-c)>=0&&(m=r(d=u.getPointAtLength(g)))t-n)return e-i+t}return e},e.getRGB=T((function(t){if(!t||(t=o(t)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:L};if("none"==t)return{r:-1,g:-1,b:-1,hex:"none",toString:L};if(!y[a](t.toLowerCase().substring(0,2))&&"#"!=t.charAt()&&(t=N(t)),!t)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:L};var n,r,i,f,d,p,g=t.match(v);return g?(g[2]&&(i=u(g[2].substring(5),16),r=u(g[2].substring(3,5),16),n=u(g[2].substring(1,3),16)),g[3]&&(i=u((d=g[3].charAt(3))+d,16),r=u((d=g[3].charAt(2))+d,16),n=u((d=g[3].charAt(1))+d,16)),g[4]&&(p=g[4].split(m),n=s(p[0]),"%"==p[0].slice(-1)&&(n*=2.55),r=s(p[1]),"%"==p[1].slice(-1)&&(r*=2.55),i=s(p[2]),"%"==p[2].slice(-1)&&(i*=2.55),"rgba"==g[1].toLowerCase().slice(0,4)&&(f=s(p[3])),p[3]&&"%"==p[3].slice(-1)&&(f/=100)),g[5]?(p=g[5].split(m),n=s(p[0]),"%"==p[0].slice(-1)&&(n/=100),r=s(p[1]),"%"==p[1].slice(-1)&&(r/=100),i=s(p[2]),"%"==p[2].slice(-1)&&(i/=100),("deg"==p[0].slice(-3)||"°"==p[0].slice(-1))&&(n/=360),"hsba"==g[1].toLowerCase().slice(0,4)&&(f=s(p[3])),p[3]&&"%"==p[3].slice(-1)&&(f/=100),e.hsb2rgb(n,r,i,f)):g[6]?(p=g[6].split(m),n=s(p[0]),"%"==p[0].slice(-1)&&(n/=100),r=s(p[1]),"%"==p[1].slice(-1)&&(r/=100),i=s(p[2]),"%"==p[2].slice(-1)&&(i/=100),("deg"==p[0].slice(-3)||"°"==p[0].slice(-1))&&(n/=360),"hsla"==g[1].toLowerCase().slice(0,4)&&(f=s(p[3])),p[3]&&"%"==p[3].slice(-1)&&(f/=100),e.hsl2rgb(n,r,i,f)):(n=h(l.round(n),255),r=h(l.round(r),255),i=h(l.round(i),255),f=h(c(f,0),1),(g={r:n,g:r,b:i,toString:L}).hex="#"+(16777216|i|r<<8|n<<16).toString(16).slice(1),g.opacity=D(f,"finite")?f:1,g)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:L}}),e),e.hsb=T((function(t,n,r){return e.hsb2rgb(t,n,r).hex})),e.hsl=T((function(t,n,r){return e.hsl2rgb(t,n,r).hex})),e.rgb=T((function(t,e,n,r){if(D(r,"finite")){var i=l.round;return"rgba("+[i(t),i(e),i(n),+r.toFixed(2)]+")"}return"#"+(16777216|n|e<<8|t<<16).toString(16).slice(1)}));var N=function(t){var e=n.doc.getElementsByTagName("head")[0]||n.doc.getElementsByTagName("svg")[0],r="rgb(255, 0, 0)";return N=T((function(t){if("red"==t.toLowerCase())return r;e.style.color=r,e.style.color=t;var i=n.doc.defaultView.getComputedStyle(e,"").getPropertyValue("color");return i==r?null:i})),N(t)},j=function(){return"hsb("+[this.h,this.s,this.b]+")"},P=function(){return"hsl("+[this.h,this.s,this.l]+")"},L=function(){return 1==this.opacity||null==this.opacity?this.hex:"rgba("+[this.r,this.g,this.b,this.opacity]+")"},q=function(t,n,r){if(null==n&&D(t,"object")&&"r"in t&&"g"in t&&"b"in t&&(r=t.b,n=t.g,t=t.r),null==n&&D(t,string)){var i=e.getRGB(t);t=i.r,n=i.g,r=i.b}return(t>1||n>1||r>1)&&(t/=255,n/=255,r/=255),[t,n,r]},V=function(t,n,r,i){var a={r:t=l.round(255*t),g:n=l.round(255*n),b:r=l.round(255*r),opacity:D(i,"finite")?i:1,hex:e.rgb(t,n,r),toString:L};return D(i,"finite")&&(a.opacity=i),a};e.color=function(t){var n;return D(t,"object")&&"h"in t&&"s"in t&&"b"in t?(n=e.hsb2rgb(t),t.r=n.r,t.g=n.g,t.b=n.b,t.opacity=1,t.hex=n.hex):D(t,"object")&&"h"in t&&"s"in t&&"l"in t?(n=e.hsl2rgb(t),t.r=n.r,t.g=n.g,t.b=n.b,t.opacity=1,t.hex=n.hex):(D(t,"string")&&(t=e.getRGB(t)),D(t,"object")&&"r"in t&&"g"in t&&"b"in t&&!("error"in t)?(n=e.rgb2hsl(t),t.h=n.h,t.s=n.s,t.l=n.l,n=e.rgb2hsb(t),t.v=n.b):((t={hex:"none"}).r=t.g=t.b=t.h=t.s=t.v=t.l=-1,t.error=1)),t.toString=L,t},e.hsb2rgb=function(t,e,n,r){var i,a,o,s,u;return D(t,"object")&&"h"in t&&"s"in t&&"b"in t&&(n=t.b,e=t.s,r=t.o,t=t.h),s=(u=n*e)*(1-f((t=(t*=360)%360/60)%2-1)),i=a=o=n-u,V(i+=[u,s,0,0,s,u][t=~~t],a+=[s,u,u,s,0,0][t],o+=[0,0,s,u,u,s][t],r)},e.hsl2rgb=function(t,e,n,r){var i,a,o,s,u;return D(t,"object")&&"h"in t&&"s"in t&&"l"in t&&(n=t.l,e=t.s,t=t.h),(t>1||e>1||n>1)&&(t/=360,e/=100,n/=100),s=(u=2*e*(n<.5?n:1-n))*(1-f((t=(t*=360)%360/60)%2-1)),i=a=o=n-u/2,V(i+=[u,s,0,0,s,u][t=~~t],a+=[s,u,u,s,0,0][t],o+=[0,0,s,u,u,s][t],r)},e.rgb2hsb=function(t,e,n){var r,i;return t=(n=q(t,e,n))[0],e=n[1],n=n[2],{h:((0==(i=(r=c(t,e,n))-h(t,e,n))?null:r==t?(e-n)/i:r==e?(n-t)/i+2:(t-e)/i+4)+360)%6*60/360,s:0==i?0:i/r,b:r,toString:j}},e.rgb2hsl=function(t,e,n){var r,i,a,o;return t=(n=q(t,e,n))[0],e=n[1],n=n[2],r=((i=c(t,e,n))+(a=h(t,e,n)))/2,{h:((0==(o=i-a)?null:i==t?(e-n)/o:i==e?(n-t)/o+2:(t-e)/o+4)+360)%6*60/360,s:0==o?0:r<.5?o/(2*r):o/(2-2*r),l:r,toString:P}},e.parsePathString=function(t){if(!t)return null;var n=e.path(t);if(n.arr)return e.path.clone(n.arr);var r={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},i=[];return D(t,"array")&&D(t[0],"array")&&(i=e.path.clone(t)),i.length||o(t).replace(x,(function(t,e,n){var a=[],o=e.toLowerCase();if(n.replace(F,(function(t,e){e&&a.push(+e)})),"m"==o&&a.length>2&&(i.push([e].concat(a.splice(0,2))),o="l",e="m"==e?"l":"L"),"o"==o&&1==a.length&&i.push([e,a[0]]),"r"==o)i.push([e].concat(a));else for(;a.length>=r[o]&&(i.push([e].concat(a.splice(0,r[o]))),r[o]););})),i.toString=e.path.toString,n.arr=e.path.clone(i),i};var O=e.parseTransformString=function(t){if(!t)return null;var n=[];return D(t,"array")&&D(t[0],"array")&&(n=e.path.clone(t)),n.length||o(t).replace(b,(function(t,e,r){var i=[];e.toLowerCase();r.replace(F,(function(t,e){e&&i.push(+e)})),n.push([e].concat(i))})),n.toString=e.path.toString,n};e._.svgTransform2string=function(t){var e=[];return t=t.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g,(function(t,n,r){return r=r.split(/\s*,\s*|\s+/),"rotate"==n&&1==r.length&&r.push(0,0),"scale"==n&&(r.length>2?r=r.slice(0,2):2==r.length&&r.push(0,0),1==r.length&&r.push(r[0],0,0)),"skewX"==n?e.push(["m",1,0,l.tan(M(r[0])),1,0,0]):"skewY"==n?e.push(["m",1,l.tan(M(r[0])),0,1,0,0]):e.push([n.charAt(0)].concat(r)),t})),e},e._.rgTransform=/^[a-z][\s]*-?\.?\d/i,e._.transform2matrix=function(t,n){var r=O(t),i=new e.Matrix;if(r)for(var a=0,s=r.length;a1))return eve("snap.util.getattr."+t,n).firstDefined();var l={};l[t]=e,t=l}for(var c in t)t[a](c)&&eve("snap.util.attr."+c,n,t[c]);return n},e.parse=function(t){var e=n.doc.createDocumentFragment(),r=!0,i=n.doc.createElement("div");if((t=o(t)).match(/^\s*<\s*svg(?:\s|>)/)||(t=""+t+" ",r=!1),i.innerHTML=t,t=i.getElementsByTagName("svg")[0])if(r)e=t;else for(;t.firstChild;)e.appendChild(t.firstChild);return new U(e)},e.fragment=function(){for(var t=Array.prototype.slice.call(arguments,0),r=n.doc.createDocumentFragment(),i=0,a=t.length;i"),i=0,a=r.length;i ")}else t&&(e+="/>");return e}}a.data=function(e,n){var r=v[this.id]=v[this.id]||{};if(0==arguments.length)return eve("snap.data.get."+this.id,this,r,null),r;if(1==arguments.length){if(t.is(e,"object")){for(var i in e)e[f](i)&&this.data(i,e[i]);return this}return eve("snap.data.get."+this.id,this,r[e],e),r[e]}return r[e]=n,eve("snap.data.set."+this.id,this,n,e),this},a.removeData=function(t){return null==t?v[this.id]={}:v[this.id]&&delete v[this.id][t],this},a.outerSVG=a.toString=m(1),a.innerSVG=m(),a.toDataURL=function(){if(window&&window.btoa){var e=this.getBBox(),n=t.format('{contents} ',{x:+e.x.toFixed(3),y:+e.y.toFixed(3),width:+e.width.toFixed(3),height:+e.height.toFixed(3),contents:this.outerSVG()});return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(n)))}},i.prototype.select=a.select,i.prototype.selectAll=a.selectAll})),i.plugin((function(t,e,n,r,i){var a=Object.prototype.toString,o=String,s=Math;function u(t,e,n,r,i,o){if(null==e&&"[object SVGMatrix]"==a.call(t))return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.e=t.e,void(this.f=t.f);null!=t?(this.a=+t,this.b=+e,this.c=+n,this.d=+r,this.e=+i,this.f=+o):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}!function(e){function n(t){return t[0]*t[0]+t[1]*t[1]}function r(t){var e=s.sqrt(n(t));t[0]&&(t[0]/=e),t[1]&&(t[1]/=e)}e.add=function(t,e,n,r,i,a){if(t&&t instanceof u)return this.add(t.a,t.b,t.c,t.d,t.e,t.f);var o=t*this.a+e*this.c,s=t*this.b+e*this.d;return this.e+=i*this.a+a*this.c,this.f+=i*this.b+a*this.d,this.c=n*this.a+r*this.c,this.d=n*this.b+r*this.d,this.a=o,this.b=s,this},u.prototype.multLeft=function(t,e,n,r,i,a){if(t&&t instanceof u)return this.multLeft(t.a,t.b,t.c,t.d,t.e,t.f);var o=t*this.a+n*this.b,s=t*this.c+n*this.d,l=t*this.e+n*this.f+i;return this.b=e*this.a+r*this.b,this.d=e*this.c+r*this.d,this.f=e*this.e+r*this.f+a,this.a=o,this.c=s,this.e=l,this},e.invert=function(){var t=this,e=t.a*t.d-t.b*t.c;return new u(t.d/e,-t.b/e,-t.c/e,t.a/e,(t.c*t.f-t.d*t.e)/e,(t.b*t.e-t.a*t.f)/e)},e.clone=function(){return new u(this.a,this.b,this.c,this.d,this.e,this.f)},e.translate=function(t,e){return this.e+=t*this.a+e*this.c,this.f+=t*this.b+e*this.d,this},e.scale=function(t,e,n,r){return null==e&&(e=t),(n||r)&&this.translate(n,r),this.a*=t,this.b*=t,this.c*=e,this.d*=e,(n||r)&&this.translate(-n,-r),this},e.rotate=function(e,n,r){e=t.rad(e),n=n||0,r=r||0;var i=+s.cos(e).toFixed(9),a=+s.sin(e).toFixed(9);return this.add(i,a,-a,i,n,r),this.add(1,0,0,1,-n,-r)},e.skewX=function(t){return this.skew(t,0)},e.skewY=function(t){return this.skew(0,t)},e.skew=function(e,n){e=e||0,n=n||0,e=t.rad(e),n=t.rad(n);var r=s.tan(e).toFixed(9),i=s.tan(n).toFixed(9);return this.add(1,i,r,1,0,0)},e.x=function(t,e){return t*this.a+e*this.c+this.e},e.y=function(t,e){return t*this.b+e*this.d+this.f},e.get=function(t){return+this[o.fromCharCode(97+t)].toFixed(4)},e.toString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"},e.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},e.determinant=function(){return this.a*this.d-this.b*this.c},e.split=function(){var e={};e.dx=this.e,e.dy=this.f;var i=[[this.a,this.b],[this.c,this.d]];e.scalex=s.sqrt(n(i[0])),r(i[0]),e.shear=i[0][0]*i[1][0]+i[0][1]*i[1][1],i[1]=[i[1][0]-i[0][0]*e.shear,i[1][1]-i[0][1]*e.shear],e.scaley=s.sqrt(n(i[1])),r(i[1]),e.shear/=e.scaley,this.determinant()<0&&(e.scalex=-e.scalex);var a=i[0][1],o=i[1][1];return o<0?(e.rotate=t.deg(s.acos(o)),a<0&&(e.rotate=360-e.rotate)):e.rotate=t.deg(s.asin(a)),e.isSimple=!(+e.shear.toFixed(9)||e.scalex.toFixed(9)!=e.scaley.toFixed(9)&&e.rotate),e.isSuperSimple=!+e.shear.toFixed(9)&&e.scalex.toFixed(9)==e.scaley.toFixed(9)&&!e.rotate,e.noRotation=!+e.shear.toFixed(9)&&!e.rotate,e},e.toTransformString=function(t){var e=t||this.split();return+e.shear.toFixed(9)?"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(e.scalex=+e.scalex.toFixed(4),e.scaley=+e.scaley.toFixed(4),e.rotate=+e.rotate.toFixed(4),(e.dx||e.dy?"t"+[+e.dx.toFixed(4),+e.dy.toFixed(4)]:"")+(e.rotate?"r"+[+e.rotate.toFixed(4),0,0]:"")+(1!=e.scalex||1!=e.scaley?"s"+[e.scalex,e.scaley,0,0]:""))}}(u.prototype),t.Matrix=u,t.matrix=function(t,e,n,r,i,a){return new u(t,e,n,r,i,a)}})),i.plugin((function(t,e,n,r,i){var a,o=t._.make,s=t._.wrap,u=t.is,l=t._.getSomeDefs,c=/^url\((['"]?)([^)]+)\1\)$/,h=t._.$,f=t.url,d=String,p=t._.separator;function g(n){return function(r){if(eve.stop(),r instanceof i&&1==r.node.childNodes.length&&("radialGradient"==r.node.firstChild.tagName||"linearGradient"==r.node.firstChild.tagName||"pattern"==r.node.firstChild.tagName)&&(r=r.node.firstChild,l(this).appendChild(r),r=s(r)),r instanceof e)if("radialGradient"==r.type||"linearGradient"==r.type||"pattern"==r.type){r.node.id||h(r.node,{id:r.id});var a=f(r.node.id)}else a=r.attr(n);else if((a=t.color(r)).error){var o=t(l(this).ownerSVGElement).gradient(r);o?(o.node.id||h(o.node,{id:o.id}),a=f(o.node.id)):a=r}else a=d(a);var u={};u[n]=a,h(this.node,u),this.node.style[n]=""}}t.deurl=function(t){var e=String(t).match(c);return e?e[2]:t},eve.on("snap.util.attr.mask",(function(t){if(t instanceof e||t instanceof i){if(eve.stop(),t instanceof i&&1==t.node.childNodes.length&&(t=t.node.firstChild,l(this).appendChild(t),t=s(t)),"mask"==t.type)var n=t;else(n=o("mask",l(this))).node.appendChild(t.node);!n.node.id&&h(n.node,{id:n.id}),h(this.node,{mask:f(n.id)})}})),a=function(t){if(t instanceof e||t instanceof i){eve.stop();for(var n,r=t.node;r;){if("clipPath"===r.nodeName){n=new e(r);break}if("svg"===r.nodeName){n=void 0;break}r=r.parentNode}n||((n=o("clipPath",l(this))).node.appendChild(t.node),!n.node.id&&h(n.node,{id:n.id})),h(this.node,{"clip-path":f(n.node.id||n.id)})}},eve.on("snap.util.attr.clip",a),eve.on("snap.util.attr.clip-path",a),eve.on("snap.util.attr.clipPath",a),eve.on("snap.util.attr.fill",g("fill")),eve.on("snap.util.attr.stroke",g("stroke"));var v=/^([lr])(?:\(([^)]*)\))?(.*)$/i;function m(t){eve.stop(),t==+t&&(t+="px"),this.node.style.fontSize=t}function y(t){for(var e=[],n=t.childNodes,r=0,i=n.length;r1&&(t=Array.prototype.slice.call(arguments,0));var e={};return o(t,"object")&&!o(t,"array")?e=t:null!=t&&(e={points:t}),this.el("polyline",e)},a.polygon=function(t){arguments.length>1&&(t=Array.prototype.slice.call(arguments,0));var e={};return o(t,"object")&&!o(t,"array")?e=t:null!=t&&(e={points:t}),this.el("polygon",e)},function(){var e=t._.$;function n(){return this.selectAll("stop")}function r(n,r){var i=e("stop"),a={offset:+r+"%"};n=t.color(n),a["stop-color"]=n.hex,n.opacity<1&&(a["stop-opacity"]=n.opacity),e(i,a);for(var o,s=this.stops(),u=0;ur){this.node.insertBefore(i,s[u].node),o=!0;break}}return o||this.node.appendChild(i),this}function i(){if("linearGradient"==this.type){var n=e(this.node,"x1")||0,r=e(this.node,"x2")||1,i=e(this.node,"y1")||0,a=e(this.node,"y2")||0;return t._.box(n,i,math.abs(r-n),math.abs(a-i))}var o=this.node.cx||.5,s=this.node.cy||.5,u=this.node.r||0;return t._.box(o-u,s-u,2*u,2*u)}function o(e){var n=e,r=this.stops();if("string"==typeof e&&(n=eve("snap.util.grad.parse",null,"l(0,0,0,1)"+e).firstDefined().stops),t.is(n,"array")){for(var i=0;id;)l=D(t,e,n,r,i,a,o,s,f+=(la){if(r&&!d.start){if(f+=["C"+i((h=x(s,u,l[1],l[2],l[3],l[4],l[5],l[6],a-p)).start.x),i(h.start.y),i(h.m.x),i(h.m.y),i(h.x),i(h.y)],o)return f;d.start=f,f=["M"+i(h.x),i(h.y)+"C"+i(h.n.x),i(h.n.y),i(h.end.x),i(h.end.y),i(l[5]),i(l[6])].join(),p+=c,s=+l[5],u=+l[6];continue}if(!n&&!r)return h=x(s,u,l[1],l[2],l[3],l[4],l[5],l[6],a-p)}p+=c,s=+l[5],u=+l[6]}f+=l.shift()+l}return d.end=f,h=n?p:r?d:B(s,u,l[0],l[1],l[2],l[3],l[4],l[5],1)}),null,t._.clone)}var F=b(1),C=b(),w=b(0,1);function B(t,e,n,r,i,a,o,s,u){var h=1-u,f=d(h,3),p=d(h,2),g=u*u,v=g*u,m=t+2*u*(n-t)+g*(i-2*n+t),y=e+2*u*(r-e)+g*(a-2*r+e),x=n+2*u*(i-n)+g*(o-2*i+n),b=r+2*u*(a-r)+g*(s-2*a+r);return{x:f*t+3*p*u*n+3*h*u*u*i+v*o,y:f*e+3*p*u*r+3*h*u*u*a+v*s,m:{x:m,y:y},n:{x:x,y:b},start:{x:h*t+u*n,y:h*e+u*r},end:{x:h*i+u*o,y:h*a+u*s},alpha:90-180*l.atan2(m-x,y-b)/c}}function A(e,n,r,i,a,o,s,u){t.is(e,"array")||(e=[e,n,r,i,a,o,s,u]);var l=z.apply(null,e);return v(l.min.x,l.min.y,l.max.x-l.min.x,l.max.y-l.min.y)}function E(t,e,n){return e>=t.x&&e<=t.x+t.width&&n>=t.y&&n<=t.y+t.height}function S(t,e){return t=v(t),E(e=v(e),t.x,t.y)||E(e,t.x2,t.y)||E(e,t.x,t.y2)||E(e,t.x2,t.y2)||E(t,e.x,e.y)||E(t,e.x2,e.y)||E(t,e.x,e.y2)||E(t,e.x2,e.y2)||(t.xe.x||e.xt.x)&&(t.ye.y||e.yt.y)}function k(t,e,n,r,i){return t*(t*(-3*e+9*n-9*r+3*i)+6*e-12*n+6*r)-3*e+3*n}function D(t,e,n,r,i,a,o,s,u){null==u&&(u=1);for(var c=(u=u>1?1:u<0?0:u)/2,h=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],f=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,p=0;p<12;p++){var g=c*h[p]+c,v=k(g,t,n,i,o),m=k(g,e,r,a,s),y=v*v+m*m;d+=f[p]*l.sqrt(y)}return c*d}function _(t,e,n,r,i,a,o,s){if(!(f(t,n)f(i,o)||f(e,r)f(a,s))){var u=(t-n)*(a-s)-(e-r)*(i-o);if(u){var l=((t*r-e*n)*(i-o)-(t-n)*(i*s-a*o))/u,c=((t*r-e*n)*(a-s)-(e-r)*(i*s-a*o))/u,d=+l.toFixed(2),p=+c.toFixed(2);if(!(d<+h(t,n).toFixed(2)||d>+f(t,n).toFixed(2)||d<+h(i,o).toFixed(2)||d>+f(i,o).toFixed(2)||p<+h(e,r).toFixed(2)||p>+f(e,r).toFixed(2)||p<+h(a,s).toFixed(2)||p>+f(a,s).toFixed(2)))return{x:l,y:c}}}}function T(t,e,n){if(!S(A(t),A(e)))return n?0:[];for(var r=~~(D.apply(0,t)/8),i=~~(D.apply(0,e)/8),a=[],o=[],s={},u=n?0:[],l=0;l=0&&b<=1&&F>=0&&F<=1&&(n?u++:u.push({x:x.x,y:x.y,t1:b,t2:F}))}}return u}function M(t,e,n){t=U(t),e=U(e);for(var r,i,a,o,s,u,l,c,h,f,d=n?0:[],p=0,g=t.length;p180),0,s,e+n*Math.sin(-i*a)]];else u=[["M",t,e],["m",0,-r],["a",n,r,0,1,1,0,2*r],["a",n,r,0,1,1,0,-2*r],["z"]];return u.toString=m,u}var L=t._unit2px,q={path:function(t){return t.attr("path")},circle:function(t){var e=L(t);return P(e.cx,e.cy,e.r)},ellipse:function(t){var e=L(t);return P(e.cx||0,e.cy||0,e.rx,e.ry)},rect:function(t){var e=L(t);return j(e.x||0,e.y||0,e.width,e.height,e.rx,e.ry)},image:function(t){var e=L(t);return j(e.x||0,e.y||0,e.width,e.height)},line:function(t){return"M"+[t.attr("x1")||0,t.attr("y1")||0,t.attr("x2"),t.attr("y2")]},polyline:function(t){return"M"+t.attr("points")},polygon:function(t){return"M"+t.attr("points")+"z"},deflt:function(t){var e=t.node.getBBox();return j(e.x,e.y,e.width,e.height)}};function V(e){var n=g(e);if(n.abs)return y(n.abs);if(a(e,"array")&&a(e&&e[0],"array")||(e=t.parsePathString(e)),!e||!e.length)return[["M",0,0]];var r,i=[],o=0,s=0,u=0,l=0,c=0;"M"==e[0][0]&&(u=o=+e[0][1],l=s=+e[0][2],c++,i[0]=["M",o,s]);for(var h,f,d=3==e.length&&"M"==e[0][0]&&"R"==e[1][0].toUpperCase()&&"Z"==e[2][0].toUpperCase(),p=c,v=e.length;p1&&(r*=F=l.sqrt(F),i*=F);var C=r*r,w=i*i,B=(o==s?-1:1)*l.sqrt(p((C*w-C*b*b-w*x*x)/(C*b*b+w*x*x))),A=B*r*b/i+(e+u)/2,E=B*-i*x/r+(n+h)/2,S=l.asin(((n-E)/i).toFixed(9)),k=l.asin(((h-E)/i).toFixed(9));(S=ek&&(S-=2*c),!s&&k>S&&(k-=2*c)}var D=k-S;if(p(D)>g){var _=k,T=u,M=h;k=S+g*(s&&k>S?1:-1),m=R(u=A+r*l.cos(k),h=E+i*l.sin(k),r,i,a,0,s,T,M,[k,_,A,E])}D=k-S;var N=l.cos(S),j=l.sin(S),P=l.cos(k),L=l.sin(k),q=l.tan(D/4),V=4/3*r*q,O=4/3*i*q,G=[e,n],z=[e+V*j,n-O*N],U=[u+V*L,h-O*P],X=[u,h];if(z[0]=2*G[0]-z[0],z[1]=2*G[1]-z[1],f)return[z,U,X].concat(m);for(var I=[],$=0,H=(m=[z,U,X].concat(m).join().split(",")).length;$7){t[e].shift();for(var n=t[e];n.length;)h[e]="A",i&&(d[e]="A"),t.splice(e++,0,["C"].concat(n.splice(0,6)));t.splice(e,1),x=f(r.length,i&&i.length||0)}},c=function(t,e,n,a,o){t&&e&&"M"==t[o][0]&&"M"!=e[o][0]&&(e.splice(o,0,["M",a.x,a.y]),n.bx=0,n.by=0,n.x=t[o][1],n.y=t[o][2],x=f(r.length,i&&i.length||0))},h=[],d=[],p="",v="",m=0,x=f(r.length,i&&i.length||0);mr;r+=2){var a=[{x:+t[r-2],y:+t[r-1]},{x:+t[r],y:+t[r+1]},{x:+t[r+2],y:+t[r+3]},{x:+t[r+4],y:+t[r+5]}];e?r?i-4==r?a[3]={x:+t[0],y:+t[1]}:i-2==r&&(a[2]={x:+t[0],y:+t[1]},a[3]={x:+t[2],y:+t[3]}):a[0]={x:+t[i-2],y:+t[i-1]}:i-4==r?a[3]=a[2]:r||(a[0]={x:+t[r],y:+t[r+1]}),n.push(["C",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return n}t.path=g,t.path.getTotalLength=F,t.path.getPointAtLength=C,t.path.getSubpath=function(t,e,n){if(this.getTotalLength(t)-n<1e-6)return w(t,e).end;var r=w(t,n,1);return e?w(r,e).end:r},i.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()},i.getPointAtLength=function(t){return C(this.attr("d"),t)},i.getSubpath=function(e,n){return t.path.getSubpath(this.attr("d"),e,n)},t._.box=v,t.path.findDotsAtSegment=B,t.path.bezierBBox=A,t.path.isPointInsideBBox=E,t.closest=function(e,n,r,i){for(var a=100,o=v(e-a/2,n-a/2,a,a),s=[],u=r[0].hasOwnProperty("x")?function(t){return{x:r[t].x,y:r[t].y}}:function(t){return{x:r[t],y:i[t]}},l=0;a<=1e6&&!l;){for(var c=0,h=r.length;cg&&(p=g,s[c].len=g,d=s[c])}return d}},t.path.isBBoxIntersect=S,t.path.intersection=function(t,e){return M(t,e)},t.path.intersectionNumber=function(t,e){return M(t,e,1)},t.path.isPointInside=function(t,e,n){var r=N(t);return E(r,e,n)&&M(t,[["M",e,n],["H",r.x2+10]],1)%2==1},t.path.getBBox=N,t.path.get=q,t.path.toRelative=function(e){var n=g(e),r=String.prototype.toLowerCase;if(n.rel)return y(n.rel);t.is(e,"array")&&t.is(e&&e[0],"array")||(e=t.parsePathString(e));var i=[],a=0,o=0,s=0,u=0,l=0;"M"==e[0][0]&&(s=a=e[0][1],u=o=e[0][2],l++,i.push(["M",a,o]));for(var c=l,h=e.length;c ',{def:r})},t.filter.blur.toString=function(){return this()},t.filter.shadow=function(e,n,r,i,a){return null==a&&(null==i?(a=r,r=4,i="#000"):(a=i,i=r,r=4)),null==r&&(r=4),null==a&&(a=1),null==e&&(e=0,n=2),null==n&&(n=e),i=t.color(i),t.format(' ',{color:i,dx:e,dy:n,blur:r,opacity:a})},t.filter.shadow.toString=function(){return this()},t.filter.grayscale=function(e){return null==e&&(e=1),t.format(' ',{a:.2126+.7874*(1-e),b:.7152-.7152*(1-e),c:.0722-.0722*(1-e),d:.2126-.2126*(1-e),e:.7152+.2848*(1-e),f:.0722-.0722*(1-e),g:.2126-.2126*(1-e),h:.0722+.9278*(1-e)})},t.filter.grayscale.toString=function(){return this()},t.filter.sepia=function(e){return null==e&&(e=1),t.format(' ',{a:.393+.607*(1-e),b:.769-.769*(1-e),c:.189-.189*(1-e),d:.349-.349*(1-e),e:.686+.314*(1-e),f:.168-.168*(1-e),g:.272-.272*(1-e),h:.534-.534*(1-e),i:.131+.869*(1-e)})},t.filter.sepia.toString=function(){return this()},t.filter.saturate=function(e){return null==e&&(e=1),t.format(' ',{amount:1-e})},t.filter.saturate.toString=function(){return this()},t.filter.hueRotate=function(e){return e=e||0,t.format(' ',{angle:e})},t.filter.hueRotate.toString=function(){return this()},t.filter.invert=function(e){return null==e&&(e=1),t.format(' ',{amount:e,amount2:1-e})},t.filter.invert.toString=function(){return this()},t.filter.brightness=function(e){return null==e&&(e=1),t.format(' ',{amount:e})},t.filter.brightness.toString=function(){return this()},t.filter.contrast=function(e){return null==e&&(e=1),t.format(' ',{amount:e,amount2:.5-e/2})},t.filter.contrast.toString=function(){return this()}})),i.plugin((function(t,e,n,r,i){var a=t._.box,o=t.is,s=/^[^a-z]*([tbmlrc])/i,u=function(){return"T"+this.dx+","+this.dy};e.prototype.getAlign=function(t,e){null==e&&o(t,"string")&&(e=t,t=null);var n=(t=t||this.paper).getBBox?t.getBBox():a(t),r=this.getBBox(),i={};switch(e=(e=e&&e.match(s))?e[1].toLowerCase():"c"){case"t":i.dx=0,i.dy=n.y-r.y;break;case"b":i.dx=0,i.dy=n.y2-r.y2;break;case"m":i.dx=0,i.dy=n.cy-r.cy;break;case"l":i.dx=n.x-r.x,i.dy=0;break;case"r":i.dx=n.x2-r.x2,i.dy=0;break;default:i.dx=n.cx-r.cx,i.dy=0}return i.toString=u,i},e.prototype.align=function(t,e){return this.transform("..."+this.getAlign(t,e))}})),i.plugin((function(t,e,n,i,a){var o=e.prototype,s=t.is,u=String,l="hasOwnProperty";function c(t,e,n){return function(r){var i=r.slice(t,e);return 1==i.length&&(i=i[0]),n?n(i):i}}var h=function(t,e,n,i){"function"!=typeof n||n.length||(i=n,n=r.linear),this.attr=t,this.dur=e,n&&(this.easing=n),i&&(this.callback=i)};t._.Animation=h,t.animation=function(t,e,n,r){return new h(t,e,n,r)},o.inAnim=function(){var t=this,e=[];for(var n in t.anims)t.anims[l](n)&&function(t){e.push({anim:new h(t._attrs,t.dur,t.easing,t._callback),mina:t,curStatus:t.status(),status:function(e){return t.status(e)},stop:function(){t.stop()}})}(t.anims[n]);return e},t.animate=function(t,e,n,i,a,o){"function"!=typeof a||a.length||(o=a,a=r.linear);var s=r.time(),u=r(t,e,s,s+i,r.time,n,a);return o&&eve.once("mina.finish."+u.id,o),u},o.stop=function(){for(var t=this.inAnim(),e=0,n=t.length;e= 1) {\n delete animations[i];\n a.s = 1;\n len--;\n (function (a) {\n setTimeout(function () {\n eve(\"mina.finish.\" + a.id, a);\n });\n })(a);\n }\n a.update();\n }\n }\n requestID = len ? requestAnimFrame(frame) : false;\n },\n /*\\\n * mina\n [ method ]\n **\n * Generic animation of numbers\n **\n - a (number) start _slave_ number\n - A (number) end _slave_ number\n - b (number) start _master_ number (start time in general case)\n - B (number) end _master_ number (end time in general case)\n - get (function) getter of _master_ number (see @mina.time)\n - set (function) setter of _slave_ number\n - easing (function) #optional easing function, default is @mina.linear\n = (object) animation descriptor\n o {\n o id (string) animation id,\n o start (number) start _slave_ number,\n o end (number) end _slave_ number,\n o b (number) start _master_ number,\n o s (number) animation status (0..1),\n o dur (number) animation duration,\n o spd (number) animation speed,\n o get (function) getter of _master_ number (see @mina.time),\n o set (function) setter of _slave_ number,\n o easing (function) easing function, default is @mina.linear,\n o status (function) status getter/setter,\n o speed (function) speed getter/setter,\n o duration (function) duration getter/setter,\n o stop (function) animation stopper\n o pause (function) pauses the animation\n o resume (function) resumes the animation\n o update (function) calles setter with the right value of the animation\n o }\n \\*/\n mina = function mina(a, A, b, B, get, set, easing) {\n var anim = {\n id: ID(),\n start: a,\n end: A,\n b: b,\n s: 0,\n dur: B - b,\n spd: 1,\n get: get,\n set: set,\n easing: easing || mina.linear,\n status: sta,\n speed: speed,\n duration: duration,\n stop: stopit,\n pause: pause,\n resume: resume,\n update: update\n };\n animations[anim.id] = anim;\n var len = 0,\n i;\n for (i in animations) {\n if (animations.hasOwnProperty(i)) {\n len++;\n if (len == 2) {\n break;\n }\n }\n }\n len == 1 && frame();\n return anim;\n };\n /*\\\n * mina.time\n [ method ]\n **\n * Returns the current time. Equivalent to:\n | function () {\n | return (new Date).getTime();\n | }\n \\*/\n mina.time = timer;\n /*\\\n * mina.getById\n [ method ]\n **\n * Returns an animation by its id\n - id (string) animation's id\n = (object) See @mina\n \\*/\n mina.getById = function (id) {\n return animations[id] || null;\n };\n\n /*\\\n * mina.linear\n [ method ]\n **\n * Default linear easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.linear = function (n) {\n return n;\n };\n /*\\\n * mina.easeout\n [ method ]\n **\n * Easeout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeout = function (n) {\n return Math.pow(n, 1.7);\n };\n /*\\\n * mina.easein\n [ method ]\n **\n * Easein easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easein = function (n) {\n return Math.pow(n, .48);\n };\n /*\\\n * mina.easeinout\n [ method ]\n **\n * Easeinout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.easeinout = function (n) {\n if (n == 1) {\n return 1;\n }\n if (n == 0) {\n return 0;\n }\n var q = .48 - n / 1.04,\n Q = Math.sqrt(.1734 + q * q),\n x = Q - q,\n X = Math.pow(Math.abs(x), 1 / 3) * (x < 0 ? -1 : 1),\n y = -Q - q,\n Y = Math.pow(Math.abs(y), 1 / 3) * (y < 0 ? -1 : 1),\n t = X + Y + .5;\n return (1 - t) * 3 * t * t + t * t * t;\n };\n /*\\\n * mina.backin\n [ method ]\n **\n * Backin easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backin = function (n) {\n if (n == 1) {\n return 1;\n }\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n };\n /*\\\n * mina.backout\n [ method ]\n **\n * Backout easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.backout = function (n) {\n if (n == 0) {\n return 0;\n }\n n = n - 1;\n var s = 1.70158;\n return n * n * ((s + 1) * n + s) + 1;\n };\n /*\\\n * mina.elastic\n [ method ]\n **\n * Elastic easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.elastic = function (n) {\n if (n == !!n) {\n return n;\n }\n return Math.pow(2, -10 * n) * Math.sin((n - .075) * (2 * Math.PI) / .3) + 1;\n };\n /*\\\n * mina.bounce\n [ method ]\n **\n * Bounce easing\n - n (number) input 0..1\n = (number) output 0..1\n \\*/\n mina.bounce = function (n) {\n var s = 7.5625,\n p = 2.75,\n l;\n if (n < 1 / p) {\n l = s * n * n;\n } else {\n if (n < 2 / p) {\n n -= 1.5 / p;\n l = s * n * n + .75;\n } else {\n if (n < 2.5 / p) {\n n -= 2.25 / p;\n l = s * n * n + .9375;\n } else {\n n -= 2.625 / p;\n l = s * n * n + .984375;\n }\n }\n }\n return l;\n };\n window.mina = mina;\n return mina;\n}(typeof eve == \"undefined\" ? function () {} : eve);\n\n// Copyright (c) 2013 - 2017 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nvar Snap = function (root) {\n Snap.version = \"0.5.1\";\n /*\\\n * Snap\n [ method ]\n **\n * Creates a drawing surface or wraps existing SVG element.\n **\n - width (number|string) width of surface\n - height (number|string) height of surface\n * or\n - DOM (SVGElement) element to be wrapped into Snap structure\n * or\n - array (array) array of elements (will return set of elements)\n * or\n - query (string) CSS query selector\n = (object) @Element\n \\*/\n function Snap(w, h) {\n if (w) {\n if (w.nodeType) {\n return wrap(w);\n }\n if (is(w, \"array\") && Snap.set) {\n return Snap.set.apply(Snap, w);\n }\n if (w instanceof Element) {\n return w;\n }\n if (h == null) {\n try {\n w = glob.doc.querySelector(String(w));\n return wrap(w);\n } catch (e) {\n return null;\n }\n }\n }\n w = w == null ? \"100%\" : w;\n h = h == null ? \"100%\" : h;\n return new Paper(w, h);\n }\n Snap.toString = function () {\n return \"Snap v\" + this.version;\n };\n Snap._ = {};\n var glob = {\n win: root.window,\n doc: root.window.document\n };\n Snap._.glob = glob;\n var has = \"hasOwnProperty\",\n Str = String,\n toFloat = parseFloat,\n toInt = parseInt,\n math = Math,\n mmax = math.max,\n mmin = math.min,\n abs = math.abs,\n pow = math.pow,\n PI = math.PI,\n round = math.round,\n E = \"\",\n S = \" \",\n objectToString = Object.prototype.toString,\n ISURL = /^url\\(['\"]?([^\\)]+?)['\"]?\\)$/i,\n colourRegExp = /^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,\n bezierrg = /^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,\n separator = Snap._.separator = /[,\\s]+/,\n whitespace = /[\\s]/g,\n commaSpaces = /[\\s]*,[\\s]*/,\n hsrg = {\n hs: 1,\n rg: 1\n },\n pathCommand = /([a-z])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n tCommand = /([rstm])[\\s,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\s]*,?[\\s]*/ig,\n idgen = 0,\n idprefix = \"S\" + (+new Date()).toString(36),\n ID = function ID(el) {\n return (el && el.type ? el.type : E) + idprefix + (idgen++).toString(36);\n },\n xlink = \"http://www.w3.org/1999/xlink\",\n xmlns = \"http://www.w3.org/2000/svg\",\n hub = {},\n /*\\\n * Snap.url\n [ method ]\n **\n * Wraps path into `\"url('')\"`.\n - value (string) path\n = (string) wrapped path\n \\*/\n URL = Snap.url = function (url) {\n return \"url('#\" + url + \"')\";\n };\n function $(el, attr) {\n if (attr) {\n if (el == \"#text\") {\n el = glob.doc.createTextNode(attr.text || attr[\"#text\"] || \"\");\n }\n if (el == \"#comment\") {\n el = glob.doc.createComment(attr.text || attr[\"#text\"] || \"\");\n }\n if (typeof el == \"string\") {\n el = $(el);\n }\n if (typeof attr == \"string\") {\n if (el.nodeType == 1) {\n if (attr.substring(0, 6) == \"xlink:\") {\n return el.getAttributeNS(xlink, attr.substring(6));\n }\n if (attr.substring(0, 4) == \"xml:\") {\n return el.getAttributeNS(xmlns, attr.substring(4));\n }\n return el.getAttribute(attr);\n } else if (attr == \"text\") {\n return el.nodeValue;\n } else {\n return null;\n }\n }\n if (el.nodeType == 1) {\n for (var key in attr) {\n if (attr[has](key)) {\n var val = Str(attr[key]);\n if (val) {\n if (key.substring(0, 6) == \"xlink:\") {\n el.setAttributeNS(xlink, key.substring(6), val);\n } else if (key.substring(0, 4) == \"xml:\") {\n el.setAttributeNS(xmlns, key.substring(4), val);\n } else {\n el.setAttribute(key, val);\n }\n } else {\n el.removeAttribute(key);\n }\n }\n }\n } else if (\"text\" in attr) {\n el.nodeValue = attr.text;\n }\n } else {\n el = glob.doc.createElementNS(xmlns, el);\n }\n return el;\n }\n Snap._.$ = $;\n Snap._.id = ID;\n function getAttrs(el) {\n var attrs = el.attributes,\n name,\n out = {};\n for (var i = 0; i < attrs.length; i++) {\n if (attrs[i].namespaceURI == xlink) {\n name = \"xlink:\";\n } else {\n name = \"\";\n }\n name += attrs[i].name;\n out[name] = attrs[i].textContent;\n }\n return out;\n }\n function is(o, type) {\n type = Str.prototype.toLowerCase.call(type);\n if (type == \"finite\") {\n return isFinite(o);\n }\n if (type == \"array\" && (o instanceof Array || Array.isArray && Array.isArray(o))) {\n return true;\n }\n return type == \"null\" && o === null || type == typeof o && o !== null || type == \"object\" && o === Object(o) || objectToString.call(o).slice(8, -1).toLowerCase() == type;\n }\n /*\\\n * Snap.format\n [ method ]\n **\n * Replaces construction of type `{}` to the corresponding argument\n **\n - token (string) string to format\n - json (object) object which properties are used as a replacement\n = (string) formatted string\n > Usage\n | // this draws a rectangular shape equivalent to \"M10,20h40v50h-40z\"\n | paper.path(Snap.format(\"M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z\", {\n | x: 10,\n | y: 20,\n | dim: {\n | width: 40,\n | height: 50,\n | \"negative width\": -40\n | }\n | }));\n \\*/\n Snap.format = function () {\n var tokenRegex = /\\{([^\\}]+)\\}/g,\n objNotationRegex = /(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,\n // matches .xxxxx or [\"xxxxx\"] to run over object properties\n replacer = function replacer(all, key, obj) {\n var res = obj;\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\n name = name || quotedName;\n if (res) {\n if (name in res) {\n res = res[name];\n }\n typeof res == \"function\" && isFunc && (res = res());\n }\n });\n res = (res == null || res == obj ? all : res) + \"\";\n return res;\n };\n return function (str, obj) {\n return Str(str).replace(tokenRegex, function (all, key) {\n return replacer(all, key, obj);\n });\n };\n }();\n function clone(obj) {\n if (typeof obj == \"function\" || Object(obj) !== obj) {\n return obj;\n }\n var res = new obj.constructor();\n for (var key in obj) {\n if (obj[has](key)) {\n res[key] = clone(obj[key]);\n }\n }\n return res;\n }\n Snap._.clone = clone;\n function repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) {\n if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n }\n }\n function cacher(f, scope, postprocessor) {\n function newf() {\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join(\"\\u2400\"),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n if (cache[has](args)) {\n repush(count, args);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f.apply(scope, arg);\n return postprocessor ? postprocessor(cache[args]) : cache[args];\n }\n return newf;\n }\n Snap._.cacher = cacher;\n function angle(x1, y1, x2, y2, x3, y3) {\n if (x3 == null) {\n var x = x1 - x2,\n y = y1 - y2;\n if (!x && !y) {\n return 0;\n }\n return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;\n } else {\n return angle(x1, y1, x3, y3) - angle(x2, y2, x3, y3);\n }\n }\n function rad(deg) {\n return deg % 360 * PI / 180;\n }\n function deg(rad) {\n return rad * 180 / PI % 360;\n }\n function x_y() {\n return this.x + S + this.y;\n }\n function x_y_w_h() {\n return this.x + S + this.y + S + this.width + \" \\xd7 \" + this.height;\n }\n\n /*\\\n * Snap.rad\n [ method ]\n **\n * Transform angle to radians\n - deg (number) angle in degrees\n = (number) angle in radians\n \\*/\n Snap.rad = rad;\n /*\\\n * Snap.deg\n [ method ]\n **\n * Transform angle to degrees\n - rad (number) angle in radians\n = (number) angle in degrees\n \\*/\n Snap.deg = deg;\n /*\\\n * Snap.sin\n [ method ]\n **\n * Equivalent to `Math.sin()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) sin\n \\*/\n Snap.sin = function (angle) {\n return math.sin(Snap.rad(angle));\n };\n /*\\\n * Snap.tan\n [ method ]\n **\n * Equivalent to `Math.tan()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) tan\n \\*/\n Snap.tan = function (angle) {\n return math.tan(Snap.rad(angle));\n };\n /*\\\n * Snap.cos\n [ method ]\n **\n * Equivalent to `Math.cos()` only works with degrees, not radians.\n - angle (number) angle in degrees\n = (number) cos\n \\*/\n Snap.cos = function (angle) {\n return math.cos(Snap.rad(angle));\n };\n /*\\\n * Snap.asin\n [ method ]\n **\n * Equivalent to `Math.asin()` only works with degrees, not radians.\n - num (number) value\n = (number) asin in degrees\n \\*/\n Snap.asin = function (num) {\n return Snap.deg(math.asin(num));\n };\n /*\\\n * Snap.acos\n [ method ]\n **\n * Equivalent to `Math.acos()` only works with degrees, not radians.\n - num (number) value\n = (number) acos in degrees\n \\*/\n Snap.acos = function (num) {\n return Snap.deg(math.acos(num));\n };\n /*\\\n * Snap.atan\n [ method ]\n **\n * Equivalent to `Math.atan()` only works with degrees, not radians.\n - num (number) value\n = (number) atan in degrees\n \\*/\n Snap.atan = function (num) {\n return Snap.deg(math.atan(num));\n };\n /*\\\n * Snap.atan2\n [ method ]\n **\n * Equivalent to `Math.atan2()` only works with degrees, not radians.\n - num (number) value\n = (number) atan2 in degrees\n \\*/\n Snap.atan2 = function (num) {\n return Snap.deg(math.atan2(num));\n };\n /*\\\n * Snap.angle\n [ method ]\n **\n * Returns an angle between two or three points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n - x3 (number) #optional x coord of third point\n - y3 (number) #optional y coord of third point\n = (number) angle in degrees\n \\*/\n Snap.angle = angle;\n /*\\\n * Snap.len\n [ method ]\n **\n * Returns distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n \\*/\n Snap.len = function (x1, y1, x2, y2) {\n return Math.sqrt(Snap.len2(x1, y1, x2, y2));\n };\n /*\\\n * Snap.len2\n [ method ]\n **\n * Returns squared distance between two points\n - x1 (number) x coord of first point\n - y1 (number) y coord of first point\n - x2 (number) x coord of second point\n - y2 (number) y coord of second point\n = (number) distance\n \\*/\n Snap.len2 = function (x1, y1, x2, y2) {\n return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n };\n /*\\\n * Snap.closestPoint\n [ method ]\n **\n * Returns closest point to a given one on a given path.\n - path (Element) path element\n - x (number) x coord of a point\n - y (number) y coord of a point\n = (object) in format\n {\n x (number) x coord of the point on the path\n y (number) y coord of the point on the path\n length (number) length of the path to the point\n distance (number) distance from the given point to the path\n }\n \\*/\n // Copied from http://bl.ocks.org/mbostock/8027637\n Snap.closestPoint = function (path, x, y) {\n function distance2(p) {\n var dx = p.x - x,\n dy = p.y - y;\n return dx * dx + dy * dy;\n }\n var pathNode = path.node,\n pathLength = pathNode.getTotalLength(),\n precision = pathLength / pathNode.pathSegList.numberOfItems * .125,\n best,\n bestLength,\n bestDistance = Infinity;\n\n // linear scan for coarse approximation\n for (var scan, scanLength = 0, scanDistance; scanLength <= pathLength; scanLength += precision) {\n if ((scanDistance = distance2(scan = pathNode.getPointAtLength(scanLength))) < bestDistance) {\n best = scan;\n bestLength = scanLength;\n bestDistance = scanDistance;\n }\n }\n\n // binary search for precise estimate\n precision *= .5;\n while (precision > .5) {\n var before, after, beforeLength, afterLength, beforeDistance, afterDistance;\n if ((beforeLength = bestLength - precision) >= 0 && (beforeDistance = distance2(before = pathNode.getPointAtLength(beforeLength))) < bestDistance) {\n best = before;\n bestLength = beforeLength;\n bestDistance = beforeDistance;\n } else if ((afterLength = bestLength + precision) <= pathLength && (afterDistance = distance2(after = pathNode.getPointAtLength(afterLength))) < bestDistance) {\n best = after;\n bestLength = afterLength;\n bestDistance = afterDistance;\n } else {\n precision *= .5;\n }\n }\n best = {\n x: best.x,\n y: best.y,\n length: bestLength,\n distance: Math.sqrt(bestDistance)\n };\n return best;\n };\n /*\\\n * Snap.is\n [ method ]\n **\n * Handy replacement for the `typeof` operator\n - o (…) any object or primitive\n - type (string) name of the type, e.g., `string`, `function`, `number`, etc.\n = (boolean) `true` if given value is of given type\n \\*/\n Snap.is = is;\n /*\\\n * Snap.snapTo\n [ method ]\n **\n * Snaps given value to given grid\n - values (array|number) given array of values or step of the grid\n - value (number) value to adjust\n - tolerance (number) #optional maximum distance to the target value that would trigger the snap. Default is `10`.\n = (number) adjusted value\n \\*/\n Snap.snapTo = function (values, value, tolerance) {\n tolerance = is(tolerance, \"finite\") ? tolerance : 10;\n if (is(values, \"array\")) {\n var i = values.length;\n while (i--) {\n if (abs(values[i] - value) <= tolerance) {\n return values[i];\n }\n }\n } else {\n values = +values;\n var rem = value % values;\n if (rem < tolerance) {\n return value - rem;\n }\n if (rem > values - tolerance) {\n return value - rem + values;\n }\n }\n return value;\n };\n // Colour\n /*\\\n * Snap.getRGB\n [ method ]\n **\n * Parses color string as RGB object\n - color (string) color string in one of the following formats:\n # \n # Color name (red
, green
, cornflowerblue
, etc) \n # #••• — shortened HTML color: (#000
, #fc0
, etc.) \n # #•••••• — full length HTML color: (#000000
, #bd2300
) \n # rgb(•••, •••, •••) — red, green and blue channels values: (rgb(200, 100, 0)
) \n # rgba(•••, •••, •••, •••) — also with opacity \n # rgb(•••%, •••%, •••%) — same as above, but in %: (rgb(100%, 175%, 0%)
) \n # rgba(•••%, •••%, •••%, •••%) — also with opacity \n # hsb(•••, •••, •••) — hue, saturation and brightness values: (hsb(0.5, 0.25, 1)
) \n # hsba(•••, •••, •••, •••) — also with opacity \n # hsb(•••%, •••%, •••%) — same as above, but in % \n # hsba(•••%, •••%, •••%, •••%) — also with opacity \n # hsl(•••, •••, •••) — hue, saturation and luminosity values: (hsb(0.5, 0.25, 0.5)
) \n # hsla(•••, •••, •••, •••) — also with opacity \n # hsl(•••%, •••%, •••%) — same as above, but in % \n # hsla(•••%, •••%, •••%, •••%) — also with opacity \n # \n * Note that `%` can be used any time: `rgb(20%, 255, 50%)`.\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) true if string can't be parsed\n o }\n \\*/\n Snap.getRGB = cacher(function (colour) {\n if (!colour || !!((colour = Str(colour)).indexOf(\"-\") + 1)) {\n return {\n r: -1,\n g: -1,\n b: -1,\n hex: \"none\",\n error: 1,\n toString: rgbtoString\n };\n }\n if (colour == \"none\") {\n return {\n r: -1,\n g: -1,\n b: -1,\n hex: \"none\",\n toString: rgbtoString\n };\n }\n !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == \"#\") && (colour = _toHex(colour));\n if (!colour) {\n return {\n r: -1,\n g: -1,\n b: -1,\n hex: \"none\",\n error: 1,\n toString: rgbtoString\n };\n }\n var res,\n red,\n green,\n blue,\n opacity,\n t,\n values,\n rgb = colour.match(colourRegExp);\n if (rgb) {\n if (rgb[2]) {\n blue = toInt(rgb[2].substring(5), 16);\n green = toInt(rgb[2].substring(3, 5), 16);\n red = toInt(rgb[2].substring(1, 3), 16);\n }\n if (rgb[3]) {\n blue = toInt((t = rgb[3].charAt(3)) + t, 16);\n green = toInt((t = rgb[3].charAt(2)) + t, 16);\n red = toInt((t = rgb[3].charAt(1)) + t, 16);\n }\n if (rgb[4]) {\n values = rgb[4].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red *= 2.55);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green *= 2.55);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue *= 2.55);\n rgb[1].toLowerCase().slice(0, 4) == \"rgba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n }\n if (rgb[5]) {\n values = rgb[5].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsba\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsb2rgb(red, green, blue, opacity);\n }\n if (rgb[6]) {\n values = rgb[6].split(commaSpaces);\n red = toFloat(values[0]);\n values[0].slice(-1) == \"%\" && (red /= 100);\n green = toFloat(values[1]);\n values[1].slice(-1) == \"%\" && (green /= 100);\n blue = toFloat(values[2]);\n values[2].slice(-1) == \"%\" && (blue /= 100);\n (values[0].slice(-3) == \"deg\" || values[0].slice(-1) == \"\\xb0\") && (red /= 360);\n rgb[1].toLowerCase().slice(0, 4) == \"hsla\" && (opacity = toFloat(values[3]));\n values[3] && values[3].slice(-1) == \"%\" && (opacity /= 100);\n return Snap.hsl2rgb(red, green, blue, opacity);\n }\n red = mmin(math.round(red), 255);\n green = mmin(math.round(green), 255);\n blue = mmin(math.round(blue), 255);\n opacity = mmin(mmax(opacity, 0), 1);\n rgb = {\n r: red,\n g: green,\n b: blue,\n toString: rgbtoString\n };\n rgb.hex = \"#\" + (16777216 | blue | green << 8 | red << 16).toString(16).slice(1);\n rgb.opacity = is(opacity, \"finite\") ? opacity : 1;\n return rgb;\n }\n return {\n r: -1,\n g: -1,\n b: -1,\n hex: \"none\",\n error: 1,\n toString: rgbtoString\n };\n }, Snap);\n /*\\\n * Snap.hsb\n [ method ]\n **\n * Converts HSB values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - b (number) value or brightness\n = (string) hex representation of the color\n \\*/\n Snap.hsb = cacher(function (h, s, b) {\n return Snap.hsb2rgb(h, s, b).hex;\n });\n /*\\\n * Snap.hsl\n [ method ]\n **\n * Converts HSL values to a hex representation of the color\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (string) hex representation of the color\n \\*/\n Snap.hsl = cacher(function (h, s, l) {\n return Snap.hsl2rgb(h, s, l).hex;\n });\n /*\\\n * Snap.rgb\n [ method ]\n **\n * Converts RGB values to a hex representation of the color\n - r (number) red\n - g (number) green\n - b (number) blue\n = (string) hex representation of the color\n \\*/\n Snap.rgb = cacher(function (r, g, b, o) {\n if (is(o, \"finite\")) {\n var round = math.round;\n return \"rgba(\" + [round(r), round(g), round(b), +o.toFixed(2)] + \")\";\n }\n return \"#\" + (16777216 | b | g << 8 | r << 16).toString(16).slice(1);\n });\n var _toHex = function toHex(color) {\n var i = glob.doc.getElementsByTagName(\"head\")[0] || glob.doc.getElementsByTagName(\"svg\")[0],\n red = \"rgb(255, 0, 0)\";\n _toHex = cacher(function (color) {\n if (color.toLowerCase() == \"red\") {\n return red;\n }\n i.style.color = red;\n i.style.color = color;\n var out = glob.doc.defaultView.getComputedStyle(i, E).getPropertyValue(\"color\");\n return out == red ? null : out;\n });\n return _toHex(color);\n },\n hsbtoString = function hsbtoString() {\n return \"hsb(\" + [this.h, this.s, this.b] + \")\";\n },\n hsltoString = function hsltoString() {\n return \"hsl(\" + [this.h, this.s, this.l] + \")\";\n },\n rgbtoString = function rgbtoString() {\n return this.opacity == 1 || this.opacity == null ? this.hex : \"rgba(\" + [this.r, this.g, this.b, this.opacity] + \")\";\n },\n prepareRGB = function prepareRGB(r, g, b) {\n if (g == null && is(r, \"object\") && \"r\" in r && \"g\" in r && \"b\" in r) {\n b = r.b;\n g = r.g;\n r = r.r;\n }\n if (g == null && is(r, string)) {\n var clr = Snap.getRGB(r);\n r = clr.r;\n g = clr.g;\n b = clr.b;\n }\n if (r > 1 || g > 1 || b > 1) {\n r /= 255;\n g /= 255;\n b /= 255;\n }\n return [r, g, b];\n },\n packageRGB = function packageRGB(r, g, b, o) {\n r = math.round(r * 255);\n g = math.round(g * 255);\n b = math.round(b * 255);\n var rgb = {\n r: r,\n g: g,\n b: b,\n opacity: is(o, \"finite\") ? o : 1,\n hex: Snap.rgb(r, g, b),\n toString: rgbtoString\n };\n is(o, \"finite\") && (rgb.opacity = o);\n return rgb;\n };\n /*\\\n * Snap.color\n [ method ]\n **\n * Parses the color string and returns an object featuring the color's component values\n - clr (string) color string in one of the supported formats (see @Snap.getRGB)\n = (object) Combined RGB/HSB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••,\n o error (boolean) `true` if string can't be parsed,\n o h (number) hue,\n o s (number) saturation,\n o v (number) value (brightness),\n o l (number) lightness\n o }\n \\*/\n Snap.color = function (clr) {\n var rgb;\n if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"b\" in clr) {\n rgb = Snap.hsb2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else if (is(clr, \"object\") && \"h\" in clr && \"s\" in clr && \"l\" in clr) {\n rgb = Snap.hsl2rgb(clr);\n clr.r = rgb.r;\n clr.g = rgb.g;\n clr.b = rgb.b;\n clr.opacity = 1;\n clr.hex = rgb.hex;\n } else {\n if (is(clr, \"string\")) {\n clr = Snap.getRGB(clr);\n }\n if (is(clr, \"object\") && \"r\" in clr && \"g\" in clr && \"b\" in clr && !(\"error\" in clr)) {\n rgb = Snap.rgb2hsl(clr);\n clr.h = rgb.h;\n clr.s = rgb.s;\n clr.l = rgb.l;\n rgb = Snap.rgb2hsb(clr);\n clr.v = rgb.b;\n } else {\n clr = {\n hex: \"none\"\n };\n clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;\n clr.error = 1;\n }\n }\n clr.toString = rgbtoString;\n return clr;\n };\n /*\\\n * Snap.hsb2rgb\n [ method ]\n **\n * Converts HSB values to an RGB object\n - h (number) hue\n - s (number) saturation\n - v (number) value or brightness\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n \\*/\n Snap.hsb2rgb = function (h, s, v, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"b\" in h) {\n v = h.b;\n s = h.s;\n o = h.o;\n h = h.h;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = v * s;\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = v - C;\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n };\n /*\\\n * Snap.hsl2rgb\n [ method ]\n **\n * Converts HSL values to an RGB object\n - h (number) hue\n - s (number) saturation\n - l (number) luminosity\n = (object) RGB object in the following format:\n o {\n o r (number) red,\n o g (number) green,\n o b (number) blue,\n o hex (string) color in HTML/CSS format: #••••••\n o }\n \\*/\n Snap.hsl2rgb = function (h, s, l, o) {\n if (is(h, \"object\") && \"h\" in h && \"s\" in h && \"l\" in h) {\n l = h.l;\n s = h.s;\n h = h.h;\n }\n if (h > 1 || s > 1 || l > 1) {\n h /= 360;\n s /= 100;\n l /= 100;\n }\n h *= 360;\n var R, G, B, X, C;\n h = h % 360 / 60;\n C = 2 * s * (l < .5 ? l : 1 - l);\n X = C * (1 - abs(h % 2 - 1));\n R = G = B = l - C / 2;\n h = ~~h;\n R += [C, X, 0, 0, X, C][h];\n G += [X, C, C, X, 0, 0][h];\n B += [0, 0, X, C, C, X][h];\n return packageRGB(R, G, B, o);\n };\n /*\\\n * Snap.rgb2hsb\n [ method ]\n **\n * Converts RGB values to an HSB object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSB object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o b (number) brightness\n o }\n \\*/\n Snap.rgb2hsb = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n var H, S, V, C;\n V = mmax(r, g, b);\n C = V - mmin(r, g, b);\n H = C == 0 ? null : V == r ? (g - b) / C : V == g ? (b - r) / C + 2 : (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n S = C == 0 ? 0 : C / V;\n return {\n h: H,\n s: S,\n b: V,\n toString: hsbtoString\n };\n };\n /*\\\n * Snap.rgb2hsl\n [ method ]\n **\n * Converts RGB values to an HSL object\n - r (number) red\n - g (number) green\n - b (number) blue\n = (object) HSL object in the following format:\n o {\n o h (number) hue,\n o s (number) saturation,\n o l (number) luminosity\n o }\n \\*/\n Snap.rgb2hsl = function (r, g, b) {\n b = prepareRGB(r, g, b);\n r = b[0];\n g = b[1];\n b = b[2];\n var H, S, L, M, m, C;\n M = mmax(r, g, b);\n m = mmin(r, g, b);\n C = M - m;\n H = C == 0 ? null : M == r ? (g - b) / C : M == g ? (b - r) / C + 2 : (r - g) / C + 4;\n H = (H + 360) % 6 * 60 / 360;\n L = (M + m) / 2;\n S = C == 0 ? 0 : L < .5 ? C / (2 * L) : C / (2 - 2 * L);\n return {\n h: H,\n s: S,\n l: L,\n toString: hsltoString\n };\n };\n\n // Transformations\n /*\\\n * Snap.parsePathString\n [ method ]\n **\n * Utility method\n **\n * Parses given path string into an array of arrays of path segments\n - pathString (string|array) path string or array of segments (in the last case it is returned straight away)\n = (array) array of segments\n \\*/\n Snap.parsePathString = function (pathString) {\n if (!pathString) {\n return null;\n }\n var pth = Snap.path(pathString);\n if (pth.arr) {\n return Snap.path.clone(pth.arr);\n }\n var paramCounts = {\n a: 7,\n c: 6,\n o: 2,\n h: 1,\n l: 2,\n m: 2,\n r: 4,\n q: 4,\n s: 4,\n t: 2,\n v: 1,\n u: 3,\n z: 0\n },\n data = [];\n if (is(pathString, \"array\") && is(pathString[0], \"array\")) {\n // rough assumption\n data = Snap.path.clone(pathString);\n }\n if (!data.length) {\n Str(pathString).replace(pathCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n if (name == \"m\" && params.length > 2) {\n data.push([b].concat(params.splice(0, 2)));\n name = \"l\";\n b = b == \"m\" ? \"l\" : \"L\";\n }\n if (name == \"o\" && params.length == 1) {\n data.push([b, params[0]]);\n }\n if (name == \"r\") {\n data.push([b].concat(params));\n } else while (params.length >= paramCounts[name]) {\n data.push([b].concat(params.splice(0, paramCounts[name])));\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n data.toString = Snap.path.toString;\n pth.arr = Snap.path.clone(data);\n return data;\n };\n /*\\\n * Snap.parseTransformString\n [ method ]\n **\n * Utility method\n **\n * Parses given transform string into an array of transformations\n - TString (string|array) transform string or array of transformations (in the last case it is returned straight away)\n = (array) array of transformations\n \\*/\n var parseTransformString = Snap.parseTransformString = function (TString) {\n if (!TString) {\n return null;\n }\n var paramCounts = {\n r: 3,\n s: 4,\n t: 2,\n m: 6\n },\n data = [];\n if (is(TString, \"array\") && is(TString[0], \"array\")) {\n // rough assumption\n data = Snap.path.clone(TString);\n }\n if (!data.length) {\n Str(TString).replace(tCommand, function (a, b, c) {\n var params = [],\n name = b.toLowerCase();\n c.replace(pathValues, function (a, b) {\n b && params.push(+b);\n });\n data.push([b].concat(params));\n });\n }\n data.toString = Snap.path.toString;\n return data;\n };\n function svgTransform2string(tstr) {\n var res = [];\n tstr = tstr.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g, function (all, name, params) {\n params = params.split(/\\s*,\\s*|\\s+/);\n if (name == \"rotate\" && params.length == 1) {\n params.push(0, 0);\n }\n if (name == \"scale\") {\n if (params.length > 2) {\n params = params.slice(0, 2);\n } else if (params.length == 2) {\n params.push(0, 0);\n }\n if (params.length == 1) {\n params.push(params[0], 0, 0);\n }\n }\n if (name == \"skewX\") {\n res.push([\"m\", 1, 0, math.tan(rad(params[0])), 1, 0, 0]);\n } else if (name == \"skewY\") {\n res.push([\"m\", 1, math.tan(rad(params[0])), 0, 1, 0, 0]);\n } else {\n res.push([name.charAt(0)].concat(params));\n }\n return all;\n });\n return res;\n }\n Snap._.svgTransform2string = svgTransform2string;\n Snap._.rgTransform = /^[a-z][\\s]*-?\\.?\\d/i;\n function transform2matrix(tstr, bbox) {\n var tdata = parseTransformString(tstr),\n m = new Snap.Matrix();\n if (tdata) {\n for (var i = 0, ii = tdata.length; i < ii; i++) {\n var t = tdata[i],\n tlen = t.length,\n command = Str(t[0]).toLowerCase(),\n absolute = t[0] != command,\n inver = absolute ? m.invert() : 0,\n x1,\n y1,\n x2,\n y2,\n bb;\n if (command == \"t\" && tlen == 2) {\n m.translate(t[1], 0);\n } else if (command == \"t\" && tlen == 3) {\n if (absolute) {\n x1 = inver.x(0, 0);\n y1 = inver.y(0, 0);\n x2 = inver.x(t[1], t[2]);\n y2 = inver.y(t[1], t[2]);\n m.translate(x2 - x1, y2 - y1);\n } else {\n m.translate(t[1], t[2]);\n }\n } else if (command == \"r\") {\n if (tlen == 2) {\n bb = bb || bbox;\n m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.rotate(t[1], x2, y2);\n } else {\n m.rotate(t[1], t[2], t[3]);\n }\n }\n } else if (command == \"s\") {\n if (tlen == 2 || tlen == 3) {\n bb = bb || bbox;\n m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);\n } else if (tlen == 4) {\n if (absolute) {\n x2 = inver.x(t[2], t[3]);\n y2 = inver.y(t[2], t[3]);\n m.scale(t[1], t[1], x2, y2);\n } else {\n m.scale(t[1], t[1], t[2], t[3]);\n }\n } else if (tlen == 5) {\n if (absolute) {\n x2 = inver.x(t[3], t[4]);\n y2 = inver.y(t[3], t[4]);\n m.scale(t[1], t[2], x2, y2);\n } else {\n m.scale(t[1], t[2], t[3], t[4]);\n }\n }\n } else if (command == \"m\" && tlen == 7) {\n m.add(t[1], t[2], t[3], t[4], t[5], t[6]);\n }\n }\n }\n return m;\n }\n Snap._.transform2matrix = transform2matrix;\n Snap._unit2px = unit2px;\n var contains = glob.doc.contains || glob.doc.compareDocumentPosition ? function (a, b) {\n var adown = a.nodeType == 9 ? a.documentElement : a,\n bup = b && b.parentNode;\n return a == bup || !!(bup && bup.nodeType == 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n } : function (a, b) {\n if (b) {\n while (b) {\n b = b.parentNode;\n if (b == a) {\n return true;\n }\n }\n }\n return false;\n };\n function getSomeDefs(el) {\n var p = el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) || el.node.parentNode && wrap(el.node.parentNode) || Snap.select(\"svg\") || Snap(0, 0),\n pdefs = p.select(\"defs\"),\n defs = pdefs == null ? false : pdefs.node;\n if (!defs) {\n defs = make(\"defs\", p.node).node;\n }\n return defs;\n }\n function getSomeSVG(el) {\n return el.node.ownerSVGElement && wrap(el.node.ownerSVGElement) || Snap.select(\"svg\");\n }\n Snap._.getSomeDefs = getSomeDefs;\n Snap._.getSomeSVG = getSomeSVG;\n function unit2px(el, name, value) {\n var svg = getSomeSVG(el).node,\n out = {},\n mgr = svg.querySelector(\".svg---mgr\");\n if (!mgr) {\n mgr = $(\"rect\");\n $(mgr, {\n x: -9e9,\n y: -9e9,\n width: 10,\n height: 10,\n \"class\": \"svg---mgr\",\n fill: \"none\"\n });\n svg.appendChild(mgr);\n }\n function getW(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {\n width: val\n });\n try {\n return mgr.getBBox().width;\n } catch (e) {\n return 0;\n }\n }\n function getH(val) {\n if (val == null) {\n return E;\n }\n if (val == +val) {\n return val;\n }\n $(mgr, {\n height: val\n });\n try {\n return mgr.getBBox().height;\n } catch (e) {\n return 0;\n }\n }\n function set(nam, f) {\n if (name == null) {\n out[nam] = f(el.attr(nam) || 0);\n } else if (nam == name) {\n out = f(value == null ? el.attr(nam) || 0 : value);\n }\n }\n switch (el.type) {\n case \"rect\":\n set(\"rx\", getW);\n set(\"ry\", getH);\n case \"image\":\n set(\"width\", getW);\n set(\"height\", getH);\n case \"text\":\n set(\"x\", getW);\n set(\"y\", getH);\n break;\n case \"circle\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"r\", getW);\n break;\n case \"ellipse\":\n set(\"cx\", getW);\n set(\"cy\", getH);\n set(\"rx\", getW);\n set(\"ry\", getH);\n break;\n case \"line\":\n set(\"x1\", getW);\n set(\"x2\", getW);\n set(\"y1\", getH);\n set(\"y2\", getH);\n break;\n case \"marker\":\n set(\"refX\", getW);\n set(\"markerWidth\", getW);\n set(\"refY\", getH);\n set(\"markerHeight\", getH);\n break;\n case \"radialGradient\":\n set(\"fx\", getW);\n set(\"fy\", getH);\n break;\n case \"tspan\":\n set(\"dx\", getW);\n set(\"dy\", getH);\n break;\n default:\n set(name, getW);\n }\n svg.removeChild(mgr);\n return out;\n }\n /*\\\n * Snap.select\n [ method ]\n **\n * Wraps a DOM element specified by CSS selector as @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n \\*/\n Snap.select = function (query) {\n query = Str(query).replace(/([^\\\\]):/g, \"$1\\\\:\");\n return wrap(glob.doc.querySelector(query));\n };\n /*\\\n * Snap.selectAll\n [ method ]\n **\n * Wraps DOM elements specified by CSS selector as set or array of @Element\n - query (string) CSS selector of the element\n = (Element) the current element\n \\*/\n Snap.selectAll = function (query) {\n var nodelist = glob.doc.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n };\n function add2group(list) {\n if (!is(list, \"array\")) {\n list = Array.prototype.slice.call(arguments, 0);\n }\n var i = 0,\n j = 0,\n node = this.node;\n while (this[i]) {\n delete this[i++];\n }\n for (i = 0; i < list.length; i++) {\n if (list[i].type == \"set\") {\n list[i].forEach(function (el) {\n node.appendChild(el.node);\n });\n } else {\n node.appendChild(list[i].node);\n }\n }\n var children = node.childNodes;\n for (i = 0; i < children.length; i++) {\n this[j++] = wrap(children[i]);\n }\n return this;\n }\n // Hub garbage collector every 10s\n setInterval(function () {\n for (var key in hub) {\n if (hub[has](key)) {\n var el = hub[key],\n node = el.node;\n if (el.type != \"svg\" && !node.ownerSVGElement || el.type == \"svg\" && (!node.parentNode || \"ownerSVGElement\" in node.parentNode && !node.ownerSVGElement)) {\n delete hub[key];\n }\n }\n }\n }, 1e4);\n function Element(el) {\n if (el.snap in hub) {\n return hub[el.snap];\n }\n var svg;\n try {\n svg = el.ownerSVGElement;\n } catch (e) {}\n /*\\\n * Element.node\n [ property (object) ]\n **\n * Gives you a reference to the DOM object, so you can assign event handlers or just mess around.\n > Usage\n | // draw a circle at coordinate 10,10 with radius of 10\n | var c = paper.circle(10, 10, 10);\n | c.node.onclick = function () {\n | c.attr(\"fill\", \"red\");\n | };\n \\*/\n this.node = el;\n if (svg) {\n this.paper = new Paper(svg);\n }\n /*\\\n * Element.type\n [ property (string) ]\n **\n * SVG tag name of the given element.\n \\*/\n this.type = el.tagName || el.nodeName;\n var id = this.id = ID(this);\n this.anims = {};\n this._ = {\n transform: []\n };\n el.snap = id;\n hub[id] = this;\n if (this.type == \"g\") {\n this.add = add2group;\n }\n if (this.type in {\n g: 1,\n mask: 1,\n pattern: 1,\n symbol: 1\n }) {\n for (var method in Paper.prototype) {\n if (Paper.prototype[has](method)) {\n this[method] = Paper.prototype[method];\n }\n }\n }\n }\n /*\\\n * Element.attr\n [ method ]\n **\n * Gets or sets given attributes of the element.\n **\n - params (object) contains key-value pairs of attributes you want to set\n * or\n - param (string) name of the attribute\n = (Element) the current element\n * or\n = (string) value of attribute\n > Usage\n | el.attr({\n | fill: \"#fc0\",\n | stroke: \"#000\",\n | strokeWidth: 2, // CamelCase...\n | \"fill-opacity\": 0.5, // or dash-separated names\n | width: \"*=2\" // prefixed values\n | });\n | console.log(el.attr(\"fill\")); // #fc0\n * Prefixed values in format `\"+=10\"` supported. All four operations\n * (`+`, `-`, `*` and `/`) could be used. Optionally you can use units for `+`\n * and `-`: `\"+=2em\"`.\n \\*/\n Element.prototype.attr = function (params, value) {\n var el = this,\n node = el.node;\n if (!params) {\n if (node.nodeType != 1) {\n return {\n text: node.nodeValue\n };\n }\n var attr = node.attributes,\n out = {};\n for (var i = 0, ii = attr.length; i < ii; i++) {\n out[attr[i].nodeName] = attr[i].nodeValue;\n }\n return out;\n }\n if (is(params, \"string\")) {\n if (arguments.length > 1) {\n var json = {};\n json[params] = value;\n params = json;\n } else {\n return eve(\"snap.util.getattr.\" + params, el).firstDefined();\n }\n }\n for (var att in params) {\n if (params[has](att)) {\n eve(\"snap.util.attr.\" + att, el, params[att]);\n }\n }\n return el;\n };\n /*\\\n * Snap.parse\n [ method ]\n **\n * Parses SVG fragment and converts it into a @Fragment\n **\n - svg (string) SVG string\n = (Fragment) the @Fragment\n \\*/\n Snap.parse = function (svg) {\n var f = glob.doc.createDocumentFragment(),\n full = true,\n div = glob.doc.createElement(\"div\");\n svg = Str(svg);\n if (!svg.match(/^\\s*<\\s*svg(?:\\s|>)/)) {\n svg = \"\" + svg + \" \";\n full = false;\n }\n div.innerHTML = svg;\n svg = div.getElementsByTagName(\"svg\")[0];\n if (svg) {\n if (full) {\n f = svg;\n } else {\n while (svg.firstChild) {\n f.appendChild(svg.firstChild);\n }\n }\n }\n return new Fragment(f);\n };\n function Fragment(frag) {\n this.node = frag;\n }\n /*\\\n * Snap.fragment\n [ method ]\n **\n * Creates a DOM fragment from a given list of elements or strings\n **\n - varargs (…) SVG string\n = (Fragment) the @Fragment\n \\*/\n Snap.fragment = function () {\n var args = Array.prototype.slice.call(arguments, 0),\n f = glob.doc.createDocumentFragment();\n for (var i = 0, ii = args.length; i < ii; i++) {\n var item = args[i];\n if (item.node && item.node.nodeType) {\n f.appendChild(item.node);\n }\n if (item.nodeType) {\n f.appendChild(item);\n }\n if (typeof item == \"string\") {\n f.appendChild(Snap.parse(item).node);\n }\n }\n return new Fragment(f);\n };\n function make(name, parent) {\n var res = $(name);\n parent.appendChild(res);\n var el = wrap(res);\n return el;\n }\n function Paper(w, h) {\n var res,\n desc,\n defs,\n proto = Paper.prototype;\n if (w && w.tagName && w.tagName.toLowerCase() == \"svg\") {\n if (w.snap in hub) {\n return hub[w.snap];\n }\n var doc = w.ownerDocument;\n res = new Element(w);\n desc = w.getElementsByTagName(\"desc\")[0];\n defs = w.getElementsByTagName(\"defs\")[0];\n if (!desc) {\n desc = $(\"desc\");\n desc.appendChild(doc.createTextNode(\"Created with Snap\"));\n res.node.appendChild(desc);\n }\n if (!defs) {\n defs = $(\"defs\");\n res.node.appendChild(defs);\n }\n res.defs = defs;\n for (var key in proto) {\n if (proto[has](key)) {\n res[key] = proto[key];\n }\n }\n res.paper = res.root = res;\n } else {\n res = make(\"svg\", glob.doc.body);\n $(res.node, {\n height: h,\n version: 1.1,\n width: w,\n xmlns: xmlns\n });\n }\n return res;\n }\n function wrap(dom) {\n if (!dom) {\n return dom;\n }\n if (dom instanceof Element || dom instanceof Fragment) {\n return dom;\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"svg\") {\n return new Paper(dom);\n }\n if (dom.tagName && dom.tagName.toLowerCase() == \"object\" && dom.type == \"image/svg+xml\") {\n return new Paper(dom.contentDocument.getElementsByTagName(\"svg\")[0]);\n }\n return new Element(dom);\n }\n Snap._.make = make;\n Snap._.wrap = wrap;\n /*\\\n * Paper.el\n [ method ]\n **\n * Creates an element on paper with a given name and no attributes\n **\n - name (string) tag name\n - attr (object) attributes\n = (Element) the current element\n > Usage\n | var c = paper.circle(10, 10, 10); // is the same as...\n | var c = paper.el(\"circle\").attr({\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n | // and the same as\n | var c = paper.el(\"circle\", {\n | cx: 10,\n | cy: 10,\n | r: 10\n | });\n \\*/\n Paper.prototype.el = function (name, attr) {\n var el = make(name, this.node);\n attr && el.attr(attr);\n return el;\n };\n /*\\\n * Element.children\n [ method ]\n **\n * Returns array of all the children of the element.\n = (array) array of Elements\n \\*/\n Element.prototype.children = function () {\n var out = [],\n ch = this.node.childNodes;\n for (var i = 0, ii = ch.length; i < ii; i++) {\n out[i] = Snap(ch[i]);\n }\n return out;\n };\n function jsonFiller(root, o) {\n for (var i = 0, ii = root.length; i < ii; i++) {\n var item = {\n type: root[i].type,\n attr: root[i].attr()\n },\n children = root[i].children();\n o.push(item);\n if (children.length) {\n jsonFiller(children, item.childNodes = []);\n }\n }\n }\n /*\\\n * Element.toJSON\n [ method ]\n **\n * Returns object representation of the given element and all its children.\n = (object) in format\n o {\n o type (string) this.type,\n o attr (object) attributes map,\n o childNodes (array) optional array of children in the same format\n o }\n \\*/\n Element.prototype.toJSON = function () {\n var out = [];\n jsonFiller([this], out);\n return out[0];\n };\n // default\n eve.on(\"snap.util.getattr\", function () {\n var att = eve.nt();\n att = att.substring(att.lastIndexOf(\".\") + 1);\n var css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n return this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(css);\n } else {\n return $(this.node, att);\n }\n });\n var cssAttr = {\n \"alignment-baseline\": 0,\n \"baseline-shift\": 0,\n \"clip\": 0,\n \"clip-path\": 0,\n \"clip-rule\": 0,\n \"color\": 0,\n \"color-interpolation\": 0,\n \"color-interpolation-filters\": 0,\n \"color-profile\": 0,\n \"color-rendering\": 0,\n \"cursor\": 0,\n \"direction\": 0,\n \"display\": 0,\n \"dominant-baseline\": 0,\n \"enable-background\": 0,\n \"fill\": 0,\n \"fill-opacity\": 0,\n \"fill-rule\": 0,\n \"filter\": 0,\n \"flood-color\": 0,\n \"flood-opacity\": 0,\n \"font\": 0,\n \"font-family\": 0,\n \"font-size\": 0,\n \"font-size-adjust\": 0,\n \"font-stretch\": 0,\n \"font-style\": 0,\n \"font-variant\": 0,\n \"font-weight\": 0,\n \"glyph-orientation-horizontal\": 0,\n \"glyph-orientation-vertical\": 0,\n \"image-rendering\": 0,\n \"kerning\": 0,\n \"letter-spacing\": 0,\n \"lighting-color\": 0,\n \"marker\": 0,\n \"marker-end\": 0,\n \"marker-mid\": 0,\n \"marker-start\": 0,\n \"mask\": 0,\n \"opacity\": 0,\n \"overflow\": 0,\n \"pointer-events\": 0,\n \"shape-rendering\": 0,\n \"stop-color\": 0,\n \"stop-opacity\": 0,\n \"stroke\": 0,\n \"stroke-dasharray\": 0,\n \"stroke-dashoffset\": 0,\n \"stroke-linecap\": 0,\n \"stroke-linejoin\": 0,\n \"stroke-miterlimit\": 0,\n \"stroke-opacity\": 0,\n \"stroke-width\": 0,\n \"text-anchor\": 0,\n \"text-decoration\": 0,\n \"text-rendering\": 0,\n \"unicode-bidi\": 0,\n \"visibility\": 0,\n \"word-spacing\": 0,\n \"writing-mode\": 0\n };\n eve.on(\"snap.util.attr\", function (value) {\n var att = eve.nt(),\n attr = {};\n att = att.substring(att.lastIndexOf(\".\") + 1);\n attr[att] = value;\n var style = att.replace(/-(\\w)/gi, function (all, letter) {\n return letter.toUpperCase();\n }),\n css = att.replace(/[A-Z]/g, function (letter) {\n return \"-\" + letter.toLowerCase();\n });\n if (cssAttr[has](css)) {\n this.node.style[style] = value == null ? E : value;\n } else {\n $(this.node, attr);\n }\n });\n (function (proto) {})(Paper.prototype);\n\n // simple ajax\n /*\\\n * Snap.ajax\n [ method ]\n **\n * Simple implementation of Ajax\n **\n - url (string) URL\n - postData (object|string) data for post request\n - callback (function) callback\n - scope (object) #optional scope of callback\n * or\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n = (XMLHttpRequest) the XMLHttpRequest object, just in case\n \\*/\n Snap.ajax = function (url, postData, callback, scope) {\n var req = new XMLHttpRequest(),\n id = ID();\n if (req) {\n if (is(postData, \"function\")) {\n scope = callback;\n callback = postData;\n postData = null;\n } else if (is(postData, \"object\")) {\n var pd = [];\n for (var key in postData) {\n if (postData.hasOwnProperty(key)) {\n pd.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(postData[key]));\n }\n }\n postData = pd.join(\"&\");\n }\n req.open(postData ? \"POST\" : \"GET\", url, true);\n if (postData) {\n req.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n req.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n }\n if (callback) {\n eve.once(\"snap.ajax.\" + id + \".0\", callback);\n eve.once(\"snap.ajax.\" + id + \".200\", callback);\n eve.once(\"snap.ajax.\" + id + \".304\", callback);\n }\n req.onreadystatechange = function () {\n if (req.readyState != 4) return;\n eve(\"snap.ajax.\" + id + \".\" + req.status, scope, req);\n };\n if (req.readyState == 4) {\n return req;\n }\n req.send(postData);\n return req;\n }\n };\n /*\\\n * Snap.load\n [ method ]\n **\n * Loads external SVG file as a @Fragment (see @Snap.ajax for more advanced AJAX)\n **\n - url (string) URL\n - callback (function) callback\n - scope (object) #optional scope of callback\n \\*/\n Snap.load = function (url, callback, scope) {\n Snap.ajax(url, function (req) {\n var f = Snap.parse(req.responseText);\n scope ? callback.call(scope, f) : callback(f);\n });\n };\n var getOffset = function getOffset(elem) {\n var box = elem.getBoundingClientRect(),\n doc = elem.ownerDocument,\n body = doc.body,\n docElem = doc.documentElement,\n clientTop = docElem.clientTop || body.clientTop || 0,\n clientLeft = docElem.clientLeft || body.clientLeft || 0,\n top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop) - clientTop,\n left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft;\n return {\n y: top,\n x: left\n };\n };\n /*\\\n * Snap.getElementByPoint\n [ method ]\n **\n * Returns you topmost element under given point.\n **\n = (object) Snap element object\n - x (number) x coordinate from the top left corner of the window\n - y (number) y coordinate from the top left corner of the window\n > Usage\n | Snap.getElementByPoint(mouseX, mouseY).attr({stroke: \"#f00\"});\n \\*/\n Snap.getElementByPoint = function (x, y) {\n var paper = this,\n svg = paper.canvas,\n target = glob.doc.elementFromPoint(x, y);\n if (glob.win.opera && target.tagName == \"svg\") {\n var so = getOffset(target),\n sr = target.createSVGRect();\n sr.x = x - so.x;\n sr.y = y - so.y;\n sr.width = sr.height = 1;\n var hits = target.getIntersectionList(sr, null);\n if (hits.length) {\n target = hits[hits.length - 1];\n }\n }\n if (!target) {\n return null;\n }\n return wrap(target);\n };\n /*\\\n * Snap.plugin\n [ method ]\n **\n * Let you write plugins. You pass in a function with five arguments, like this:\n | Snap.plugin(function (Snap, Element, Paper, global, Fragment) {\n | Snap.newmethod = function () {};\n | Element.prototype.newmethod = function () {};\n | Paper.prototype.newmethod = function () {};\n | });\n * Inside the function you have access to all main objects (and their\n * prototypes). This allow you to extend anything you want.\n **\n - f (function) your plugin body\n \\*/\n Snap.plugin = function (f) {\n f(Snap, Element, Paper, glob, Fragment);\n };\n glob.win.Snap = Snap;\n return Snap;\n}(window || this);\n\n// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nSnap.plugin(function (Snap, Element, Paper, glob, Fragment) {\n var elproto = Element.prototype,\n is = Snap.is,\n Str = String,\n unit2px = Snap._unit2px,\n $ = Snap._.$,\n make = Snap._.make,\n getSomeDefs = Snap._.getSomeDefs,\n has = \"hasOwnProperty\",\n wrap = Snap._.wrap;\n /*\\\n * Element.getBBox\n [ method ]\n **\n * Returns the bounding box descriptor for the given element\n **\n = (object) bounding box descriptor:\n o {\n o cx: (number) x of the center,\n o cy: (number) x of the center,\n o h: (number) height,\n o height: (number) height,\n o path: (string) path command for the box,\n o r0: (number) radius of a circle that fully encloses the box,\n o r1: (number) radius of the smallest circle that can be enclosed,\n o r2: (number) radius of the largest circle that can be enclosed,\n o vb: (string) box as a viewbox command,\n o w: (number) width,\n o width: (number) width,\n o x2: (number) x of the right side,\n o x: (number) x of the left side,\n o y2: (number) y of the bottom edge,\n o y: (number) y of the top edge\n o }\n \\*/\n elproto.getBBox = function (isWithoutTransform) {\n if (this.type == \"tspan\") {\n return Snap._.box(this.node.getClientRects().item(0));\n }\n if (!Snap.Matrix || !Snap.path) {\n return this.node.getBBox();\n }\n var el = this,\n m = new Snap.Matrix();\n if (el.removed) {\n return Snap._.box();\n }\n while (el.type == \"use\") {\n if (!isWithoutTransform) {\n m = m.add(el.transform().localMatrix.translate(el.attr(\"x\") || 0, el.attr(\"y\") || 0));\n }\n if (el.original) {\n el = el.original;\n } else {\n var href = el.attr(\"xlink:href\");\n el = el.original = el.node.ownerDocument.getElementById(href.substring(href.indexOf(\"#\") + 1));\n }\n }\n var _ = el._,\n pathfinder = Snap.path.get[el.type] || Snap.path.get.deflt;\n try {\n if (isWithoutTransform) {\n _.bboxwt = pathfinder ? Snap.path.getBBox(el.realPath = pathfinder(el)) : Snap._.box(el.node.getBBox());\n return Snap._.box(_.bboxwt);\n } else {\n el.realPath = pathfinder(el);\n el.matrix = el.transform().localMatrix;\n _.bbox = Snap.path.getBBox(Snap.path.map(el.realPath, m.add(el.matrix)));\n return Snap._.box(_.bbox);\n }\n } catch (e) {\n // Firefox doesn’t give you bbox of hidden element\n return Snap._.box();\n }\n };\n var propString = function propString() {\n return this.string;\n };\n function extractTransform(el, tstr) {\n if (tstr == null) {\n var doReturn = true;\n if (el.type == \"linearGradient\" || el.type == \"radialGradient\") {\n tstr = el.node.getAttribute(\"gradientTransform\");\n } else if (el.type == \"pattern\") {\n tstr = el.node.getAttribute(\"patternTransform\");\n } else {\n tstr = el.node.getAttribute(\"transform\");\n }\n if (!tstr) {\n return new Snap.Matrix();\n }\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n if (!Snap._.rgTransform.test(tstr)) {\n tstr = Snap._.svgTransform2string(tstr);\n } else {\n tstr = Str(tstr).replace(/\\.{3}|\\u2026/g, el._.transform || \"\");\n }\n if (is(tstr, \"array\")) {\n tstr = Snap.path ? Snap.path.toString.call(tstr) : Str(tstr);\n }\n el._.transform = tstr;\n }\n var m = Snap._.transform2matrix(tstr, el.getBBox(1));\n if (doReturn) {\n return m;\n } else {\n el.matrix = m;\n }\n }\n /*\\\n * Element.transform\n [ method ]\n **\n * Gets or sets transformation of the element\n **\n - tstr (string) transform string in Snap or SVG format\n = (Element) the current element\n * or\n = (object) transformation descriptor:\n o {\n o string (string) transform string,\n o globalMatrix (Matrix) matrix of all transformations applied to element or its parents,\n o localMatrix (Matrix) matrix of transformations applied only to the element,\n o diffMatrix (Matrix) matrix of difference between global and local transformations,\n o global (string) global transformation as string,\n o local (string) local transformation as string,\n o toString (function) returns `string` property\n o }\n \\*/\n elproto.transform = function (tstr) {\n var _ = this._;\n if (tstr == null) {\n var papa = this,\n global = new Snap.Matrix(this.node.getCTM()),\n local = extractTransform(this),\n ms = [local],\n m = new Snap.Matrix(),\n i,\n localString = local.toTransformString(),\n string = Str(local) == Str(this.matrix) ? Str(_.transform) : localString;\n while (papa.type != \"svg\" && (papa = papa.parent())) {\n ms.push(extractTransform(papa));\n }\n i = ms.length;\n while (i--) {\n m.add(ms[i]);\n }\n return {\n string: string,\n globalMatrix: global,\n totalMatrix: m,\n localMatrix: local,\n diffMatrix: global.clone().add(local.invert()),\n global: global.toTransformString(),\n total: m.toTransformString(),\n local: localString,\n toString: propString\n };\n }\n if (tstr instanceof Snap.Matrix) {\n this.matrix = tstr;\n this._.transform = tstr.toTransformString();\n } else {\n extractTransform(this, tstr);\n }\n if (this.node) {\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\") {\n $(this.node, {\n gradientTransform: this.matrix\n });\n } else if (this.type == \"pattern\") {\n $(this.node, {\n patternTransform: this.matrix\n });\n } else {\n $(this.node, {\n transform: this.matrix\n });\n }\n }\n return this;\n };\n /*\\\n * Element.parent\n [ method ]\n **\n * Returns the element's parent\n **\n = (Element) the parent element\n \\*/\n elproto.parent = function () {\n return wrap(this.node.parentNode);\n };\n /*\\\n * Element.append\n [ method ]\n **\n * Appends the given element to current one\n **\n - el (Element|Set) element to append\n = (Element) the parent element\n \\*/\n /*\\\n * Element.add\n [ method ]\n **\n * See @Element.append\n \\*/\n elproto.append = elproto.add = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n it.add(el);\n });\n return this;\n }\n el = wrap(el);\n this.node.appendChild(el.node);\n el.paper = this.paper;\n }\n return this;\n };\n /*\\\n * Element.appendTo\n [ method ]\n **\n * Appends the current element to the given one\n **\n - el (Element) parent element to append to\n = (Element) the child element\n \\*/\n elproto.appendTo = function (el) {\n if (el) {\n el = wrap(el);\n el.append(this);\n }\n return this;\n };\n /*\\\n * Element.prepend\n [ method ]\n **\n * Prepends the given element to the current one\n **\n - el (Element) element to prepend\n = (Element) the parent element\n \\*/\n elproto.prepend = function (el) {\n if (el) {\n if (el.type == \"set\") {\n var it = this,\n first;\n el.forEach(function (el) {\n if (first) {\n first.after(el);\n } else {\n it.prepend(el);\n }\n first = el;\n });\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.insertBefore(el.node, this.node.firstChild);\n this.add && this.add();\n el.paper = this.paper;\n this.parent() && this.parent().add();\n parent && parent.add();\n }\n return this;\n };\n /*\\\n * Element.prependTo\n [ method ]\n **\n * Prepends the current element to the given one\n **\n - el (Element) parent element to prepend to\n = (Element) the child element\n \\*/\n elproto.prependTo = function (el) {\n el = wrap(el);\n el.prepend(this);\n return this;\n };\n /*\\\n * Element.before\n [ method ]\n **\n * Inserts given element before the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.before = function (el) {\n if (el.type == \"set\") {\n var it = this;\n el.forEach(function (el) {\n var parent = el.parent();\n it.node.parentNode.insertBefore(el.node, it.node);\n parent && parent.add();\n });\n this.parent().add();\n return this;\n }\n el = wrap(el);\n var parent = el.parent();\n this.node.parentNode.insertBefore(el.node, this.node);\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.after\n [ method ]\n **\n * Inserts given element after the current one\n **\n - el (Element) element to insert\n = (Element) the parent element\n \\*/\n elproto.after = function (el) {\n el = wrap(el);\n var parent = el.parent();\n if (this.node.nextSibling) {\n this.node.parentNode.insertBefore(el.node, this.node.nextSibling);\n } else {\n this.node.parentNode.appendChild(el.node);\n }\n this.parent() && this.parent().add();\n parent && parent.add();\n el.paper = this.paper;\n return this;\n };\n /*\\\n * Element.insertBefore\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertBefore = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.insertAfter\n [ method ]\n **\n * Inserts the element after the given one\n **\n - el (Element) element next to whom insert to\n = (Element) the parent element\n \\*/\n elproto.insertAfter = function (el) {\n el = wrap(el);\n var parent = this.parent();\n el.node.parentNode.insertBefore(this.node, el.node.nextSibling);\n this.paper = el.paper;\n parent && parent.add();\n el.parent() && el.parent().add();\n return this;\n };\n /*\\\n * Element.remove\n [ method ]\n **\n * Removes element from the DOM\n = (Element) the detached element\n \\*/\n elproto.remove = function () {\n var parent = this.parent();\n this.node.parentNode && this.node.parentNode.removeChild(this.node);\n delete this.paper;\n this.removed = true;\n parent && parent.add();\n return this;\n };\n /*\\\n * Element.select\n [ method ]\n **\n * Gathers the nested @Element matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Element) result of query selection\n \\*/\n elproto.select = function (query) {\n return wrap(this.node.querySelector(query));\n };\n /*\\\n * Element.selectAll\n [ method ]\n **\n * Gathers nested @Element objects matching the given set of CSS selectors\n **\n - query (string) CSS selector\n = (Set|array) result of query selection\n \\*/\n elproto.selectAll = function (query) {\n var nodelist = this.node.querySelectorAll(query),\n set = (Snap.set || Array)();\n for (var i = 0; i < nodelist.length; i++) {\n set.push(wrap(nodelist[i]));\n }\n return set;\n };\n /*\\\n * Element.asPX\n [ method ]\n **\n * Returns given attribute of the element as a `px` value (not %, em, etc.)\n **\n - attr (string) attribute name\n - value (string) #optional attribute value\n = (Element) result of query selection\n \\*/\n elproto.asPX = function (attr, value) {\n if (value == null) {\n value = this.attr(attr);\n }\n return +unit2px(this, attr, value);\n };\n // SIERRA Element.use(): I suggest adding a note about how to access the original element the returned instantiates. It's a part of SVG with which ordinary web developers may be least familiar.\n /*\\\n * Element.use\n [ method ]\n **\n * Creates a `` element linked to the current element\n **\n = (Element) the `` element\n \\*/\n elproto.use = function () {\n var use,\n id = this.node.id;\n if (!id) {\n id = this.id;\n $(this.node, {\n id: id\n });\n }\n if (this.type == \"linearGradient\" || this.type == \"radialGradient\" || this.type == \"pattern\") {\n use = make(this.type, this.node.parentNode);\n } else {\n use = make(\"use\", this.node.parentNode);\n }\n $(use.node, {\n \"xlink:href\": \"#\" + id\n });\n use.original = this;\n return use;\n };\n function fixids(el) {\n var els = el.selectAll(\"*\"),\n it,\n url = /^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,\n ids = [],\n uses = {};\n function urltest(it, name) {\n var val = $(it.node, name);\n val = val && val.match(url);\n val = val && val[2];\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n var attr = {};\n attr[name] = Snap.url(id);\n $(it.node, attr);\n });\n }\n }\n function linktest(it) {\n var val = $(it.node, \"xlink:href\");\n if (val && val.charAt() == \"#\") {\n val = val.substring(1);\n } else {\n return;\n }\n if (val) {\n uses[val] = (uses[val] || []).concat(function (id) {\n it.attr(\"xlink:href\", \"#\" + id);\n });\n }\n }\n for (var i = 0, ii = els.length; i < ii; i++) {\n it = els[i];\n urltest(it, \"fill\");\n urltest(it, \"stroke\");\n urltest(it, \"filter\");\n urltest(it, \"mask\");\n urltest(it, \"clip-path\");\n linktest(it);\n var oldid = $(it.node, \"id\");\n if (oldid) {\n $(it.node, {\n id: it.id\n });\n ids.push({\n old: oldid,\n id: it.id\n });\n }\n }\n for (i = 0, ii = ids.length; i < ii; i++) {\n var fs = uses[ids[i].old];\n if (fs) {\n for (var j = 0, jj = fs.length; j < jj; j++) {\n fs[j](ids[i].id);\n }\n }\n }\n }\n /*\\\n * Element.clone\n [ method ]\n **\n * Creates a clone of the element and inserts it after the element\n **\n = (Element) the clone\n \\*/\n elproto.clone = function () {\n var clone = wrap(this.node.cloneNode(true));\n if ($(clone.node, \"id\")) {\n $(clone.node, {\n id: clone.id\n });\n }\n fixids(clone);\n clone.insertAfter(this);\n return clone;\n };\n /*\\\n * Element.toDefs\n [ method ]\n **\n * Moves element to the shared `